Applies ToSQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Poboljšanje

U trenutnoj implementaciji VDI (SQL Server Virtual Backup Device Interface) protokola, poslednja poruka poslata sa SQL Servera VDI klijentu biće VDC_Flush uređaja. Da bi sprečio gubitak podataka, VDI klijent mora da završi pravljenje rezervne kopije pre nego što odgovori VDC_Flush komandu. Počevši od sistema SQL Server 2008 i uvođenja FILESTREAM-a, VDC_Flush može biti poslata više puta tokom pravljenja rezervne kopije. Ova operacija izaziva problem zbog kojeg VDI klijent mora više puta da završi pravljenje rezervne kopije tokom operacije pravljenja rezervne kopije. To nije moguće za neke VDI klijente. Pored toga, ako VDI klijent odgovori na VDC_Flush komandu bez obezbeđivanja da rezervna kopija bude očvrsnuta kada posle VDC_Flush- a dođe još podataka, SQL Server može skratiti evidenciju transakcija. Međutim, ako rezervna kopija na kraju ne uspe na VDI klijentu, a evidencija transakcija je takođe skraćena, može doći do gubitka podataka. Ova ispravka dodaje novu VDI komandnu VDC_Complete koja ukazuje na to da je SQL Server dovršio slanje podataka VDI klijentu. Zbog toga će VDI klijent moći da završi pravljenje rezervne kopije pre nego što pošalje odgovor na SQL Server.Ova funkcionalnost omogućava VDI klijentu da ne uspe u pravljenju rezervne kopije u slučaju da nešto pođe po zlu, a takođe sprečava da se evidencija transakcija greškom odseca.Napomena Da bi podržala novu VDC_Complete, ova ispravka dodaje i dve nove VDI funkcije VDF_RequestComplete i VDF_CompleteEnabled.

Informacije o ažuriranju

Ovo poboljšanje je uključeno u sledeće kumulativne ispravke za SQL Server: Kumulativna ispravka 2 za SQL Server 2016 SP1     Kumulativna ispravka 4 za SQL Server 2016

Kumulativna ispravka 5 za SQL Server 2012 servisni paket 3 (SP3) Kumulativna ispravka 3 za SQL Server 2014 SP2 Kumulativna ispravka 10 za SQL Server 2014 SP1

Kumulativne ispravke za SQL Server

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:

Najnovija kumulativna ispravka za SQL Server 2016

    Najnovija kumulativna ispravka za SQL Server 2014 SP1/SP2

    Najnovija kumulativna ispravka za SQL Server 2012 SP3 

Više informacija

Da biste koristili novu VDC_Complete, na VDI klijent moraju da se primene sledeće implementacije:

  1. Zahtevaj novu VDI funkciju VDF_RequestComplete. Ako SQL Server podržava VDC_Complete, on će dati odgovor not NULL. U suprotnom, ona će vratiti null odgovor za zahtevanu funkciju. Uzorak koda ovde prikazuje kako se zahteva funkcija:

    m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
  2. Utvrdite da li SQL Server podržava novu VDC_Complete komandu pomoću funkcije 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;       }
  3. Kada obrađujete VDI poruke koje dobija funkcija GetCommand, dodajte dodatnu izjavu o predmetu da biste obradili VDC_Complete datoteke.

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

Napomena Poruka VDC_Complete mora biti uključena u rezervnu aplikaciju da bi mogla da koristi poboljšanje.

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.