KB3188454-改善:使用 SQL Server 中的 VDC_Complete 命令來加強 VDI 通訊協定

改進

在目前的 SQL Server 虛擬備份裝置介面(VDI)通訊協定實現中,從 SQL Server 傳送到 VDI 用戶端的最後一則訊息就是 VDC_Flush 命令。 為了防止資料遺失,VDI 用戶端必須先完成備份,然後才能回應 VDC_Flush 命令。 從 SQL Server 2008 開始,並引入 FILESTREAM 之後,您可以在備份期間多次傳送 VDC_Flush 命令。 這個作業會導致 VDI 用戶端必須在備份作業期間完成多次備份的問題。 這對於某些 VDI 用戶端而言是不可能的。 此外,如果 VDI 用戶端回應 VDC_Flush 命令,而不保證在 VDC_Flush之後有更多資料,則 SQL Server 可能會截斷事務記錄記錄。 不過,如果在 VDI 用戶端上備份最終失敗,而且事務日誌也會被截斷,可能會發生資料遺失。此更新會新增一個新的 VDI 命令 VDC_Complete ,指出 SQL Server 已完成將資料傳送到 VDI 用戶端的操作。 因此,VDI 用戶端在將回應傳送給 SQL Server 前,就能完成備份。這項功能可讓 VDI 用戶端在發生錯誤時無法進行備份,同時也會因錯誤而避免事務日誌被截斷。注意: 為了支援新的 VDC_Complete 命令,此更新也會在 VDF_RequestComplete 和 VDF_CompleteEnabled中新增兩個新的 VDI 功能。

更新資訊

此改進包含在 SQL Server 的下列累積更新中: Sql server 2016 的累積更新 2 SP1     sql server 2016 的累加更新 4

Sql server 2012 Service Pack 3 (SP3)累積更新5的 sql SERVER 2014 SP2累積更新10(適用于 sql server 2014 SP1

關於 SQL Server 的累計更新

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2016 的最新累計更新

    SQL Server 2014 SP1/SP2 的最新累計更新

    SQL Server 2012 SP3 的最新累計更新 

其他相關資訊

若要使用 [新增 VDC_Complete ] 命令,必須將下列實現套用到您的 VDI 用戶端:

  1. 要求新的 VDI 功能 VDF_RequestComplete。 如果 SQL Server 支援 VDC_Complete命令,則會傳回 not Null 回應。 否則,它會針對要求的功能傳回 Null 回應。 這裡的程式碼範例示範如何要求功能:

    m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
  2. 使用GetConfiguration函數判斷 SQL Server 是否支援新的VDC_Complete命令。

    hr = m_pvdiComponents->m_pvdDeviceSet->GetConfiguration(timeout, m_pvdiComponents->m_pvdConfig);        if (!(m_pvdiComponents->m_pvdConfig->features & VDF_CompleteEnabled))       {              printf("Server does not support VDC_Complete.");              return VD_E_NOTSUPPORTED;       }
  3. 當您處理 GetCommand 函數所提取的 VDI 訊息時,請新增額外的 case 語句來處理 VDC_Complete 命令。

    case VDC_Complete:              // Close the media and ensure that book keeping is completed.              backupMedia->Close();              completionCode = ERROR_SUCCESS;              break;

注意VDC_Complete 郵件必須併入備份應用程式中,才能使用此改進。

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×