SQL server實(shí)現(xiàn)異地增量備份和全量備份的幾種方法實(shí)現(xiàn)
要將SQL Server數(shù)據(jù)庫(kù)通過(guò)作業(yè)備份到同一局域網(wǎng)的另一臺(tái)服務(wù)器,需要完成共享目錄配置、權(quán)限設(shè)置和作業(yè)創(chuàng)建三個(gè)核心步驟。以下是詳細(xì)操作指南:
一、目標(biāo)服務(wù)器(備份存儲(chǔ)服務(wù)器)配置
在局域網(wǎng)內(nèi)的目標(biāo)服務(wù)器(如172.70.74.211)上創(chuàng)建共享目錄,用于存放備份文件。
1. 創(chuàng)建本地文件夾
- 在目標(biāo)服務(wù)器上新建文件夾(例如
D:\SQLBackups),用于實(shí)際存儲(chǔ)備份文件。
2. 配置共享權(quán)限
- 右鍵文件夾 → 屬性 → 共享→高級(jí)共享→ 勾選“共享此文件夾”。
- 共享名設(shè)為
SQLBackups(后續(xù)訪(fǎng)問(wèn)路徑為\\172.70.74.211\SQLBackups)。 - 點(diǎn)擊權(quán)限→ 添加
Everyone或指定用戶(hù)(如Administrator),并授予“讀取”和“寫(xiě)入”權(quán)限。 - 切換到安全標(biāo)簽頁(yè) → 確保相同用戶(hù)有“完全控制”權(quán)限(避免NTFS權(quán)限與共享權(quán)限沖突)。
3. 測(cè)試共享訪(fǎng)問(wèn)
- 在SQL Server所在服務(wù)器的“運(yùn)行”中輸入
\\172.70.74.211\SQLBackups,驗(yàn)證能否正常訪(fǎng)問(wèn)(無(wú)需輸入密碼或使用目標(biāo)服務(wù)器賬號(hào)登錄)。
二、SQL Server服務(wù)器配置
確保SQL Server服務(wù)賬戶(hù)有權(quán)限訪(fǎng)問(wèn)目標(biāo)服務(wù)器的共享目錄。
1. 確認(rèn)SQL Server服務(wù)賬戶(hù)
- 打開(kāi)“服務(wù)” → 找到
SQL Server (MSSQLSERVER)→ 查看“登錄身份”(通常是NT Service\MSSQLSERVER或域賬戶(hù))。
2. 授予服務(wù)賬戶(hù)訪(fǎng)問(wèn)權(quán)限(可選)
- 如果服務(wù)賬戶(hù)是本地賬戶(hù)(如
NT Service\MSSQLSERVER),需在目標(biāo)服務(wù)器的共享目錄權(quán)限中添加SQL Server服務(wù)器的計(jì)算機(jī)賬戶(hù)(格式:域\SQL服務(wù)器名$,例如WORKGROUP\SQLSERVER$),并授予讀寫(xiě)權(quán)限。 - 如果是域賬戶(hù),直接在目標(biāo)服務(wù)器共享權(quán)限中添加該域賬戶(hù)即可。
三、創(chuàng)建備份作業(yè)
通過(guò)SQL Server代理創(chuàng)建定時(shí)備份作業(yè),自動(dòng)將數(shù)據(jù)庫(kù)備份到目標(biāo)服務(wù)器的共享目錄。
1. 啟用SQL Server代理
- 打開(kāi)SQL Server Management Studio (SSMS) → 連接到數(shù)據(jù)庫(kù)引擎 → 確保“SQL Server代理”已啟動(dòng)(右鍵→“啟動(dòng)”)。
2. 創(chuàng)建新作業(yè)
- 展開(kāi)“SQL Server代理” → 右鍵“作業(yè)” →新建作業(yè)。
- 名稱(chēng):
數(shù)據(jù)庫(kù)異地備份。 - 所有者:保持默認(rèn)(
sa)。 - 類(lèi)別:選擇“數(shù)據(jù)庫(kù)維護(hù)”。
- 名稱(chēng):

3. 添加作業(yè)步驟
切換到步驟→新建:
- 步驟名稱(chēng):
執(zhí)行備份。 - 類(lèi)型:
Transact-SQL (T-SQL)。 - 數(shù)據(jù)庫(kù):選擇要備份的數(shù)據(jù)庫(kù)(如
AIS20250224105414)。 - 命令:輸入以下T-SQL腳本(替換為實(shí)際路徑和數(shù)據(jù)庫(kù)名):

- 步驟名稱(chēng):
步驟1
-- 步驟1:建立Administrator網(wǎng)絡(luò)連接 DECLARE @SharePath NVARCHAR(100), @User NVARCHAR(100), @Pwd NVARCHAR(50), @Cmd NVARCHAR(4000) -- 定義變量值(單獨(dú)賦值,避免復(fù)雜拼接) SET @SharePath = '\\172.70.74.211\SQLBackups' SET @User = '172.70.74.211\Administrator' SET @Pwd = '123456' -- 替換為實(shí)際密碼 -- 創(chuàng)建臨時(shí)表存儲(chǔ)命令結(jié)果(用#臨時(shí)表替代@表變量,避免作用域問(wèn)題) CREATE TABLE #Result (OutputText NVARCHAR(4000)) -- 1. 斷開(kāi)舊連接 SET @Cmd = 'net use "' + @SharePath + '" /delete /y' DELETE FROM #Result INSERT INTO #Result EXEC master.dbo.xp_cmdshell @Cmd -- 2. 建立新連接(用雙引號(hào)包裹路徑和參數(shù),兼容特殊字符) SET @Cmd = 'net use "' + @SharePath + '" /user:' + @User + ' "' + @Pwd + '"' DELETE FROM #Result INSERT INTO #Result EXEC master.dbo.xp_cmdshell @Cmd -- 3. 輸出連接命令執(zhí)行結(jié)果(用于排查錯(cuò)誤) PRINT '=== 網(wǎng)絡(luò)連接命令執(zhí)行結(jié)果 ===' SELECT OutputText AS 執(zhí)行結(jié)果 FROM #Result WHERE OutputText IS NOT NULL -- 4. 驗(yàn)證共享目錄是否可訪(fǎng)問(wèn) SET @Cmd = 'dir "' + @SharePath + '"' DELETE FROM #Result INSERT INTO #Result EXEC master.dbo.xp_cmdshell @Cmd -- 5. 判斷連接狀態(tài) IF EXISTS (SELECT 1 FROM #Result WHERE OutputText LIKE '%<DIR>%') BEGIN PRINT '=== 連接成功 ===' PRINT '已成功訪(fǎng)問(wèn)共享目錄:' + @SharePath END ELSE BEGIN PRINT '=== 連接失敗 ===' RAISERROR('無(wú)法訪(fǎng)問(wèn)共享目錄,請(qǐng)檢查共享名、賬號(hào)密碼或權(quán)限', 16, 1) RETURN END -- 刪除臨時(shí)表 DROP TABLE #Result步驟2
-- 步驟2:執(zhí)行備份 DECLARE @BackupType VARCHAR(10), @BackupPath NVARCHAR(255), @BackupName NVARCHAR(255), @WeekDay INT; -- 獲取當(dāng)前星期幾(1=周一,7=周日) SET @WeekDay = DATEPART(WEEKDAY, GETDATE()); -- 判定備份類(lèi)型 IF @WeekDay = 7 OR NOT EXISTS ( -- 檢查是否存在全量備份(首次執(zhí)行時(shí)無(wú)全量,強(qiáng)制全量) SELECT 1 FROM msdb.dbo.backupset WHERE database_name = 'AIS20250224105414' AND type = 'D' -- 'D'表示全量備份 ) BEGIN SET @BackupType = 'Full'; SET @BackupName = N'ERP全量備份'; END ELSE BEGIN SET @BackupType = 'Diff'; SET @BackupName = N'ERP增量備份'; END -- 構(gòu)建備份路徑 SET @BackupPath = N'\\172.70.74.211\SQLBackups\AIS20250224105414_' + @BackupType + '_' + CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak'; -- 執(zhí)行對(duì)應(yīng)類(lèi)型的備份 IF @BackupType = 'Full' BEGIN BACKUP DATABASE [AIS20250224105414] TO DISK = @BackupPath WITH INIT, -- 全量備份覆蓋同名文件 NAME = @BackupName, SKIP, NOREWIND, NOUNLOAD, STATS = 10; END ELSE BEGIN BACKUP DATABASE [AIS20250224105414] TO DISK = @BackupPath WITH DIFFERENTIAL, -- 增量備份關(guān)鍵參數(shù) NOINIT, -- 增量備份不覆蓋,追加到備份集 NAME = @BackupName, SKIP, NOREWIND, NOUNLOAD, STATS = 10; END PRINT '備份完成!類(lèi)型:' + @BackupType + ',路徑:' + @BackupPath;步驟3
-- 步驟3:斷開(kāi)網(wǎng)絡(luò)連接 DECLARE @SharePath NVARCHAR(100), @Cmd NVARCHAR(4000) -- 設(shè)置共享路徑 SET @SharePath = '\\172.70.74.211\SQLBackups' -- 構(gòu)建完整命令(用雙引號(hào)包裹路徑,避免特殊字符問(wèn)題) SET @Cmd = 'net use "' + @SharePath + '" /delete /y' -- 執(zhí)行斷開(kāi)連接命令 EXEC master.dbo.xp_cmdshell @Cmd -- 輸出結(jié)果 PRINT '網(wǎng)絡(luò)連接已斷開(kāi):' + @SharePath
4. 配置作業(yè)調(diào)度
切換到調(diào)度→新建:
- 名稱(chēng):
每日備份。 - 調(diào)度類(lèi)型:
重復(fù)執(zhí)行。 - 頻率:例如“每天”、“凌晨2點(diǎn)”。
- 點(diǎn)擊“確定”保存調(diào)度。

5. 測(cè)試作業(yè)
右鍵新建的作業(yè) →執(zhí)行步驟→ 選擇“執(zhí)行備份” → 檢查目標(biāo)服務(wù)器共享目錄是否生成備份文件。


四、常見(jiàn)問(wèn)題解決
“無(wú)法訪(fǎng)問(wèn)網(wǎng)絡(luò)路徑”錯(cuò)誤
- 檢查共享目錄路徑是否正確(如
\\172.70.74.211\SQLBackups)。 - 驗(yàn)證SQL Server服務(wù)賬戶(hù)是否有訪(fǎng)問(wèn)權(quán)限(參考步驟二)。
- 關(guān)閉目標(biāo)服務(wù)器防火墻或添加文件共享例外(端口139、445)。
- 檢查共享目錄路徑是否正確(如
備份文件為空或大小異常
- 檢查T(mén)-SQL腳本中的
BACKUP DATABASE語(yǔ)句是否正確。 - 確認(rèn)數(shù)據(jù)庫(kù)處于正常狀態(tài)(非離線(xiàn)或恢復(fù)中)。
- 檢查T(mén)-SQL腳本中的
作業(yè)執(zhí)行失敗無(wú)日志
- 在作業(yè)屬性的通知中,勾選“當(dāng)作業(yè)失敗時(shí)寫(xiě)入Windows事件日志”,通過(guò)“事件查看器”排查詳細(xì)錯(cuò)誤。
通過(guò)以上步驟,即可實(shí)現(xiàn)SQL Server數(shù)據(jù)庫(kù)自動(dòng)備份到局域網(wǎng)內(nèi)的另一臺(tái)服務(wù)器,確保數(shù)據(jù)安全和異地存儲(chǔ)。
到此這篇關(guān)于SQL server實(shí)現(xiàn)異地增量備份和全量備份的幾種方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SQL 異地增量備份和全量備份內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android實(shí)現(xiàn)矩形區(qū)域截屏的方法
對(duì)屏幕進(jìn)行截屏并裁剪有兩種方式:早截圖和晚截圖,對(duì)于早截圖和晚截圖的概念大家通過(guò)本文詳解學(xué)習(xí)。本文重點(diǎn)給大家介紹android實(shí)現(xiàn)矩形區(qū)域截屏的方法,需要的朋友參考下2017-01-01
SQL多表聯(lián)合查詢(xún)時(shí)如何采用字段模糊匹配
這篇文章主要介紹了SQL多表聯(lián)合查詢(xún)時(shí)如何采用字段模糊匹配,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解
這篇文章主要介紹了SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
還原Sql?Server數(shù)據(jù)庫(kù)BAK備份文件的3種方式以及常見(jiàn)錯(cuò)誤總結(jié)
日常后端開(kāi)發(fā)中,我們有時(shí)候需要查看之前備份數(shù)據(jù)庫(kù)的信息用于排錯(cuò)糾正項(xiàng)目問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于還原Sql?Server數(shù)據(jù)庫(kù)BAK備份文件的3種方式以及常見(jiàn)錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下2023-02-02
sqlserver利用存儲(chǔ)過(guò)程去除重復(fù)行的sql語(yǔ)句
以前弄過(guò)類(lèi)似,去除相同信息的方法,現(xiàn)在找不到了,不過(guò)今天又花一些時(shí)間給弄出來(lái)了,記錄一下2010-06-06
Mysql中悲觀(guān)鎖與樂(lè)觀(guān)鎖應(yīng)用介紹
樂(lè)觀(guān)鎖對(duì)應(yīng)于生活中樂(lè)觀(guān)的人總是想著事情往好的方向發(fā)展,悲觀(guān)鎖對(duì)應(yīng)于生活中悲觀(guān)的人總是想著事情往壞的方向發(fā)展.這兩種人各有優(yōu)缺點(diǎn),不能不以場(chǎng)景而定說(shuō)一種人好于另外一種人,文中詳細(xì)介紹了悲觀(guān)鎖與樂(lè)觀(guān)鎖,需要的朋友可以參考下2022-08-08
SQL查詢(xún)?nèi)腴T(mén)(上篇) 推薦收藏
SQL語(yǔ)言是一門(mén)簡(jiǎn)單易學(xué)卻又功能強(qiáng)大的語(yǔ)言,它能讓你快速上手并寫(xiě)出比較復(fù)雜的查詢(xún)語(yǔ)句。2011-09-09
解決連接Sql?Server時(shí)報(bào)錯(cuò):無(wú)法通過(guò)使用安全套接字層加密與SQL?Server建立安全連接
這篇文章主要給大家介紹了關(guān)于解決連接Sql?Server時(shí)報(bào)錯(cuò):無(wú)法通過(guò)使用安全套接字層加密與SQL?Server建立安全連接的相關(guān)資料,需要的朋友可以參考下2024-01-01

