Sql-Server

SQL Server 2008 服務不斷崩潰

  • May 13, 2020

問題

我有一台執行 SQL Server 2008 SP3 的 Windows 7 Ultimate x64 機器。創建本地數據庫後,當嘗試啟動服務時,它會一直停止(崩潰)。

研究

我在網上閱讀了很多資料,禁用了可能導致衝突的 Windows 和 Java 更新,並關閉了本地電腦上的 SQL Server 服務以查明是否是問題所在 - 但它沒有幫助。

轉到事件查看器並收到以下日誌:

無法創建文件 ‘c:\Program Files (x86)\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\temp_MS_AgentSigningCertificate_database.mdf’,因為它已經存在。更改文件路徑或文件名,然後重試該操作。

數據庫“master”的腳本級別升級失敗,因為升級步驟“sqlagent100_msdb_upgrade.sql”遇到錯誤 598,狀態 1,嚴重性 25。這是一個嚴重的錯誤情況,可能會干擾正常操作,數據庫將離線。如果在升級 ‘master’ 數據庫期間發生錯誤,它將阻止整個 SQL Server 實例啟動。檢查以前的錯誤日誌條目是否有錯誤,採取適當的糾正措施並重新啟動數據庫,以便腳本升級步驟執行完成。

由於伺服器關閉,SQL 跟踪已停止。跟踪 ID = ‘1’。這只是一條資訊性消息;無需使用者操作。

我真的不明白該temp_MS_AgentSigningCertificate_database.mdf文件是什麼,SQL Server 是否試圖自行升級/更新?

我該如何解決這個問題?

附加資訊

這是在全新作業系統上的第一次安裝,因此它不可能來自任何以前的安裝嘗試。我應該使用最新的 SQL Server 版本,它要好得多(我已經將它用於其他目的),但是這個是我學習滲透測試的一部分。我需要啟動這個特定版本。在這種情況下,我認為重新安裝不會解決我的問題。

我真的在這個數據庫上還沒有任何東西;我剛安裝完。這是在全新作業系統上的首次安裝(VMware 虛擬機上的 Windows 7 Enterprise x64,但這並不重要)。

我正在閱讀的書是https://www.nostarch.com/pentesting。它於 2014 年發布,因此被認為是最新的,但仍明確要求安裝 SQL Server 2008,因為它具有已知的漏洞,我們可以在學習過程中利用這些漏洞。

正如Aaron Bertrand所建議的,重命名文件足以解決這個問題:

保存您的備份文件(或 mdf/ldf 文件,如果您不想進行備份),然後刪除該實例。安裝一個新實例(最好是較新版本的),然後將您的數據庫恢復/附加到新實例。

嘗試重命名它抱怨的 mdf 文件(也可能是相應的 ldf 文件)。我以前沒有見過這個問題,但是對於這樣一個古老的、不支持的版本可能需要一些試驗和錯誤。您的滲透測試是否提到了 SQL Server 2008(它可能只是表明它是何時編寫的),或者明確要求它?需要****五個主要版本之前的版本似乎很奇怪,不再受支持,並且正在迅速減少使用。我會仔細檢查你是否需要處理這個問題。

引用自:https://dba.stackexchange.com/questions/161326