SQL远程备份
SQL遠程備份 原文:SQL遠程備份 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
?
posted on 2014-11-12 00:13 NET未來之路 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/lonelyxmas/p/4090928.html
總結
- 上一篇: 设计模式--23、访问者模式
- 下一篇: VMware12提示 已将该虚拟机配置为