<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
SQL Server 的master資料庫不能像其他使用者或 系統資料庫一樣恢復, 因為沒有活動的master資料庫 SQL Server 無法執行。雖然很少需要恢復 SQL Server master資料庫,但如果需要,DBA 必須為這種情況做好準備。本文介紹可能需要恢復master資料庫的情況以及如何正確完成這些步驟。
情景一:
master庫損壞,如果master庫被損壞,最好的做法通常是從備份中恢復。master中的資料是相對靜態的,因此在大多數情況 下,丟失幾個小時的歷史記錄也沒有什麼問題。
情景二:
恢復master的其他原因可能是恢復丟失的登入名且由於某種原因無法重置密碼。如果需要恢復master庫以恢復使用者資料或物件,那麼這將是一個將他們移出master庫並移入使用者資料庫的機會。
有 2 種可用的方法來恢復主資料庫。第一個只能用於恢復正在執行的 SQL Server 上的主資料庫。如果問題是主資料庫損壞並且此損壞導致 SQL Server 無法啟動,則必須使用第二種方法。如果 SQL Server 正在執行,則可以選擇使用第二種方法。
前提條件:
恢復最基本的前提是有master備份副本。如果沒有,首先讓我們備份master庫
backup database master to disk = 'c:master.bak' with compression;
1、將 SQL Server 範例置於單使用者模式
使用傳統的資料庫還原命令,需要將伺服器啟動到單使用者模式,否則將會有如下錯誤
Msg 3108, Level 16, State 1, Line 2
要恢復主資料庫,伺服器必須在單使用者模式下執行。有關以單使用者模式啟動的資訊,請參閱聯機叢書中的“如何:啟動 SQL Server 範例 (sqlservr.exe)”。
訊息 3013,級別 16,狀態 1,第 2 行
RESTORE DATABASE 異常終止。
要在單使用者模式下啟動 SQL Server,我們使用“SQL Server 設定管理器”新增相應的啟動引數-m 。
為此,請開啟“SQL Server 設定管理器”,選擇“SQL Server 服務”,然後選擇相應的 SQL Server 範例,右鍵單擊它並選擇“啟動引數”。作為啟動引數,我們指定“-m”,表示服務將以單使用者模式啟動。
單擊“新增”,然後單擊“應用”,將出現以下訊息。
修改服務引數,需要重啟SQL SERVER服務才能生效。
2、在單使用者模式下使用 SSMS 還原master資料庫
為避免多個連線,我們將開啟“SQL Server Management Studio”,但不連線到伺服器。換句話說,我們將關閉“連線到伺服器”視窗,同時關閉“物件資源管理器”。然後我們將點選“新建查詢”。
在這個新的查詢視窗中,我們將連線到資料庫。
此時連線成功。這意味著我們設法避免了與伺服器的多個連線,併為我們的查詢視窗保留了單個連線。
現在,我們可以在查詢視窗中執行我們的 T-SQL 恢復命令並恢復主資料庫。
只有在沒有其他連線到伺服器的情況下,才能以單使用者模式連線到 SQL Server。因此,確保所有可以連線到 SQL Server 的服務(例如 SQL Server 代理)都已停止。此外,在從 SSMS 連線的情況下,必須消除來自 SSMS 的所有其他連線。關閉“物件資源管理器”並通過僅開啟一個查詢視窗進行連線可能是一種解決方案。在此之後,您可以刪除啟動引數並以多使用者模式重新啟動 SQL Server。
如果服務無法啟動,如何執行恢復命令?
這是一個棘手的問題。小編也不希望任何讀者都能體驗到這一點,但如果確實發生了,這些是完成恢復所要遵循的步驟。
Step1
查詢與 SQL Server 相同主要版本的另一個 SQL Server 範例。如果沒有其他可用的,則可能需要快速安裝 SQLSERVER範例。
Step2
將主資料庫備份還原到執行正常的 SQL Server 範例,就像它是普通使用者資料庫一樣。需要使用備用名稱,例如 master_recovery。
restore database master_recovery from disk = 'c:master.bak' with move 'master' to 'C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLDATAmaster_recovery.mdf', move 'mastlog' to 'C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLDATAmastlog_recovery.ldf';
step3
現在資料庫已線上,步驟 3 是將該資料庫與工作範例分離。
USE [master] GO EXEC master.dbo.sp_detach_db @dbname = N'master_recovery' GO
step4
此時 2 個資料庫檔案不再附加到 SQL Server 的工作範例。第 4 步是將 2 個檔案移動到有 master 問題的範例的伺服器。
step5
接下來,對於第 5 步,必須告知遇到問題的 SQL Server 範例使用這些新檔案,而不是失敗的檔案。這可以通過更改 SQL Server 的啟動引數,以指向這些新檔案或將 master.mdf 和 mastlog.ldf 重新命名為新名稱並重新命名 _recovery檔案以匹配預設檔名來完成。無論哪種方式,下一次服務啟動都將使用新檔案而不是壞檔案。
下面的演示,是通過修改啟動引數指向_recovery 檔案而不是預設檔案。接著重新啟動服務(因為它正在執行)。現在該服務正在使用恢復的主資料庫而不是失敗的主資料庫。
最後一步是 在這個 master 副本上執行 DBCC CHECKDB 。如果顯示有損壞,請及時返回,直到找到正確的副本。CheckDB 不能在較早的步驟中執行,因為主資料庫在作為使用者資料庫檢查時會產生誤報。
剛剛通過恢復較舊的主資料庫或從另一個範例獲取副本來及時回溯,在此轉換中可能會丟失哪些資料?
主資料庫中的大多數資料都是靜態的,但是幾天後回溯,還是有一些事情需要檢查。
在備份和還原之間是否新增或刪除了任何登入名?這些將需要重新建立或刪除。
是否有人在該視窗期間更改了密碼?如果是這樣,他們的舊密碼將重新生效。
是否更改了任何伺服器角色分配?這些將被還原。
如果在時間視窗內新增了任何資料庫,則舊master資料庫將無法識別它們。資料庫檔案本身不會被刪除,因此只需附加資料庫即可。如果在該視窗期間刪除了任何資料庫,那麼它們將顯示為可以再次刪除的可疑資料庫。任何像sp_configure中更改的設定都 將恢復。
到此這篇關於恢復SQLSERVER的master系統庫的文章就介紹到這了,更多相關SQLSERVER的master系統庫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45