Foxtable(狐表)用户栏目专家坐堂 → sql BACKUP DATABASE可以备份与RESTORE DATABASE 恢复本地sql数据库文件,那么是否可以代码备份与恢复远程服务器数据库文件到本地sql数据库呢?


  共有4759人关注过本帖树形打印复制链接

主题:sql BACKUP DATABASE可以备份与RESTORE DATABASE 恢复本地sql数据库文件,那么是否可以代码备份与恢复远程服务器数据库文件到本地sql数据库呢?

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
sql BACKUP DATABASE可以备份与RESTORE DATABASE 恢复本地sql数据库文件,那么是否可以代码备份与恢复远程服务器数据库文件到本地sql数据库呢?  发帖心情 Post By:2021/5/16 0:42:00 [显示全部帖子]

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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(cnsjroom)sql BACKUP DATABASE可以备份与RE...  发帖心情 Post By:2021/5/16 13:55:00 [显示全部帖子]

要远程数据库可以备份到本地。 
本地数据库也可以备份到远程。

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




-- 创建网络映射(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

 回到顶部