當前位置:首頁 » 數據倉庫 » master資料庫損壞
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

master資料庫損壞

發布時間: 2022-09-21 10:34:32

A. sql2008資料庫報錯3417怎麼處理

  • 當發現資料庫不能連接時,我們第一反應是去檢查資料庫的服務。發現sql server(SQLexpress)服務未啟動,當我們去啟動服務時無法啟動,錯誤代碼為errorcode 3417 。

B. 關於無法恢復 master 資料庫

--重建 master 資料庫

1)關閉SQLServer 2000,然後運行 Rebuildm.exe。
該程序位於 Program Files\Microsoft SQL Server\80\Tools\Binn 目錄中。
2)在"重建 Master"對話框中單擊"瀏覽"按鈕。
3)在"瀏覽文件夾"對話框中,選擇 SQL Server 2000 光碟上或用於安裝 SQL Server 2000 的共享網路目錄中的 \Data 文件夾,然後單擊"確定"按鈕。
4)單擊"設置"按鈕。在"排序規則設置"對話框中,驗證或更改用於 Master 資料庫或其它資料庫的設置。
最初,顯示的是默認排序規則設置,但這些設置有可能與安裝期間選擇的排序規則不匹配。可以選擇與安裝期間使用的排序規則相同的設置,也可以選擇新的排序規則設置。完成後單擊"確定"按鈕。
5)在"重建 Master"對話框中單擊"重建"按鈕以啟動進程。

C. 請問只有master.mdf,沒有備份文件的情況下,怎麼恢復master資料庫,sql server 2008 r2.

sql server 2005 & 2008 master與msdb資料庫的備份與恢復,master與msdb資料庫的備份與普通資料庫一樣,本文主要描述master與msdb資料庫的恢復的一些個人積累。 恢復master與msdb資料庫關鍵在於以單用戶模式啟動,其它並沒有太大的區別。 由於系統資料庫對Sql Server來說尤其重要,為了確保SQL SERVER系統的正常運行,除了日常備份用戶的資料庫之外,我們還需要備份系統資料庫,如對Master,Model,Msdb(TempDB不需備份)進行完整備份 1、還原Master資料庫 如果系統配置丟失或Master出現問題,可以進入單用戶模式進行還原;如果出現下列情況,必須重新生成損壞的 master 資料庫: A. master 資料庫的當前備份不可用。 B. 存在 master 資料庫備份,但由於 Microsoft SQL Server 實例無法啟動,因此無法還原該備份。 1、重新生成 master 資料庫: 注意: 在 SQL Server 2005 中已廢止 Rebuildm.exe 程序。若要重新生成 master 資料庫,請使用 setup.exe。 1、 Start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 例:start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@ 註:INSTANCENAME:指定實例名,默認實例則用mssqlserver表示 REINSTALL:指定引擎 SAPWD:強密碼 Setup.exe:指定光碟1中的根目錄下的文件 /qn 開關用於取消所有安裝程序對話框和錯誤消息。如果指定 /qn 開關,則所有安裝程序消息(包括錯誤消息)都將寫入安裝程序日誌文件。有關日誌文件的詳細信息,請參閱如何查看 SQL Server 2005 安裝日誌文件。 指定 /qb 開關將顯示基本的安裝程序對話框。還會顯示錯誤消息。 2、 還原Master備份(在恢復master的備份時要注意:必須在單用戶(single user)模式下進行 ) a.進入單用戶模式的方法: 1.在命令行模式下輸入sqlservr -c -f -m或者輸入sqlservr -m 其中:-c 可以縮短啟動時間,SQL Server 不作為Windows NT的服務啟動 -f 用最小配置啟動SQL Server -m 單用戶模式啟動SQL Server 2.系統默認沒有設置PATH,先進入CMD,進入“C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn”,執行SQLSERVR.EXE –M 打開SSMS工具,先斷開連接,再新建查詢,執行以下命名還原 USE master GO RESTORE DATABASE master FROM disk=‘c:“master.bak‘ GO 開始實驗了~~~ MASTER重新生成 為了模擬MASTER資料庫壞了,我們就刪除MASTER資料庫(要停止SQL SERVER服務才能刪除)在我的電腦,C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“MSSQL“DATE 中刪除MASTER.MDF 重新生成MASTER 1.首先在CMD中輸入 start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 其中的 SETUP.EXE為啟動光碟的路徑,我這里的是 E:“SETUP.EXE /QN 我這里的為默認實例所以其中的用 MSSQLSERVER代替 最後的為密碼我設密碼為abc123@!@,所以就用abc123@!@代替 若沒有返回錯誤,我們就可以到我的電腦中C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“DATE上面又有MASTER.MDF了 接下來進入目錄 單用戶模式 啟動SSMS工具,新建查詢 輸入命令 啟動服務(MSSQL SERVER) 打開SSMS 連接到資料庫後就可以發現資料庫中的數據又回來了 以下是我在命令行下搞的命令,我用記事本的方式全部復制下來了,為了不傳附件,我就直接粘貼到下面了 Microsoft Windows [版本 5.2.3790] (C) 版權所有 1985-2003 Microsoft Corp. C:“Documents and Settings“Administrator>start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@ C:“Documents and Settings“Administrator>cd C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn>sqlservr.exe -m 2008-04-18 15:47:46.56 Server Authentication mode is MIXED. 2008-04-18 15:47:46.59 Server Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1) 2008-04-18 15:47:46.59 Server (c) 2005 Microsoft Corporation. 2008-04-18 15:47:46.59 Server All rights reserved. 2008-04-18 15:47:46.59 Server Server process ID is 3984. 2008-04-18 15:47:46.59 Server Logging SQL Server messages in file ‘C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG‘. 2008-04-18 15:47:46.59 Server This instance of SQL Server last reported using a process ID of 764 at 2008-4-18 15:46:40 (local) 2008-4-18 7:46:40 (UTC). This is an informational message only; no user action is required. 2008-04-18 15:47:46.60 Server Registry startup parameters: 2008-04-18 15:47:46.60 Server -d C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“master.mdf 2008-04-18 15:47:46.60 Server -e C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG 2008-04-18 15:47:46.60 Server -l C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“mastlog.ldf 2008-04-18 15:47:46.62 Server Command Line Startup Parameters: 2008-04-18 15:47:46.62 Server -m2008-04-18 15:47:46.64 伺服器 SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required. 2008-04-18 15:47:46.67 伺服器 Detected 1 CPUs. This is an informational message; no user action is required. 2008-04-18 15:47:46.78 伺服器 Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required. 2008-04-18 15:47:46.84 伺服器 Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required. 2008-04-18 15:47:47.95 伺服器 Attempting to recover in-doubt distributed transactions involving Microsoft Distributed Transaction oordinator (MS DTC). This is an informational message only. No user action is required. 2008-04-18 15:47:47.96 伺服器 Database Mirroring Transport is disabled in the endpoint configuration. 2008-04-18 15:47:47.96 spid5s Warning ****************** 2008-04-18 15:47:47.96 spid5s SQL Server started in single-user mode. This an informational message only. No user action is required. 2008-04-18 15:47:47.99 spid5s Starting up database ‘master‘. 2008-04-18 15:47:48.17 spid5s Recovery is writing a checkpoint in database ‘master‘ (1). This is an informational message only. No user action is required. 2008-04-18 15:47:48.28 spid5s SQL Trace ID 1 was started by login "sa". 2008-04-18 15:47:48.32 spid5s Starting up database ssqlsystemresource‘. 2008-04-18 15:47:48.76 spid5s Server name is ‘VM01‘. This is an informational message only. No user action is required. 2008-04-18 15:47:48.78 spid8s Starting up database ‘model‘. 2008-04-18 15:47:49.20 伺服器 A self-generated certificate was successfully loaded for encryption. 2008-04-18 15:47:49.23 伺服器 Server is listening on [ ‘any‘ 1433]. 2008-04-18 15:47:49.24 伺服器 Server local connection provider is ready to accept connection on [ ““.“pipe“SQLLocal“MSSQLSERVER ]. 2008-04-18 15:47:49.24 伺服器 Server local connection provider is ready to accept connection on [ ““.“pipe“sql“query ]. 2008-04-18 15:47:49.28 伺服器 Server is listening on [ 127.0.0.1 1434]. 2008-04-18 15:47:49.28 伺服器 Dedicated admin connection support was established for listening locally on port 1434. 2008-04-18 15:47:49.29 伺服器 The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies. 2008-04-18 15:47:49.31 伺服器 SQL Server is now ready for client connections. This is an informational message; no user action is required. 2008-04-18 15:47:49.40 spid5s Starting up database ‘msdb‘. 2008-04-18 15:47:49.68 spid8s Clearing tempdb database. 2008-04-18 15:47:49.93 spid5s Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required. 2008-04-18 15:47:50.57 spid8s Starting up database ‘tempdb‘. 2008-04-18 15:47:50.76 spid5s Recovery is complete. This is an informational message only. No user action is required. 2008-04-18 15:56:22.34 spid51 SQL Trace was stopped e to server shutdown. Trace ID = ‘1‘. This is an informational message only; no user action is required. 2008-04-18 15:56:22.40 伺服器 The SQL Network Interface library could not deregister the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Administrator should deregister this SPN manually to avoid client authentication errors. C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn> 打開SSMS工具,先斷開連接,再新建查詢,執行以下命名還原 USE master GO RESTORE DATABASE master FROM disk=‘C:“Program Files“Microsoft SQL Server“MSSQL.1 “MSSQL“Backup“master.bak‘ GO 資料庫中的顯示的消息應為: 已為資料庫 ‘master‘,文件 ‘master‘ (位於文件 1 上)處理了 376 頁。 已為資料庫 ‘master‘,文件 ‘mastlog‘ (位於文件 1 上)處理了 6 頁。 已成功地還原了 master 資料庫。正在關閉 SQL Server。 SQL Server 正在終止此進程。 則表示master資料庫還原成功,啟動服務後進入SSMS即可看到master資料庫了 恢復master資料庫 方法一:(操作步驟) 1停止MSSQLSERVER服務 2命令行輸入: net start "SQL Server (MSSQLSERVER)" /m 正常情況下顯示如下信息: SQL Server (MSSQLSERVER) 服務正在啟動 .. SQL Server (MSSQLSERVER) 服務已經啟動成功。 3命令行輸入: sqlcmd 1>USE master; 2>GO 此時顯示: 已將資料庫上下文更改為 'master'。 1>RESTORE DATABASE master FROM DISK='資料庫備份文件路徑'; 2>GO 如果恢復成功,顯示如下信息: 已為資料庫 'master',文件 'master' (位於文件 1 上)處理了 376 頁。 已為資料庫 'master',文件 'mastlog' (位於文件 1 上)處理了 3 頁。 已成功地還原了 master 資料庫。正在關閉 SQL Server。 SQL Server 正在終止此進程。 失敗則顯示: 消息 3154,級別 16,狀態 4,伺服器 HC,第 1 行 備份集中的資料庫備份與現有的 'master' 資料庫不同。 消息 3013,級別 16,狀態 1,伺服器 HC,第 1 行 RESTORE DATABASE 正在異常終止。 此時需要在恢復語句後面加上:WITH REPLACE。如: 1>RESTORE DATABASE master FROM DISK=資料庫備份文件路徑' WITH REPLACE; 2>GO 4重啟MSSQLSERVER服務 方法二:(與方法一差不多) 1打開“SQL Server 配置管理器”,單擊“SQL Server 服務” 2在右窗格中,右鍵單擊“SQL Server (<實例名>)”,再單擊“屬性” 3在“高級”選項卡的“啟動參數”框中,鍵入以分號“;”分隔的參數。(例如,若要以單用戶模式啟動,在現有啟動選項之前插入“-m;”,單擊“確定”,此時,彈出警告框,單擊“確定”即可) 4重新啟動資料庫引擎 5(同方法一中步驟3) 6成功恢復master資料庫後,若要以正常的多用戶模式重新啟動伺服器實例,必須先從“啟動參數”框中刪除剛才輸入的“-m;”,然後重新啟動SQL Server服務 恢復msdb資料庫 在msdb資料庫里存儲較多的是SQL Agent里的內容,如作業、調度、操作員、警告等信息,同時還存放SQL Server Integration Service(SSIS)相關信息。其恢復過程與普通資料庫恢復過程大同小異,不同點就是需要在單用戶模式啟動下進行恢復。 1打開SQL Server Management Studio,連接到相關的資料庫伺服器 2右鍵單擊msdb資料庫,單擊“屬性”打開資料庫屬性窗口,單擊“選項”,在右邊的“狀態”/“限制訪問”指定“SINGLE_USER”,然後單擊“確定”即以單用戶模式啟動,此時msdb顯示為“msdb(單個用戶)” 3(同恢復普通資料庫一樣...) 4恢復完畢後,別忘了將“限制訪問”改加以前的狀態“MULTI_USER”

D. master資料庫備份了,如何還原

master 資料庫已經進行了備份,但還原的時候提示:
當試圖還原master 資料庫時,必須以單用戶模式使用restore database.
restore database 操作異常終止.
1、可以在命令行模式下輸入 sqlservr -c -f -m 或者輸入 sqlservr -m 其中:
-c 可以縮短啟動時間,SQL Server 不作為Windows NT 的服務啟動 -f 用最小
配置啟動SQL Server -m 單用戶模式啟動SQL Server
2、可以在控制面板-服務-MSSQLServer 的啟動參數中輸入-c -f -m 或者輸入-m,點擊開始3、還有一種更靈活的啟動方法:用存在注冊表裡的啟動參數啟動 在MSSQLServer 項下添
加項SingleUser,具體內容如下所示:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\SingleUser\ParametersSQLArg0REG_SZ : -dC:\MSSQL7\DATA\MASTER.DATSQLArg1REG_SZ : -eC:\MSSQL7\LOG\ERRORLOG
SQLArg2 :
REG_SZ : -lC:\MSSQL7\DATA\MASTLOG.DATSQLArg3REG_SZ : -m 在命令行下輸入SQLServr -c -s
轉:在SQL Server2000 中恢復Master 資料庫
方法1:重裝SQL,但是數據就Over 掉了
方法2:重建Master Rebuildm.exe 用到SQL 的安裝文件,從安裝目錄X86\Data 中
拷取原文件。重建成功後,不要啟動SQL Server,以單用戶模式進入SQL
\bin\sqlservr.exe -m
還原資料庫備份
restore database master from disk= 'e:\master.bak '恢復Master啟動SQL Server
sp_admpdevice 'disk ',Mas, 'E:\Master.bak '
backup database master to mas
restore verifyonly from mas
Cut the Master db
rebuildm.exe
Sqlservr.exe -m
restore database master from disk= 'e:\master.bak '
如果是Model 資料庫損壞,具體過程為:
先重建 Master 資料庫,再恢復 Model 資料庫的備份;MSDB 的損壞不影響 SQL Server
的正常運行, 備份還原和用戶資料庫相同;TempDB:SQL Server 每次啟動的時候,都會
使用Model 資料庫重建,不用備份。

E. 如何重新生成master 資料庫

當Master資料庫損壞了,無法打開實例,我們必需重建Master資料庫 Master損壞後,試圖啟動服務的時候會報錯,無法啟動
重建Master資料庫前提條件:
1. 曾備份過Master資料庫
2. 混合模式下
3. 啟用了sa賬戶
4. sql server 2005 安裝盤
Master資料庫文件損壞,不能啟動實例
(實驗模擬可改其資料庫名字(必需停止服務)達到損壞它的目的。例如:master1.mdf):
接下來我們開始重建恢復的步驟:
1. 先輸入命令行重建Master資料庫

2. 在cmd命令提示符下,進入到這個目錄
C:\>cd "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn"
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>start /wait d:\setup.exe /qn INSTANCENAME="MSSQLSERVER" REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=163.com
重建的時間可能會長些,請耐心的等待下…… 註:
D:\setup.exe 制定安裝盤的盤符位置
INSTANCENAME:指定實例名(默認實例則用mssqlserver表示) REINSTALL:指定引擎
SAPWD:重新設置sa的強密碼(一般企業都是啟用強密碼策略的/4選3) Setup.exe:指定光碟1中的根目錄下的文件
/qn 開關用於取消所有安裝程序對話框和錯誤消息。如果指定 /qn 開關,則所有安裝程序消息(包括錯誤消息)都將寫入安裝程序日誌文件。有關日誌文件的詳細信息,請參閱如何查看 SQL Server 2005 安裝日誌文件。
指定 /qb 開關將顯示基本的安裝程序對話框。還會顯示錯誤消息。

3.C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>sqlservr.exe -c –m
輸入命令行進單用戶模式,還原整個資料庫的Master資料庫,剛才只是重建了一個新的資料庫,並不是我們原來的那個,所以要進行還原回備份時的狀態

4.啟動SSMS——用sa登錄——斷開連接(這步很關鍵,千萬要記住)——新建查詢(sa)——還原master資料庫 輸入以下語句:
use master go
restore database master from disk='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak' with replace

(注: 'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Backup\master.bak'為你備份文件的路徑)
完成恢復,啟動服務,打開SSMS

F. master資料庫損壞怎麼修復

有設置快照 或者 定期鏡像么?回滾吧。。。。。

你要是確定slave數據沒問題的話 可以手動復制回去

G. SQL 2008 系統資料庫 master中的部分表被我手動刪除了 求恢復master

遇到損壞或者錯誤的master資料庫是最難解決情況之一。Master資料庫包含了SQL Server需要的關鍵信息。如果master資料庫出錯,那麼SQL Server就不能啟動。要在這種情況下還原master資料庫,可以按照下面這些步驟來從災難中恢復過來:
1. 使用\PRogram Files\Microsoft SQL Server\80\Tools\Binn目錄下的rebuidm.exe文件重建master資料庫。重建master資料庫可以使你的資料庫文件完整無缺。為以防萬一,經常把數據和日誌文件備份到一個單獨的目錄是個不錯的主意。
2. 使用-m參數啟動SQL Server,這樣可以以單用戶模式重新啟動SQL Server。
3. 從最近一次已知最好的備份來還原master資料庫。
4. 核實master資料庫是不是已經成功還原:確認所有資料庫都已恢復正常運行。從最近一次已知最好的備份來還原msdb資料庫。
5. 以普通模式停止和啟動SQL Server。
6. 向生產用戶開放資料庫。
如果這樣做沒有效,那麼重建master資料庫然後附加這個資料庫。這也是DBA的任務之一,當然你並不希望經常這樣做。如果master資料庫出現問題,那麼伺服器上所有的資料庫都會出現問題。
總的來說,恢復時要完成的第一個步驟就是安裝一個新的master資料庫,使伺服器至少能夠啟動。在此基礎上,就可以還原真正的master資料庫了。雙擊了rebuildm.exe之後,將啟動rebuild master實用程序,它需要三個參數:
① 要恢復的伺服器名稱。
② Master資料庫在原來的安裝程序中的位置,如果SQL Server的版本為SP2,這個位置應當是安裝CD的x86\data目錄(在更早的版本中,由於存在程序錯誤,有可能需要將這個data目錄拷貝到硬碟驅動器或者網路驅動器上)。
③ 伺服器的排序規則。
這個重建過程將會重新創建全部四個系統資料庫以及Northwind和Pubs,接著對伺服器進行配置。整個重建過程大約需要數分鍾,如果以前使用service pack對伺服器進行了升級,將有可能花費更長時間。
恢復過程的第二個步驟是使用伺服器管理或者企業管理器來啟動伺服器。
依賴於你的安全性配置,企業管理器很有可能沒有連接到伺服器的許可權。重建master資料庫將會丟掉除了sa以外的所有用戶登錄,並把sa的空口令重置為空。如果要調整企業管理器的連接配置,以便作為sa以空口令連接到伺服器,可以編輯SQL Server的注冊屬性。不要擔心sa的空口令,因為我們很快就會恢復真正的master資料庫。
一旦伺服器再次運行,你就會發現所有的用戶資料庫都不見了,因為重建的master資料庫沒有包含有關這些用戶資料庫的信息。
恢復過程的第三個步驟就是將伺服器置於單用戶模式,以便還原master資料庫。在企業管理器中,要完成以下步驟:
① 選擇伺服器。
② 使用右鍵單擊它,並從彈出的快捷方式菜單中選擇「屬性」菜單項,打開「伺服器屬性」對話框。
③ 單擊「啟動參數」按鈕。
④ 在「參數」文本框中輸入-m,然後按下「添加」按鈕。
⑤ 按下「確定」按鈕關閉「啟動參數」對話框,然後關閉「伺服器屬性」對話框。
⑥ 關閉企業管理器。
警告:在SQL Server實例處於單用戶模式時,不要使用企業管理器。這樣做有可能會鎖定該實例,使它進入不能接受其他連接的狀態。
⑦ 使用SQL Server伺服器管理器停止並重新啟動SQL Server實例。
恢復損壞的master資料庫的第四個步驟才是進行真正的還原。因為SQL Server現在處於單用戶模式,所以必須使用查詢分析器來完成這一步驟。如果試圖在企業管理器中還原master資料庫,將會產生嚴重的問題。在查詢分析器中進行還原時,需要執行下面的命令:
RESTORE DATABASE master
FROM
DISK=』systembackup』
WITH FILE=1
執行結果如下:
The master database has been successfully restored.
Shutting down SQL Server.
SQL Server is terminating this process.
關閉查詢分析器,並使用SQL Server的服務管理器重新啟動SQL Server實例。
還原master資料庫的最後一步是把在第三個步驟加入的-m啟動參數去掉,將SQL Server實例重新置於多用戶狀態。要修改這個啟動參數,可以使用企業管理器的「伺服器屬性」對話框。
關閉企業管理器,使用SQL Server的服務管理器停止並重新啟動SQL Server實例。

H. 怎樣重建SQL2005中的master

遇到損壞或者錯誤的master資料庫是最難解決情況之一。Master資料庫包含了SQL Server需要的關鍵信息。如果master資料庫出錯,那麼SQL Server就不能啟動。要在這種情況下還原master資料庫,可以按照下面這些步驟來從災難中恢復過來: 1. 使用\Program Files\Microsoft SQL Server\80\Tools\Binn目錄下的rebuidm.exe文件重建master資料庫。重建master資料庫可以使你的資料庫文件完整無缺。經常把數據和日誌文件備份到一個單獨的目錄是個不錯的主意。 2. 使用-m參數啟動SQL Server,這樣可以以單用戶模式重新啟動SQL Server。 3. 從最近一次已知最好的備份來還原master資料庫。 4. 核實master資料庫是不是已經成功還原:確認所有資料庫都已恢復正常運行。從最近一次已知最好的備份來還原msdb資料庫。 5. 以普通模式停止和啟動SQL Server。 6. 向生產用戶開放資料庫。 如果這樣做沒有效,那麼重建master資料庫然後附加這個資料庫。這也是DBA的任務之一,當然你並不希望經常這樣做。如果master資料庫出現問題,那麼伺服器上所有的資料庫都會出現問題。 總的來說,恢復時要完成的第一個步驟就是安裝一個新的master資料庫,使伺服器至少能夠啟動。在此基礎上,就可以還原真正的master資料庫了。雙擊了rebuildm.exe之後,將啟動rebuild master實用程序,它需要三個參數: ① 要恢復的伺服器名稱。 ② Master資料庫在原來的安裝程序中的位置,如果SQL Server的版本為SP2,這個位置應當是安裝CD的x86\data目錄(在更早的版本中,由於存在程序錯誤,有可能需要將這個data目錄拷貝到硬碟驅動器或者網路驅動器上)。 ③ 伺服器的排序規則。 這個重建過程將會重新創建全部四個系統資料庫以及Northwind和Pubs,接著對伺服器進行配置。整個重建過程大約需要數分鍾,如果以前使用service pack對伺服器進行了升級,將有可能花費更長時間。 恢復過程的第二個步驟是使用伺服器管理或者企業管理器來啟動伺服器。 依賴於你的安全性配置,企業管理器很有可能沒有連接到伺服器的許可權。重建master資料庫將會丟掉除了sa以外的所有用戶登錄,並把sa的空口令重置為空。如果要調整企業管理器的連接配置,以便作為sa以空口令連接到伺服器,可以編輯SQL Server的注冊屬性。不要擔心sa的空口令,因為我們很快就會恢復真正的master資料庫。一旦伺服器再次運行,你就會發現所有的用戶資料庫都不見了,因為重建的master資料庫沒有包含有關這些用戶資料庫的信息。恢復過程的第三個步驟就是將伺服器置於單用戶模式,以便還原master資料庫。在企業管理器中,要完成以下步驟: ① 選擇伺服器。 ② 使用右鍵單擊它,並從彈出的快捷方式菜單中選擇「屬性」菜單項,打開「伺服器屬性」對話框。 ③ 單擊「啟動參數」按鈕。 ④在「參數」文本框中輸入-m,然後按下「添加」按鈕。 ⑤ 按下「確定」按鈕關閉「啟動參數」對話框,然後關閉「伺服器屬性」對話框。 ⑥ 關閉企業管理器。 警告:在SQL Server實例處於單用戶模式時,不要使用企業管理器。這樣做有可能會鎖定該實例,使它進入不能接受其他連接的狀態。 ⑦ 使用SQL Server伺服器管理器停止並重新啟動SQL Server實例。 恢復損壞的master資料庫的第四個步驟才是進行真正的還原。因為SQL Server現在處於單用戶模式,所以必須使用查詢分析器來完成這一步驟。如果試圖在企業管理器中還原master資料庫,將會產生嚴重的問題。在查詢分析器中進行還原時,需要執行下面的命令: RESTORE DATABASE master FROM DISK=』systembackup』 WITH FILE=1 執行結果如下: The master database has been successfully restored. Shutting down SQL Server. SQL Server is terminating this process. 關閉查詢分析器,並使用SQL Server的服務管理器重新啟動SQL Server實例。 還原master資料庫的最後一步是把在第三個步驟加入的-m啟動參數去掉,將SQL Server實例重新置於多用戶狀態。要修改這個啟動參數,可以使用企業管理器的「伺服器屬性」對話框。 關閉企業管理器,使用SQL Server的服務管理器停止並重新啟動SQL Server實例。

I. 求助SQL2005資料庫master損壞

沒有master備份,是不能還原的。你只能重新安裝SQL2005軟體或實例,然後將用戶資料庫進行還原或者附加。 系統資料庫如果沒有備份,那是無法還原的,特別是master資料庫尤其的重要,沒有備份只能說一聲遺憾了。