-2
我正在尋找一個程序,這將有助於從備份恢復我的數據庫恢復SQL Server數據庫。我GOOGLE了,找不到我正在尋找的提取物。基本上我有2種備份文件(一些備份與.mdf和.log文件和一些備份大約30邏輯文件)。想要在執行過程中向過程傳遞2個參數,備份名稱和舊的和/新的數據庫名稱。你能不能請我提出這個程序?存儲過程來從備份
我正在尋找一個程序,這將有助於從備份恢復我的數據庫恢復SQL Server數據庫。我GOOGLE了,找不到我正在尋找的提取物。基本上我有2種備份文件(一些備份與.mdf和.log文件和一些備份大約30邏輯文件)。想要在執行過程中向過程傳遞2個參數,備份名稱和舊的和/新的數據庫名稱。你能不能請我提出這個程序?存儲過程來從備份
你並不需要一個存儲過程來恢復數據庫,默認情況下產品中存在罷了。如果你喜歡,你當然可以爲你定製特定的需求。在RESTORE語句
詳細是這裏https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-transact-sql檢查出來,嘗試那麼它回來,如果您還有其他問題。
具體到你問上面,如果你想使用現有的備份還原到新的數據庫名稱,你不需要指定舊的數據庫名稱。這基本上是一個複製操作。以下是腳本可能的樣例。您應該充分理解RESTORE語句的工作原理(上面的鏈接)並根據您的需要進行適當修改。
-- Assuming your original backup was on Pubs database
RESTORE DATABASE Bars
FROM PubsBackups
WITH MOVE 'Pubs_Data' TO 'D:\SQLServer\bars.mdf',
MOVE 'Pubs_Log' TO 'L:\SQLServer\bars.ldf';
你爲什麼要編寫一個進程來做到這一點?使用SSMS。 – scsimon
@scsimon實際上,有一個很好的理由可以通過存儲過程自動執行數據庫還原。例如,您希望每晚都恢復到已知狀態的測試環境數據庫。 – RBarryYoung
這是公平的@RBarryYoung – scsimon