在SQL Server中恢復多個數(shù)據(jù)庫的方法小結
一次性恢復多個 SQL數(shù)據(jù)庫嗎可以嗎?
"是的,可以一次性恢復多個 SQL 數(shù)據(jù)庫。通常情況下,只要備份文件的名稱與相應的數(shù)據(jù)庫匹配,且沒有附加的日期或時間信息,就可以通過有效的 T-SQL 腳本來完成恢復。如果你希望有更靈活的操作,還可以選擇使用帶有圖形用戶界面的工具,具體選擇取決于你的偏好。"
方法1 .使用腳本來恢復SQL Server中的所有數(shù)據(jù)庫
您可以使用腳本為SQL Server中的所有數(shù)據(jù)庫生成恢復命令,并將它們組合成一個新腳本來執(zhí)行。
1. 單擊“新建查詢”并在 SQLQuery 窗口中輸入以下命令:
DECLARE @folderpath VARCHAR (1000) SELECT @folderpath = 'D:\Backup\' -- 備份位置 SELECT 'RESTORE DATABASE['+NAME+'] FROM DISK = ''' +@folderpath +name+'.bak'' WITH NORECOVERY , REPLACE, STATS = 5' FROM master.sys.databases WHERE name NOT IN ('master','model','msdb','tempdb','distribution')
這將生成一系列命令,用于從同名的 bak 文件恢復SQL Server中的多個數(shù)據(jù)庫。
2. 右鍵單擊??結果中的任何命令,“選擇全選”,然后“復制”它們(或使用 Ctrl + A 和 Ctrl + C)。
將這些命令粘貼到 SQLQuery 窗口作為新腳本“執(zhí)行”。它將從具有相應文件名的 bak 文件中恢復SQL Server的所有數(shù)據(jù)庫。
方法2: 使用命令從bak文件中恢復多個數(shù)據(jù)庫
您可以使用腳本從一個文件夾中恢復SQL Server中的多個數(shù)據(jù)庫。但在此之前,請連接到實例并啟用 xp_cmdshell。
1. 單擊“新建查詢”并輸入以下命令:
EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO。 EXEC sp_configure 'xp_cmdshell', 1; GO RECONFIGURE; GO
“執(zhí)行”查詢,該功能將被啟用。
2.然后您可以使用腳本恢復SQL Server的多個數(shù)據(jù)庫(請將“D:\backup\”替換為您自己的“包含所有備份文件的文件夾”):
DECLARE @FilesCmdshell TABLE ( outputCmd NVARCHAR (255) ) DECLARE @FilesCmdshellCursor CURSOR DECLARE @FilesCmdshellOutputCmd AS NVARCHAR(255) INSERT INTO @FilesCmdshell (outputCmd) EXEC master.sys.xp_cmdshell 'dir /BD:\backup\*.bak' SET @ FilesCmdshellCursor = CURSOR FOR SELECT outputCmd FROM @FilesCmdshell OPEN @FilesCmdshellCursor FETCH NEXT FROM @FilesCmdshellCursor INTO @FilesCmdshellOutputCmd WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @cmd NVARCHAR(MAX) = 'RESTORE DATABASE [' + SUBSTRING(@FilesCmdshellOutputCmd, 0, CHARINDEX('.', @FilesCmdshellOutputCmd)) + '] FROM DISK = N''D:\backup\' + SUBSTRING(@ FilesCmdshellOutputCmd, 0, CHARINDEX('.', @FilesCmdshellOutputCmd)) + '.bak'' WITH FILE = 1, NOUNLOAD, STATS = 10' EXEC(@cmd) FETCH NEXT FROM @FilesCmdshellCursor INTO @FilesCmdshellOutputCmd END
“注意:”如果您收到錯誤“數(shù)據(jù)庫的日志尾部尚未備份。如果日志包含您不想丟失的工作,請使用 BACKUP LOG WITH NORECOVERY 備份日志。使用 RESTORE 語句的 WITH REPLACE 或 WITH STOPAT 子句只是覆蓋日志的內容”,解決方法如提示所說。
例如,您可以將還原命令修改為“...WITH FILE = 1, REPLACE, NOUNLOAD, STATS = 10”
方法3. 使用專業(yè)備份工具備份和恢復多個 SQL數(shù)據(jù)庫
傲梅企業(yè)備份旗艦版支持Microsoft SQL Server(2005-2022),VMware ESXi(6.0及以上版本)和Hyper-V(Windows 8/8.1/10/11,Windows Server/Microsoft Hyper-V Server 2012 R2及更高版本)。如果您覺得還不錯的話可以點擊下方按鈕進入下載中心下載安裝傲梅企業(yè)備份旗艦版,然后跟著我們的演示教程一起看看怎么輕松備份數(shù)據(jù)庫吧!
在開始備份數(shù)據(jù)庫之前,我們需要先安裝代理,所以請您在主機端登錄傲梅企業(yè)備份旗艦版,在主界面點擊“設備”>“代理設備”>“下載代理”。
等待下載完成之后再將此代理客戶端安裝到您需要備份SQL數(shù)據(jù)庫的計算機上,然后將客戶端上的IP通過Web端連接哦。
在安裝完代理客戶端,并且成功建立控制連接之后,還需要驗證一下數(shù)據(jù)庫實例,所以請您點擊“設備”>“Microsoft SQL Server”,找到您的數(shù)據(jù)庫,點擊其右側的三個小點圖標,選擇“身份驗證”,并在彈出窗口中選擇“SQL身份驗證”,再輸入賬戶密碼,點擊“驗證”即可。
注意:除此之外還有一種遠程安裝代理的方法,就是點擊“設備”>“代理設備”>“添加代理”,然后輸入客戶端計算機的IP地址與用戶信息,點擊“確定”即可開始遠程安裝代理。
傲梅企業(yè)備份旗艦版?zhèn)浞軸QL數(shù)據(jù)庫
安裝完代理客戶端之后,我們就可以開始備份SQL Server數(shù)據(jù)庫了,請您參考以下流程并逐步進行操作:
步驟1. 在傲梅企業(yè)備份旗艦版主界面中點擊“任務”>“備份任務”>“新建任務”。
步驟2. 在彈出頁面中點擊備份類型下拉菜單,選擇“Microsoft SQL Server備份”。
步驟3. 點擊設備,選擇您想要備份的SQL數(shù)據(jù)庫實例,然后點擊“確定”。
步驟4. 點擊目標,選擇一個目標路徑用于存儲您的備份文件(可以選擇本地位置或網(wǎng)絡共享路徑),然后點擊“確定”。
步驟5. 點擊備份計劃,選擇您想要的備份方式(完全備份/增量備份/差異備份)和自動備份頻率間隔(可以是每天/每周/每月),然后點擊“確定”。
步驟6. 點擊版本清理,選擇您想要將備份文件保留多久,并且支持始終保留某個指定完全備份,超出時間的備份版本將自動清除,節(jié)省備份磁盤空間,然后點擊“確定”。
步驟7. 確認無誤之后就可以點擊右下角的“開始備份”按鈕,并選擇“添加定時任務并立即備份”或“僅添加定時任務”,創(chuàng)建的任務將單獨列出和監(jiān)控,以進行恢復、進度檢查和計劃更改。
傲梅企業(yè)備份旗艦版還原SQL數(shù)據(jù)庫
在此之后,如果您需要還原數(shù)據(jù)庫的話,可以轉到“備份管理”>“歷史版本”,找到您想要還原的數(shù)據(jù)庫備份版本,點擊其右側的三個小點圖標,選擇“還原”,然后您可以選擇還原到原位置或新位置,非常方便。
結論
SSMS 工具一次只能還原一個數(shù)據(jù)庫。如果需要一次性恢復多個 SQL Server 數(shù)據(jù)庫,通常使用 T-SQL 腳本。然而,這種方法對備份文件名的要求較為嚴格,因此在將數(shù)據(jù)庫恢復到其他實例時可能會遇到困難。對此,你也可以考慮使用 SQL 備份軟件,如傲梅企業(yè)備份旗艦版。它使操作更加便捷,比如你可以通過幾次點擊自動備份 SQL 數(shù)據(jù)庫,并以同樣簡便的方式一次性恢復多個數(shù)據(jù)庫。
以上就是在SQL Server中恢復多個數(shù)據(jù)庫的方法小結的詳細內容,更多關于SQL Server恢復多個數(shù)據(jù)庫的資料請關注腳本之家其它相關文章!
相關文章
sql 語句 取數(shù)據(jù)庫服務器上所有數(shù)據(jù)庫的名字
sql 語句 取數(shù)據(jù)庫服務器上所有數(shù)據(jù)庫的名字,一般作者自己是沒問題了。2009-02-02T-sql語句修改SQL Server數(shù)據(jù)庫邏輯名、數(shù)據(jù)庫名、物理名的方法
這篇文章主要介紹了T-sql語句修改SQL Server數(shù)據(jù)庫邏輯名、數(shù)據(jù)庫名、物理名的方法,結合實例形式分析了T-SQL語句操作數(shù)據(jù)庫的基本技巧,非常簡單易懂,需要的朋友可以參考下2016-06-06