用作业实现自动备份MSSQL数据库到远程服务器
2010-05-16 19:52
585 查看
--此代码实现SQL数据库远程备份,放到作业里面执行可以自动备份数据库、自动删除@keepNDays天前备份。
--此代码将本地所有的用户数据库备份到共享目录“//backupServerIp/ShareName/数据库备份”下。
--并删除天前的备份文件。要备份成功必须能够对共享目录有操作权限!
sp_configure 'xp_cmdshell',1
GO
RECONFIGURE
GO
--创建映射
execmaster..xp_cmdshell 'net use T: //backupServerIp/ShareName "password" /user:uonun',NO_OUTPUT
GO
declare@keepNDays int,@s nvarchar(max),@del nvarchar(max)
select @keepNDays = 30,@backupSql='',@delSql=''
select
@backupSql=@backupSql+
char(13)+'DBCC SHRINKDATABASE(N'''+Name+''', 10, TRUNCATEONLY)'+ --收缩数据库
char(13)+'backup database '+quotename(Name)+' to disk =''T:/数据库备份/'+Name+'_'+convert(varchar(8),getdate(),112)+'.bak'' with init', --备份数据库
@delSql=@delSql+
char(13)+'exec master..xp_cmdshell '' del T:/数据库备份/'+Name+'_'+convert(varchar(8),getdate()-@keepNDays,112)+'.bak'', NO_OUTPUT' --删除过期备份
frommaster..sysdatabases wheredbid>6 order bydbid asc --不备份系统数据库(sql 2008),如果是Sql 2000,则为“dbid>6”。
exec(@del)
exec(@s)
GO
--删除映射
execmaster..xp_cmdshell 'net use T: /delete', NO_OUTPUT
GO
sp_configure 'xp_cmdshell',0
GO
RECONFIGURE
GO
--此代码将本地所有的用户数据库备份到共享目录“//backupServerIp/ShareName/数据库备份”下。
--并删除天前的备份文件。要备份成功必须能够对共享目录有操作权限!
sp_configure 'xp_cmdshell',1
GO
RECONFIGURE
GO
--创建映射
execmaster..xp_cmdshell 'net use T: //backupServerIp/ShareName "password" /user:uonun',NO_OUTPUT
GO
declare@keepNDays int,@s nvarchar(max),@del nvarchar(max)
select @keepNDays = 30,@backupSql='',@delSql=''
select
@backupSql=@backupSql+
char(13)+'DBCC SHRINKDATABASE(N'''+Name+''', 10, TRUNCATEONLY)'+ --收缩数据库
char(13)+'backup database '+quotename(Name)+' to disk =''T:/数据库备份/'+Name+'_'+convert(varchar(8),getdate(),112)+'.bak'' with init', --备份数据库
@delSql=@delSql+
char(13)+'exec master..xp_cmdshell '' del T:/数据库备份/'+Name+'_'+convert(varchar(8),getdate()-@keepNDays,112)+'.bak'', NO_OUTPUT' --删除过期备份
frommaster..sysdatabases wheredbid>6 order bydbid asc --不备份系统数据库(sql 2008),如果是Sql 2000,则为“dbid>6”。
exec(@del)
exec(@s)
GO
--删除映射
execmaster..xp_cmdshell 'net use T: /delete', NO_OUTPUT
GO
sp_configure 'xp_cmdshell',0
GO
RECONFIGURE
GO
相关文章推荐
- 用作业实现自动备份MSSQL数据库到远程服务器
- windows 下mysql自动备份数据库 并备份入远程服务器
- linux自动备份文件 并上传到远程服务器 脚本实现
- 双服务器同步方案及实施办法,用最低成本实现灾难恢复,数据库远程备份
- 数据库维护计划中出现错误,数据库无法自动备份。 错误提示:作业失败。所有者(XXX\administrator用户拥有DB维护计划“数据库备份”作业)没有服务器访问权限。
- [原创]大数据库远程自动备份的实现方法
- 关于mssql数据库自动备份-压缩-tftp上传的实现
- 自动备份数据库并通过bat 实现自动上传到ftp服务器
- 数据库定期自动备份到远程服务器
- 亲爱的mssql码农们,看看利用sp_addlinkedserver实现远程数据库链接
- mysql实现自动远程备份一办法
- Navicat for MySQL使用手记(下)--实现自动备份数据库
- 在SQL Server 2005数据库中实现自动备份
- Linux中MongoDB如何实现远程自动备份详解
- 条码服务器数据库备份计划与实现
- MS SQL2000 数据库远程自动备份技术
- 使用SQL Server维护计划实现数据库定时自动备份
- 实现 win2003 下 mysql 数据库每天自动备份
- powershell实现数据库的自动备份
- 数据库--sql作业,执行自动备份的存储过程