您的位置:首页 > 数据库

SQL Server 2005异地备份

2008-07-21 14:42 225 查看
前几天做了数据库镜像,现在也要来做做数据库的备份。本方案采用备份至本地然后copy到文件服务器的方法。

SQL server 2005打了sp2的补丁后好像存储过程xp_cmdshell是不能直接用的

显示高级选项(仅需执行一次)

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 z: \\192.168.1.2\D$\db_backup "123456" /user:fileserver\administrator'

exec master..xp_cmdshell @string

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

备份数据库至本地

declare @date datetime

set @date =
GetDate()

declare @str nvarchar(100)

set @str =
'd:\mydb'+
convert(nvarchar(12), @date, 112)
+'.bak'

backup
database mydb to
disk=@str with
init

With init为覆盖同名文件(本例设计为1天执行一次,不会出现覆盖的情况)。

拷贝到文件服务器

declare @str1 nvarchar(100)

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

exec master..xp_cmdshell @str1

删除映射以及本地备份

exec master..xp_cmdshell
'net use z: /delete'

declare @str2 nvarchar(100)

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

exec master..xp_cmdshell @str2

7关闭允许执行cmdshell

EXEC
sp_configure
'xp_cmdshell', 0

GO

RECONFIGURE

GO

建立sql server 作业执行步骤2-7,成功备份!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: