使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

Microsoft 將 Microsoft SQL Server 2008 與 Microsoft SQL Server 2008 R2 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 或 SQL Server 2008 R2 修正版本中所包含的所有熱修復程式及所有安全性修正程式。

徵狀

請試想下列案例:

  • 您在 SQL Server 2008 或 Microsoft SQL Server 2008 R2 中的資料庫上使用透明資料加密。

  • 您停用資料庫加密。

  • 您可以在停用加密之後,立即備份您的資料庫。

  • 您嘗試使用備份來還原另一個 SQL Server 實例上的資料庫。

在這種情況下,還原作業會失敗,而且您會收到類似以下的錯誤訊息:

SqlClient:檔案「<資料庫名稱>_log」無法正確初始化。 如需詳細資訊,請查看錯誤記錄。 (Microsoft.SqlServer.Smo)

不過,錯誤記錄沒有詳細資料。 如果您在備份資料庫之前移除資料庫的加密金鑰,當您嘗試還原資料庫時,會收到下列錯誤訊息:

SqlClient:找不到指紋為「0xCB62FF76463A6BF86E8F769B541BA6483AFC2FF2」的伺服器憑證。 (Microsoft.SqlServer.Smo)

解決方案

累積更新資訊

SQL Server 2008 Service Pack 1

此問題的修正程式會在 SQL Server 2008 Service Pack 1 的累積更新10中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2279604 SQL Server 2008 的累積更新套件 10 Service Pack 1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 在發行 SQL Server 2008 Service Pack 1 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 1 修補程式套用至 SQL Server 2008 Service Pack 1 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。

SQL Server 2008 Service Pack 2

此問題的修正程式是在 SQL Server 2008 Service Pack 2 的累積更新1中第一次發行。 如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2289254 SQL Server 2008 的累積更新 1 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建

SQL Server 2008 R2

此問題的修正程式是以累積更新4第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2345451 SQL Server 2008 R2 的累積更新套件4 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

重現問題的步驟

  1. 建立主機碼。 下列是建立主要金鑰的程式碼範例:

    use masterCreate Master Key encryption by password = 'Password01!';go
  2. 建立或取得受主要金鑰保護的憑證。 下列是建立由主要金鑰所保護的憑證的程式碼範例:

    create certificate cert_testDB_encryptDEK  authorization dbowith subject='Certificate to encrypt the DEK of testDB'
  3. 建立新資料庫、建立資料庫加密金鑰,然後依據憑證保護金鑰。 下列是建立新資料庫的程式碼範例,該程式碼會建立資料庫加密金鑰,然後使用憑證來保護金鑰:

    create Database testDBuse testDBCreate database encryption key with algorithm=AES_128encryption by server certificate cert_testDB_encryptDEK  
  4. 將資料庫設定為使用加密。 下列是將資料庫設為使用加密的程式碼範例:

    Alter database testDB set encryption on 
  5. 停用資料庫加密。 下列是停用資料庫加密的程式碼範例:

    Alter database testDB set encryption off 
  6. 備份資料庫,然後還原其他版本的 SQL Server 上的備份。

參考

如需透明資料加密(TDE)的詳細資訊,請造訪下列 Microsoft 開發人員網路(MSDN)網站:

TDE 的一般資訊如需有關 SQL Server 的增量服務模型的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

935897 您可以從 SQL Server 團隊取得增量服務模型,以提供已報告問題的修補程式如需 SQL Server 更新命名架構的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

822499Microsoft SQL Server 軟體更新套件的新命名架構如需軟體更新術語的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

824684 描述 Microsoft 軟體更新所使用的標準術語說明

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×