[关闭]
@xuxuzhaozhao 2018-05-14T07:12:41.000000Z 字数 1601 阅读 507

SqlServer 2012 异地备份

踩了不少坑,在Google和StackoverFlow的帮助下成功帮我们项目中实现了SqlServer的异地备份。现记录,以帮助需要之同行。

一、基本信息

文件服务器:(里面有无数据库不影响)

IP地址 192.168.33.**8
服务器系统 Windows Server 2012
服务器名称 WIN-A6O73BD***

SqlServer数据库所在服务器:

IP地址 192.168.33.**0
服务器系统 Windows Server 2012
服务器名称 WIN-L6D5JH***
SqlServer版本 SqlServer 2012

二、在文件服务器上创建共享账号及共享文件夹

  1. 控制面板->管理工具->计算机管理->用户和组->空白地方右键新建用户,dbbakuser 密码设置得复杂点;

新建windows账号

2.创建共享文件夹->本地地址为:C:\bakFolder(对应的网络路径为\\WIN-A6O73B***\bakFolder
* 设置共享文件夹的用户为dbbakuser ,并赋予读取与更改的权限;
共享文件夹
* 在高级共享中做同样的设置;
共享文件夹
* 在数据库服务器测试共享文件夹可以使用共享服务器上新建的用户dbbaker正常访问
* 在数据库服务器上打开cmd窗口,通过命令NET USE Z: \\WIN-A6O73B***\bakFolder 你设置的密码 /USER:dbbakuser
* 如果可以正常访问则继续下一步;

三、新建作业

Vue

  1. 步骤名称是必填项;
  2. 命令如下,请对应修改:
  3. sys.sp_configure @configname = 'allow_updates',
  4. @configvalue = 0;
  5. RECONFIGURE WITH OVERRIDE;
  6. GO
  7. sys.sp_configure @configname = 'show advanced options',
  8. @configvalue = 1
  9. RECONFIGURE
  10. GO
  11. sys.sp_configure @configname = 'xp_cmdshell',
  12. @configvalue = 1
  13. RECONFIGURE
  14. GO
  15. DECLARE @bakpath NVARCHAR(500)
  16. SET @bakpath = '\\WIN-A6O73B***\bakFolder\SanF***190_bakup_' +
  17. CONVERT(VARCHAR(10),GETDATE(),112) + '-' + REPLACE(CONVERT(VARCHAR(10),GETDATE(),108),':','') + '.bak'
  18. EXEC master..xp_cmdshell "NET USE Z: \\WIN-A6O73B***\bakFolder 你设置的密码 /USER:dbbakuser"
  19. BACKUP DATABASE SanFengNew TO DISK = @bakpath
  20. GO
  21. sys.sp_configure @configname = 'xp_cmdshell',
  22. @configvalue = 0
  23. RECONFIGURE
  24. GO
  25. sys.sp_configure @configname = 'show advanced options',
  26. @configvalue = 0
  27. RECONFIGURE
  28. GO
  29. sys.sp_configure @configname = 'allow_updates',
  30. @configvalue = 1;
  31. RECONFIGURE WITH OVERRIDE;
  32. GO

Vue

Vue

在新建的作业上右键点击作业执行步骤,则作业则会执行,会返回执行结果。
如果遇到问题,则可以在新建的作业上右键点击查看历史记录,里面包含详细的错误信息;
根据错误信息进行相应修改,直到作业成功执行。
查看历史记录的错误时请点开记录前的+,以便查看详细信息;

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注