您目前已離線,請等候您的網際網路重新連線

當 SQL Server 2000 升級為 SQL Server 2005 時,SQL Server 2005 沒有啟動

Beta 版資訊
本文將告訴您 Beta 版的 Microsoft 產品。本文中的資訊係依「現況」提供,如有變更恕不另行通知。

Microsoft 不提供本 Beta 版產品的一般產品支援。如需有關如何取得 Beta 版本支援的詳細資訊,請參閱隨附於 Beta 版產品檔案中的說明文件,或是造訪下載此版本產品的網站。
徵狀
當 Microsoft SQL Server 2000 升級為 Microsoft SQL Server 2005 時,SQL Server 2005 沒有啟動。下列訊息會記錄在應用程式記錄檔中:

訊息 1
無法載入使用者專屬的憑證。伺服器將不會接受連接。您應該確認已正確安裝憑證。請參閱線上叢書中的<設定憑證給 SSL 使用>(Configuring Certificate for Use by SSL)。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 2
TDSSNIClient 初始化失敗,其錯誤為 0x80092004,狀態碼為 0x80。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 3
TDSSNIClient 初始化失敗,其錯誤為 0x80092004,狀態碼為 0x1。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 4
由於網路程式庫發生內部錯誤而無法啟動網路程式庫。若要確定其原因,請檢閱錯誤記錄檔中此錯誤的前一個錯誤。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
發生的原因
發生這個問題的原因是儲存在 Certificate 登錄項目中的值在升級前不是有效的。

如果在升級前,將 Certificate 登錄項目設定為非零的值,SQL Server 2005 會遷移並使用該值。因此,如果該值不是有效的,SQL Server 2005 便會因為找不到對應的憑證而無法啟動。
解決方案
如果要解決這個問題,請使用下列其中一種方法:
  • 請使用「SQL Server 組態管理員」來匯入有效的憑證。
  • 清除 Certificate 登錄項目,以取消設定值。SQL Server 2005 會使用自動簽署的憑證。
其他相關資訊
SQL Server 2000 和 SQL Server 2005 永遠會嘗試在連線過程中對登入封包加密。因此,不論是否啟用資料加密,SQL Server 2000 和 SQL Server 2005 都會嘗試載入安全通訊端層 (SSL) 憑證。

如果未將 Certificate 登錄項目設定為有效的值時,那麼 SQL Server 2000 不需在本機電腦上載入憑證即可啟動。SQL Server 2000 也就不會嘗試對登入封包加密。例如,0 就是無效值。如果將 Certificate 登錄項目設定為有效的值時,SQL Server 2000 就會嘗試載入憑證並對登入封包加密。

下面的登錄子機碼為 SQL Server 2000 的 Certificate 登錄項目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib

值名稱:Certificate
類型:REG_SZ
和 SQL Server 2000 不同的是,SQL Server 2005 不會讓您透過將 Certificate 登錄項目的值設定為 0 的方式來停用加密。當您將 SQL Server 2000 升級為 SQL Server 2005 時,如果將 Certificate 登錄項目的值設定為 0,那麼 SQL Server 2005 便會清除 Certificate 登錄項目。在這種情況下,當執行個體啟動時,SQL Server 2005 便會產生自動簽署的憑證。

下面的登錄子機碼為 SQL Server 2005 的 Certificate 登錄項目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib

值名稱:Certificate
類型:REG_SZ
如果儲存在 Certificate 登錄項目中的值因長度不正確而不是有效的,那麼 SQL Server 2005 便不會啟動。下列訊息會記錄在應用程式記錄檔中:

訊息 1
TDSSNIClient 初始化失敗,其錯誤為 0xd,狀態碼為 0x38。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 2
TDSSNIClient 初始化失敗,其錯誤為 0xd,狀態碼為 0x1。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 3
由於網路程式庫發生內部錯誤而無法啟動網路程式庫。若要確定其原因,請檢閱錯誤記錄檔中此錯誤的前一個錯誤。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
如果儲存在 Certificate 登錄項目中的值是有效的,那麼 SQL Server 2005 便會成功啟動,而下面的訊息會記錄在應用程式記錄檔中:
憑證已成功載入進行加密。
內容

文章識別碼:900497 - 最後檢閱時間:09/22/2006 03:30:21 - 修訂: 2.0

  • Microsoft SQL Server 2005 Standard Edition Community Technology Preview
  • Microsoft SQL Server 2005 Enterprise Edition Community Technology Preview
  • Microsoft SQL Server 2005 Developer Edition Community Technology Preview
  • Microsoft SQL Server 2005 Express Edition Community Technology Preview
  • kbtshoot kbprb KB900497
意見反應