Uzlabošanas
Pašreizējā SQL Server virtuālā dublējuma ierīces interfeisa (VDI) protokola ieviešanā Pēdējais ziņojums, kas no SQL Server tiek sūtīts VDI klientam, ir VDC_Flush komanda. Lai novērstu datu zudumu, VDI klientam ir jāpabeidz dublēšana, pirms atbildat uz komandu VDC_Flush . Sākot ar SQL Server 2008 un FILESTREAM, komandu VDC_Flush var nosūtīt vairākus laikus dublējumkopijas laikā. Šī darbība izraisa problēmu, kas VDI klientam ir jāpabeidz dublējums dublēšanas operācijas laikā. Tas nav iespējams dažiem VDI klientiem. Turklāt, ja VDI klients reaģē uz VDC_Flush komandu, nenodrošinot, ka dublēšana ir izcietināta, kad tiek saņemti papildu dati pēc VDC_Flush, SQL Server var apcirst transakciju žurnālu. Taču, ja šis dublējums, iespējams, neizdosies VDI klientā, un transakciju žurnāls tiek saīsināts, iespējama datu zaudēšana. Šis atjauninājums pievieno jaunu VDI komandu VDC_Complete , kas norāda, ka SQL Server ir pabeidzis sūtīt datus VDI klientam. Tāpēc VDI klients varēs pabeigt dublēšanu, pirms tas sūta atbildi uz SQL Server. Šī funkcionalitāte ļauj VDI klientam neļaut veikt dublēšanu, ja kaut kas ir nepareizi, un arī neļauj transakciju žurnālu apcirst kļūdas dēļ.Piezīme. Lai atbalstītu komandu jauns VDC_Complete , šis atjauninājums arī pievieno divus jaunus VDI līdzekļus VDF_RequestComplete un VDF_CompleteEnabled.
Atjaunināšanas informācija
Šis uzlabojums ir iekļauts šādos SQL Server kumulatīvajos atjauninājumos: Kumulatīvais atjauninājums 2 SQL server 2016 SP1 kumulatīvais atjauninājums Nr. 4 SQL Server 2016
Kumulatīvais atjauninājums 5 SQL server 2012 Service Pack 3 (SP3) kumulatīvais atjauninājums 3 SQL Server 2014 SP2 kumulatīvais atjauninājums 10 SQL Server 2014 SP1
Par kumulatīvajiem SQL Server atjauninājumiem
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Jaunākais SQL Server 2016 kumulatīvais atjauninājums
Jaunākais SQL Server 2014 SP1/SP2 kumulatīvais atjauninājums
Papildinformācija
Lai izmantotu komandu jauns VDC_Complete , VDI klientam ir jāpiemēro tālāk norādītās implementācijas.
-
Pieprasiet jauno VDI līdzekļu VDF_RequestComplete. Ja SQL Server atbalsta komandu VDC_Complete , tā atgriezīs atbildi Not Null. Pretējā gadījumā tiek atjaunota pieprasītā līdzekļa atbilde uz NULLI. Koda paraugā ir parādīts, kā pieprasīt līdzekli:
m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
-
Nosakiet, vai SQL Server atbalsta komandu jauns VDC_Complete , izmantojot funkciju GetConfiguration .
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; }
-
Kad apstrādājat VDI ziņojumus, kas tiek ielādēti, izmantojot funkciju GetCommand , pievienojiet papildu lietas priekšrakstu, lai apstrādātu komandu VDC_Complete .
case VDC_Complete: // Close the media and ensure that book keeping is completed. backupMedia->Close(); completionCode = ERROR_SUCCESS; break;
Piezīme.VDC_Complete ziņojums ir jāiekļauj dublējuma lietojumprogrammā, lai to varētu izmantot uzlabošanā.
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.