首页 > 开发 > 综合 > 正文

SQL远程备份

2024-07-21 02:48:51
字体:
来源:转载
供稿:网友
SQL远程备份set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: dcrenl-- Create date: 2013-9-5 9:54:46-- Description: WEB服务器远程备份数据库,--此方法需要打开WEB服务器的共享功能.--验证方法同一局域网其它机器里在运行里输入 //IP/C$ 要求输入用户名和密码,如果可以访问此方法有效----异地备份还有很多种方法--1.将数据库备份完之后在数据库服务上创建一个库,添加表,创建一个Image类型字段,--然后使用sp_textcopy把备份文件写入数据库,再从WEB服务器将备份文件读取出来,不过此方法读取出来的备份文件有可能会损坏--2.在WEB服务器安装SQL Server 使用SQLDMO(Interop.SQLDMO.dll)或--Microsoft.SqlServer.ConnectionInfo.dll 、Microsoft.SqlServer.Management.Sdk.Sfc.dll--(以上两个DLL文件位置:PRogram Files/Microsoft SQLServer/100/SDK/Assemblies)--生成数据库表、存储过程和函数等脚本,然后在WEB服务上的SQL Server上创建数据库,--使用生成的脚本创建表等,然后将数据Insert到WEB服务器上的数据库进行备份-- =============================================CREATE PROCEDURE [dbo].[RemoteBack]@DataDisk nvarchar(max),--需要在数据库服务器上映射的盘符@WEBAddr nvarchar(max),--WEB服务器地址@WEBDisk nvarchar(max),--WEB服务器共享目录(例如:D$ 或 C$/Windows)@PassWord nvarchar(max),--WEB服务器密码@UserName nvarchar(max),--WEB服务器用户名@DataName nvarchar(max)--需要备份的数据库名ASBEGINSET NOCOUNT ON;--设置日期时间串DECLARE @DateTime DateTimeset @DateTime = getdate()DECLARE @FileTime nvarchar(max)set @FileTime = convert(nvarchar(50), year(@DateTime)) +right(cast(month(@DateTime)+100 as varchar),2) +right(cast(day(@DateTime)+100 as varchar),2) +right(cast(DateName(hour,GetDate())+100 as varchar),2) +right(cast(DateName(minute,GetDate())+100 as varchar),2) +right(cast(DateName(second,GetDate())+100 as varchar),2)--打开高级设置exec sp_configure 'show advanced options',1reconfigure--开启xp_cmdshellexec sp_configure 'xp_cmdshell',1reconfigure--将WEB服务器路径映射到数据库服务器exec ('master..xp_cmdshell ''net use ' + @DataDisk + ': //' +@WEBAddr + '/' + @WEBDisk + ' "' + @Password + '" /user:' +@WEBAddr + '/' + @UserName + '''')--开始备份并复制到WEB服务器映射到SQL服务上的路径exec('backup database ' + @DataName + ' todisk='''+@DataDisk+':/' + @DataName +'_'+ @FileTime +'.bak'' withinit')--关闭映射路径exec ('master..xp_cmdshell ''net use ' + @DataDisk + ':/delete''')--关闭xp_cmdshellexec sp_configure 'xp_cmdshell',0reconfigure--关闭高级设置exec sp_configure 'show advanced options',0reconfigureEND


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表