国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

教你恢復(fù)SQLSERVER的master系統(tǒng)庫的方法

瀏覽:82日期:2023-03-06 14:25:36
目錄
  • 一、問題描述
  • 二、解決方案
    • 2.1 什么時候必須恢復(fù) SQL Server 主數(shù)據(jù)庫?
    • 2.2 恢復(fù)SQLSERVER的master庫的兩種方法
      • 2.2.1 方法一:SQLSERVER實(shí)例能正常啟動
      • 2.2.2 方法二:SQLSERVER實(shí)例無法啟動
  • 三、還原 SQL Server master數(shù)據(jù)庫時會丟失哪些數(shù)據(jù)?

    一、問題描述

    SQL Server 的master數(shù)據(jù)庫不能像其他用戶或 系統(tǒng)數(shù)據(jù)庫一樣恢復(fù), 因?yàn)闆]有活動的master數(shù)據(jù)庫 SQL Server 無法執(zhí)行。雖然很少需要恢復(fù) SQL Server master數(shù)據(jù)庫,但如果需要,DBA 必須為這種情況做好準(zhǔn)備。本文介紹可能需要恢復(fù)master數(shù)據(jù)庫的情況以及如何正確完成這些步驟。

    二、解決方案

    2.1 什么時候必須恢復(fù) SQL Server 主數(shù)據(jù)庫?

    情景一:

    master庫損壞,如果master庫被損壞,最好的做法通常是從備份中恢復(fù)。master中的數(shù)據(jù)是相對靜態(tài)的,因此在大多數(shù)情況 下,丟失幾個小時的歷史記錄也沒有什么問題。

    情景二:

    恢復(fù)master的其他原因可能是恢復(fù)丟失的登錄名且由于某種原因無法重置密碼。如果需要恢復(fù)master庫以恢復(fù)用戶數(shù)據(jù)或?qū)ο螅敲催@將是一個將他們移出master庫并移入用戶數(shù)據(jù)庫的機(jī)會。

    2.2 恢復(fù)SQLSERVER的master庫的兩種方法

    有 2 種可用的方法來恢復(fù)主數(shù)據(jù)庫。第一個只能用于恢復(fù)正在運(yùn)行的 SQL Server 上的主數(shù)據(jù)庫。如果問題是主數(shù)據(jù)庫損壞并且此損壞導(dǎo)致 SQL Server 無法啟動,則必須使用第二種方法。如果 SQL Server 正在運(yùn)行,則可以選擇使用第二種方法。

    前提條件:

    恢復(fù)最基本的前提是有master備份副本。如果沒有,首先讓我們備份master庫

    backup database master to disk = "c:\master.bak" with compression;

    2.2.1 方法一:SQLSERVER實(shí)例能正常啟動

    1、將 SQL Server 實(shí)例置于單用戶模式

    使用傳統(tǒng)的數(shù)據(jù)庫還原命令,需要將服務(wù)器啟動到單用戶模式,否則將會有如下錯誤

    Msg 3108, Level 16, State 1, Line 2
    要恢復(fù)主數(shù)據(jù)庫,服務(wù)器必須在單用戶模式下運(yùn)行。有關(guān)以單用戶模式啟動的信息,請參閱聯(lián)機(jī)叢書中的“如何:啟動 SQL Server 實(shí)例 (sqlservr.exe)”。
    消息 3013,級別 16,狀態(tài) 1,第 2 行
    RESTORE DATABASE 異常終止。

    要在單用戶模式下啟動 SQL Server,我們使用“SQL Server 配置管理器”添加相應(yīng)的啟動參數(shù)-m 。

    為此,請打開“SQL Server 配置管理器”,選擇“SQL Server 服務(wù)”,然后選擇相應(yīng)的 SQL Server 實(shí)例,右鍵單擊它并選擇“啟動參數(shù)”。作為啟動參數(shù),我們指定“-m”,表示服務(wù)將以單用戶模式啟動。

    單擊“添加”,然后單擊“應(yīng)用”,將出現(xiàn)以下消息。

    修改服務(wù)參數(shù),需要重啟SQL SERVER服務(wù)才能生效。

    2、在單用戶模式下使用 SSMS 還原master數(shù)據(jù)庫

    為避免多個連接,我們將打開“SQL Server Management Studio”,但不連接到服務(wù)器。換句話說,我們將關(guān)閉“連接到服務(wù)器”窗口,同時關(guān)閉“對象資源管理器”。然后我們將點(diǎn)擊“新建查詢”。

    在這個新的查詢窗口中,我們將連接到數(shù)據(jù)庫。

    此時連接成功。這意味著我們設(shè)法避免了與服務(wù)器的多個連接,并為我們的查詢窗口保留了單個連接。

    現(xiàn)在,我們可以在查詢窗口中執(zhí)行我們的 T-SQL 恢復(fù)命令并恢復(fù)主數(shù)據(jù)庫。

    只有在沒有其他連接到服務(wù)器的情況下,才能以單用戶模式連接到 SQL Server。因此,確保所有可以連接到 SQL Server 的服務(wù)(例如 SQL Server 代理)都已停止。此外,在從 SSMS 連接的情況下,必須消除來自 SSMS 的所有其他連接。關(guān)閉“對象資源管理器”并通過僅打開一個查詢窗口進(jìn)行連接可能是一種解決方案。在此之后,您可以刪除啟動參數(shù)并以多用戶模式重新啟動 SQL Server。

    2.2.2 方法二:SQLSERVER實(shí)例無法啟動

    如果服務(wù)無法啟動,如何執(zhí)行恢復(fù)命令?

    這是一個棘手的問題。小編也不希望任何讀者都能體驗(yàn)到這一點(diǎn),但如果確實(shí)發(fā)生了,這些是完成恢復(fù)所要遵循的步驟。

    Step1

    查找與 SQL Server 相同主要版本的另一個 SQL Server 實(shí)例。如果沒有其他可用的,則可能需要快速安裝 SQLSERVER實(shí)例。

    Step2

    將主數(shù)據(jù)庫備份還原到運(yùn)行正常的 SQL Server 實(shí)例,就像它是普通用戶數(shù)據(jù)庫一樣。需要使用備用名稱,例如 master_recovery。

    restore database master_recovery from disk = "c:\master.bak" withmove "master" to "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\master_recovery.mdf",move "mastlog" to "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mastlog_recovery.ldf";

    step3

    現(xiàn)在數(shù)據(jù)庫已在線,步驟 3 是將該數(shù)據(jù)庫與工作實(shí)例分離。

    USE [master] GO EXEC master.dbo.sp_detach_db @dbname = N"master_recovery" GO

    step4

    此時 2 個數(shù)據(jù)庫文件不再附加到 SQL Server 的工作實(shí)例。第 4 步是將 2 個文件移動到有 master 問題的實(shí)例的服務(wù)器。

    step5

    接下來,對于第 5 步,必須告知遇到問題的 SQL Server 實(shí)例使用這些新文件,而不是失敗的文件。這可以通過更改 SQL Server 的啟動參數(shù),以指向這些新文件或?qū)?master.mdf 和 mastlog.ldf 重命名為新名稱并重命名 _recovery文件以匹配默認(rèn)文件名來完成。無論哪種方式,下一次服務(wù)啟動都將使用新文件而不是壞文件。

    下面的演示,是通過修改啟動參數(shù)指向_recovery 文件而不是默認(rèn)文件。接著重新啟動服務(wù)(因?yàn)樗谶\(yùn)行)。現(xiàn)在該服務(wù)正在使用恢復(fù)的主數(shù)據(jù)庫而不是失敗的主數(shù)據(jù)庫。

    最后一步是 在這個 master 副本上運(yùn)行 DBCC CHECKDB 。如果顯示有損壞,請及時返回,直到找到正確的副本。CheckDB 不能在較早的步驟中運(yùn)行,因?yàn)橹鲾?shù)據(jù)庫在作為用戶數(shù)據(jù)庫檢查時會產(chǎn)生誤報。

    三、還原 SQL Server master數(shù)據(jù)庫時會丟失哪些數(shù)據(jù)?

    剛剛通過恢復(fù)較舊的主數(shù)據(jù)庫或從另一個實(shí)例獲取副本來及時回溯,在此轉(zhuǎn)換中可能會丟失哪些數(shù)據(jù)?

    • 主數(shù)據(jù)庫中的大多數(shù)數(shù)據(jù)都是靜態(tài)的,但是幾天后回溯,還是有一些事情需要檢查。

    • 在備份和還原之間是否添加或刪除了任何登錄名?這些將需要重新創(chuàng)建或刪除。

    • 是否有人在該窗口期間更改了密碼?如果是這樣,他們的舊密碼將重新生效。

    是否更改了任何服務(wù)器角色分配?這些將被還原。

    如果在時間窗口內(nèi)添加了任何數(shù)據(jù)庫,則舊master數(shù)據(jù)庫將無法識別它們。數(shù)據(jù)庫文件本身不會被刪除,因此只需附加數(shù)據(jù)庫即可。如果在該窗口期間刪除了任何數(shù)據(jù)庫,那么它們將顯示為可以再次刪除的可疑數(shù)據(jù)庫。任何像sp_configure中更改的設(shè)置都 將恢復(fù)。

    到此這篇關(guān)于恢復(fù)SQLSERVER的master系統(tǒng)庫的文章就介紹到這了,更多相關(guān)SQLSERVER的master系統(tǒng)庫內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標(biāo)簽: MsSQL
    主站蜘蛛池模板: 国产一区二区三区在线观看精品 | 亚洲精品久久九九热 | 国产aⅴ片 | 欧美全免费aaaaaa特黄在线 | 日本精品视频一视频高清 | 91精品国产高清91久久久久久 | 亚洲图片国产日韩欧美 | 一级一片 | 色视频在线观看视频 | 欧美国产日本高清不卡 | 亚洲三级在线视频 | 免费的特黄特色大片在线观看 | 在线欧美日韩精品一区二区 | 国产精品视频免费一区二区三区 | 欧美三级在线观看视频 | 国产91会所洗浴女技师按摩 | 美国毛片一级 | 国产v片成人影院在线观看 国产v片在线播放免费观 | 国产精品成人免费视频 | 国产v欧美v日韩在线观看 | 高清国产一区 | 明星国产欧美日韩在线观看 | 欧美黄区 | 成人免费视频网站 | 亚洲精品一区二区三区美女 | 色拍拍噜噜噜aⅴ在线观看 色青青草原桃花久久综合 色婷婷91 | 女人精aaaa片一级毛片女女 | 韩国美女毛片 | 美女被拍拍拍拍拍拍拍拍 | 欧美一区二区三区免费不卡 | 成人欧美一区二区三区在线观看 | 欧美日韩高清性色生活片 | 国产黄色三级三级三级 | 好叼操这里只有精品 | 欧美一级高清片 | 亚州一区二区 | 男女配种猛烈免费视频 | 自拍 欧美 | 午夜国产精品久久久久 | 国产成人一区二区三区在线播放 | 一级毛片美国aaj毛片 |