1. 程式人生 > 其它 >sql server 備份資料庫到區域網內另一電腦上

sql server 備份資料庫到區域網內另一電腦上

核心思想:

  1.備份資料庫到本地磁碟目錄

  2.建立與目標伺服器的連結

  3.拷貝備份檔案到目標伺服器

操作步驟:

  1.目標伺服器IP:192.168.1.78,計算機名稱DESKTOP-V0QGHSD,設定E盤下dbback資料夾為共享資料夾,設定成功後可在計算機管理-->系統工具-->共享資料夾-->共享中檢視

  2.本地伺服器存放備份檔案路徑為E盤dbback資料夾,建立儲存過程

-- =============================================
-- Project:        TCX_32107
-- Author:        taozi
-- Create date: 2021年12月30日 -- Description: 備份資料庫到本地及區域網內另一臺電腦中,同時刪除本地7天前備份的檔案 -- Demo: 使用方法:在每個現場的資料庫伺服器上建立一個作業,呼叫此儲存過程,但需修改此過程內的一些引數 -- ============================================= ALTER PROCEDURE [dbo].[P_Sys_BackUpAndClearLog2] AS BEGIN SET NOCOUNT ON; declare @filepath nvarchar
(50),@filename nvarchar(100),@filename_old nvarchar(100)--本地備份路徑、備份檔名、要刪除的檔名 declare @cmdshell nvarchar(100) declare @copy_sql nvarchar(100),@del_sql nvarchar(100) set @filepath = 'E:\dbback\'; set @filename = 'TCX_32107_Full_'+REPLACE(REPLACE(REPLACE(convert(varchar,getdate(),120),'-','_'),' ','
_'),':','_') + '.bak'; set @filename_old = 'TCX_32107_Full_'+REPLACE(REPLACE(REPLACE(convert(varchar(10),dateadd(dd,-7,getdate()),120),'-','_'),' ','_'),':','_') + '*.bak'; --192.168.1.78:目標伺服器IP --DESKTOP-V0QGHSD:目標伺服器名稱 --dbback:目標伺服器共享名 --111:目標伺服器使用者密碼 --lct:目標伺服器使用者 set @cmdshell = 'net use \\192.168.1.78\dbback 111 /user:192.168.1.78\lct' set @copy_sql = 'copy '+@filepath+@filename+' \\192.168.1.78\dbback' set @del_sql = 'del '+@filepath+@filename; --sql原型(DESKTOP-V0QGHSD與192.168.1.78均可) --set @cmdshell = 'net use \\DESKTOP-V0QGHSD\dbback 111 /user:DESKTOP-V0QGHSD\lct' --set @copy_sql = 'copy E:\dbback\TCX_32107_Full_2021_12_30_16_50_56.bak \\DESKTOP-V0QGHSD\dbback' --備份到本地 backup database TCX_32107 to disk = @filename; --連結到網路伺服器 exec master..xp_cmdshell @cmdshell --拷貝到網路伺服器 exec master..xp_cmdshell @copy_sql --刪除連結 exec master..xp_cmdshell @cmdshell --刪除本地7天前的備份檔案 exec master..xp_cmdshell @del_sql END

  3.執行儲存過程,備份檔案已拷貝到目標路徑

參考連結:https://blog.csdn.net/strong0511/article/details/50585109(主要是這個)

https://wenku.baidu.com/view/1c0405d328ea81c758f57882.html