sql2005数据库远程备份
2010-01-06 11:20
141 查看
--打开高级设置
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
--打开xp_cmdshell扩展存储过程
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
declare @strdirname varchar(100)
declare @RemotePathstr varchar(100)
declare @LocalPathstr varchar(100)
declare @DBName varchar(100)
set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','') --获得日期
--启动computer browser
exec master..xp_cmdshell 'net start "computer browser"'
RECONFIGURE
--添加网络驱动器映射
exec master..xp_cmdshell 'net use z: //192.168.0.3/F$/DataBase "123456" /user:192.168.0.3/administrator'
--实施备份
create table #数据库集合
( 数据库名称 varchar(50) null )
insert into #数据库集合(数据库名称) values('database1')
insert into #数据库集合(数据库名称) values('database2')
insert into #数据库集合(数据库名称) values('database3')
declare @DataBaseName varchar(255) --定义变量来保存值
declare mycursor cursor for select 数据库名称 from #数据库集合 --为所获得的数据集指定游标
open mycursor --打开游标
fetch next from mycursor into @DataBaseName --开始抓第一条数据
while(@@fetch_status=0) --如果数据集里一直有数据
begin
set @DBName=@DataBaseName
set @RemotePathstr = 'Z:/DataBak/'+@DBName+@strdirname+'.bak' --备份路径+命名+备份日期
backup database @DBName to disk=@RemotePathstr
--print @RemotePathstr
fetch next from mycursor into @DataBaseName --跳到下一条数据
end
close mycursor --关闭游标
deallocate mycursor --删除游标
drop table #数据库集合
--删除映射
exec master..xp_cmdshell 'net use z: /delete'
--关闭xp_cmdshell扩展存储过程、高级设置
EXEC sp_configure 'xp_cmdshell', 0
RECONFIGURE
EXEC sp_configure 'show advanced options', 0
RECONFIGURE
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
--打开xp_cmdshell扩展存储过程
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
declare @strdirname varchar(100)
declare @RemotePathstr varchar(100)
declare @LocalPathstr varchar(100)
declare @DBName varchar(100)
set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','') --获得日期
--启动computer browser
exec master..xp_cmdshell 'net start "computer browser"'
RECONFIGURE
--添加网络驱动器映射
exec master..xp_cmdshell 'net use z: //192.168.0.3/F$/DataBase "123456" /user:192.168.0.3/administrator'
--实施备份
create table #数据库集合
( 数据库名称 varchar(50) null )
insert into #数据库集合(数据库名称) values('database1')
insert into #数据库集合(数据库名称) values('database2')
insert into #数据库集合(数据库名称) values('database3')
declare @DataBaseName varchar(255) --定义变量来保存值
declare mycursor cursor for select 数据库名称 from #数据库集合 --为所获得的数据集指定游标
open mycursor --打开游标
fetch next from mycursor into @DataBaseName --开始抓第一条数据
while(@@fetch_status=0) --如果数据集里一直有数据
begin
set @DBName=@DataBaseName
set @RemotePathstr = 'Z:/DataBak/'+@DBName+@strdirname+'.bak' --备份路径+命名+备份日期
backup database @DBName to disk=@RemotePathstr
--print @RemotePathstr
fetch next from mycursor into @DataBaseName --跳到下一条数据
end
close mycursor --关闭游标
deallocate mycursor --删除游标
drop table #数据库集合
--删除映射
exec master..xp_cmdshell 'net use z: /delete'
--关闭xp_cmdshell扩展存储过程、高级设置
EXEC sp_configure 'xp_cmdshell', 0
RECONFIGURE
EXEC sp_configure 'show advanced options', 0
RECONFIGURE
相关文章推荐
- sql2005数据库远程备份
- 备份集中的数据库备份与现有的'Xxxx'数据库不同,SQL2005数据库还原出错(解决方法)
- 开发定期远程备份MYSQL binlog日志文件
- sqlserver远程备份到另一台电脑(局域网、定时任务)
- 关于SQLSERVER 2008远程备份(利用…
- sql server 2000 数据库远程备份
- OBackup实现Oracle远程备份
- SQLSERVER远程备份、恢复
- Linux远程备份工具Rsync使用案例
- CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期
- 用作业实现自动备份MSSQL数据库到远程服务器
- Linux系统下超强远程同步备份工具Rsync使用详解
- 异地备份SQL2005数据库
- SQL Server如何备份远程数据库到本地
- Linux 下通过脚本实现远程自动备份
- 远程多台服务器备份数据方案
- mysql 远程登录 备份
- 如何远程备份或还原数据库
- SQL2005数据库远程用DTS导数据,丢失主键
- 如何把SQL Server数据备份到远程计算机上