以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  sql BACKUP DATABASE可以备份与RESTORE DATABASE 恢复本地sql数据库文件,那么是否可以代码备份与恢复远程服务器数据库文件到本地sql数据库呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=165531)

--  作者:cnsjroom
--  发布时间:2021/5/16 0:42:00
--  sql BACKUP DATABASE可以备份与RESTORE DATABASE 恢复本地sql数据库文件,那么是否可以代码备份与恢复远程服务器数据库文件到本地sql数据库呢?
sql  BACKUP DATABASE可以备份与RESTORE DATABASE 恢复本地sql数据库文件,那么是否可以代码备份与恢复远程服务器数据库文件到本地sql数据库呢?

备份本地SQL数据库数据:
Dim mc As String = "党建"
Dim bf As String = "D:\\bak\\"& mc & format(Date.now,"yyyyMMddHHmmss") & ".bak"
Dim Result As DialogResult
Result = MessageBox.Show("是否本机上的数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    Dim cmd As New SQL Command
    cmd.Connection Name = "党建"
    cmd.CommandText = "use master;BACKUP DATABASE " & mc & "  TO DISK = \'" & bf & "\'  With FORMAT,CHECKSUM;"
    cmd.ExecuteNonQuery()
MessageBox.Show("备份完毕!")
End If

从本地备份文件恢复SQL数据库数据:
Dim dlg As New openFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "备份文件|*.bak" \'设置筛选器
Dim mc As String = "党建"
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim cmd As New SQL Command
    cmd.Connection Name = "党建"
    cmd.Comma ndText = "use master;RESTORE DATABASE " & mc & "  FROM DISK= \'" & dlg.FileName & "\' "
    cmd.ExecuteNonQuery()
    MessageBox.Show("恢复完毕!")
End If


[此贴子已经被作者于2021/5/16 0:42:42编辑过]

--  作者:cnsjroom
--  发布时间:2021/5/16 13:55:00
--  回复:(cnsjroom)sql BACKUP DATABASE可以备份与RE...
要远程数据库可以备份到本地。 
本地数据库也可以备份到远程。

以下内容为百度而来   怎么变通到狐表中实现呢?




-- 创建网络映射(Y是盘符;IP地址后面要带共享文件夹的名称;password是密码,双引号引起;account是远程电脑的登录名)
exec master..xp_cmdshell \'net use Y: \\\\192.168.0.69\\sqlbackup "password" /user:192.168.0.69\\account\'

-- 按日期时间做文件名(注意路径中的文件夹,需要先建立好)
declare @filename varchar(200)
select @filename = \'Y:\\DB\\\' + replace(replace(replace(CONVERT(varchar, getdate(), 120 ),\'-\',\'\'),\' \',\'-\'),\':\',\'\') + \'.bak\'

-- 执行备份(DB是要备份的数据库名称)
backup database [DB] to disk = @filename 

-- 删除网络映射(Y是盘符,同上)
exec master..xp_cmdshell \'net use Y: /delete\'

-- ABEL.CNBLOGS.COM
-- 2013-07-14

--  作者:有点蓝
--  发布时间:2021/5/16 20:37:00
--  
这也仅适用于局域网,也就是备份电脑和数据库在同一个局域网。其实就是直接访问本地服务器的共享目录而已

照抄它的sql,然后改自己的数据库名称和路径试试。

--  作者:liyanfeng
--  发布时间:2023/2/20 17:11:00
--  
use master;BACKUP DATABASE " & mc & "  TO DISK = \'" & bf & "\'  With FORMAT,CHECKSUM;
兄弟,这种代码在SQL中可以运行。为什么在代码输入(或按钮命令中)咋提示错误?