SQLServer 数据库 远程备份

--•显示高级选项(仅需执行一次)
EXEC sp_configure 'show advanced options', 1

GO

RECONFIGURE

GO

--•允许执行xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1

GO

RECONFIGURE

GO

--•添加映射驱动器
declare @string nvarchar(200)

set @string = 'net use m: \\200.31.154.47\mis_backup "helloMIS555" /user:cfets-zfj60i4jl\LocalAdmin'

exec master..xp_cmdshell @string

--其中192.168.1.2为文件服务器的地址,db_backup为该服务器的共享文件夹,administrator 123456 分别为共享时设置的用户名密码。

--•备份数据库至本地
declare @date datetime

set @date = GetDate()

declare @str nvarchar(100)

set @str = 'E:\DatabaseBackup\ManagementInformation_backup_'+ convert(nvarchar(12), @date, 112) +'.bak'

backup database ManagementInformation to disk=@str WITH init

declare @strh nvarchar(100)

set @strh = 'E:\DatabaseBackup\Portal_backup_'+ convert(nvarchar(12), @date, 112) +'.bak'

backup database ManagementInformation to disk=@strh WITH init
--
--
--With init为覆盖同名文件(本例设计为1天执行一次,不会出现覆盖的情况)。
--
--•拷贝到文件服务器
declare @str1 nvarchar(100)

set @str1 = 'copy '+ @str +' m:'

exec master..xp_cmdshell @str1

set @str1 = 'copy '+ @strh +' m:'

exec master..xp_cmdshell @str1

declare @datecount int

set @datecount=1


declare @delstr nvarchar(100)

declare @deldate datetime

set @deldate=dateadd(dd,-30,getdate())

while @datecount<8

Begin

set @deldate=dateadd(dd,-1,@deldate)

Set @delstr='del m:\ManagementInformation_backup_'+ convert(nvarchar(12),@deldate, 112) +'.bak'

exec master..xp_cmdshell @delstr

Set @delstr='del m:\Portal_backup_'+ convert(nvarchar(12), @deldate, 112) +'.bak'

exec master..xp_cmdshell @delstr

set @datecount=@datecount+1
End

--•删除映射以及本地备份
exec master..xp_cmdshell 'net use m: /delete'

declare @str2 nvarchar(100)

set @str2 = 'del '+@str+''

exec master..xp_cmdshell @str2

set @str2 = 'del '+@strh+''

exec master..xp_cmdshell @str2

--7关闭允许执行cmdshell

EXEC sp_configure 'xp_cmdshell', 0

GO

RECONFIGURE

GO

 

转载于:https://www.cnblogs.com/icerainsoft/archive/2013/06/03/3115889.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值