您的位置:首页 > 博客中心 > 数据库 >

SQL远程备份

时间:2022-03-14 02:22

原文:

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go   -- ============================================= -- 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 SQL Server\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)--需要备份的数据库名 AS BEGIN SET NOCOUNT ON; --设置日期时间串 DECLARE  @DateTime DateTime set @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‘,1 reconfigure --开启xp_cmdshell exec sp_configure ‘xp_cmdshell‘,1 reconfigure --将WEB服务器路径映射到数据库服务器 exec (‘master..xp_cmdshell ‘‘net use ‘ + @DataDisk + ‘: \\‘ + @WEBAddr + ‘\‘ + @WEBDisk + ‘ "‘ + @Password + ‘" /user:‘ + @WEBAddr + ‘\‘ + @UserName + ‘‘‘‘) --开始备份并复制到WEB服务器映射到SQL服务上的路径 exec(‘backup database ‘ + @DataName + ‘ to disk=‘‘‘+@DataDisk+‘:\‘ + @DataName +‘_‘+ @FileTime +‘.bak‘‘ with init‘)   --关闭映射路径 exec (‘master..xp_cmdshell ‘‘net use ‘ + @DataDisk + ‘: /delete‘‘‘) --关闭xp_cmdshell exec sp_configure ‘xp_cmdshell‘,0 reconfigure --关闭高级设置 exec sp_configure ‘show advanced options‘,0 reconfigure END

 

热门排行

今日推荐

热门手游