Zvyšovania
Pri aktuálnej implementácii protokolu VDI (SQL Server Virtual Backup Device Interface) bude Posledná správa odoslaná zo servera SQL Server k klientovi VDI VDC_Flush príkaz. Ak chcete zabrániť strate údajov, klient VDI musí pred odpovedaním na príkaz VDC_Flush dokončiť zálohu. Počnúc SQL Server 2008 a zavedením FILESTREAM môže byť príkaz VDC_Flush odoslaný viackrát počas zálohovania. Táto operácia spôsobuje problém, ktorý klient VDI musí dokončiť zálohovanie viackrát počas operácie zálohovania. Pre niektorých klientov VDI nie je to možné. Ak klient VDI odpovie na príkaz VDC_Flush bez toho, aby sa zabezpečilo, že zálohovanie je vykalené, keď sa po VDC_Flushprichádza viac údajov, SQL Server môže skrátiť denník transakcií. Ak však zálohovanie nakoniec zlyhá na klientovi VDI a denník transakcií je tiež skrátený, môže dôjsť k strate údajov. Táto aktualizácia pridáva nový príkaz VDI VDC_Complete , ktorý označuje, že SQL Server dokončil odosielanie údajov klientovi VDI. Preto bude klient VDI schopný dokončiť zálohu pred odoslaním odpovede na server SQL Server. Táto funkcia umožňuje klientovi VDI zlyhanie zálohovania v prípade, že sa vyskytne chyba, a tiež zabráni tomu, aby sa denník transakcií skrátil omylom.Poznámka: Ak chcete podporiť nový príkaz VDC_Complete , táto aktualizácia pridáva aj dve nové funkcie VDI VDF_RequestComplete a VDF_CompleteEnabled.
Informácie o aktualizácii
Toto zlepšenie je súčasťou nasledujúcich kumulatívnych aktualizácií pre SQL Server: Kumulatívna aktualizácia 2 pre SQL server 2016 SP1 Kumulatívna aktualizácia 4 pre SQL Server 2016
Kumulatívna aktualizácia balíka 5 pre SQL server 2012 Service Pack 3 (SP3) Kumulatívna aktualizácia 3 pre SQL Server 2014 SP2 Kumulatívna aktualizácia 10 pre SQL Server 2014 SP1
Informácie o kumulatívnych aktualizáciách pre SQL Server
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Posledná Kumulatívna aktualizácia pre SQL Server 2016
Posledná Kumulatívna aktualizácia pre SQL Server 2014 SP1/SP2
Ďalšie informácie
Ak chcete použiť príkaz nový VDC_Complete , v KLIENTOVi VDI sa musia použiť nasledujúce implementácie:
-
Požiadajte o novú funkciu VDI VDF_RequestComplete. Ak SQL Server podporuje príkaz VDC_Complete , vráti odpoveď NOT NULL. V opačnom prípade vráti hodnotu NULL odpovede požadovanej funkcie. Ukážka kódu tu ukazuje, ako požiadať o funkciu:
m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
-
Zistite, či SQL Server podporuje príkaz New VDC_Complete pomocou funkcie 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; }
-
Pri spracovaní správ VDI, ktoré sú načítané funkciou GetCommand , pridajte ďalšie vyhlásenie prípadu na spracovanie príkazu VDC_Complete .
case VDC_Complete: // Close the media and ensure that book keeping is completed. backupMedia->Close(); completionCode = ERROR_SUCCESS; break;
Poznámka: VDC_Complete správa sa musí začleniť do záložnej aplikácie, aby sa mohla použiť na zlepšenie.
Odkazy
Oboznámte sa s terminológiou , ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.