Підвищення якості
У поточній реалізації протоколу інтерфейсу віртуальної резервної копії сервера 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 , у цьому оновленні також додаються два нові функції vdi VDF_RequestComplete і VDF_CompleteEnabled.
Відомості про оновлення
Це вдосконалення входить до складу таких сукупних оновлень для SQL Server: Сукупне оновлення 2 для SQL server 2016 SP1 накопичувальне оновлення 4 для SQL Server 2016
Сукупне оновлення 5 для SQL server 2012 Service Pack 3 (SP3) накопичувальне оновлення 3 для SQL Server 2014 SP2 накопичувальне оновлення 10 для SQL Server 2014 SP1
Відомості про Сукупне оновлення для сервера SQL Server
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Найновіше Сукупне оновлення для SQL Server 2016
Додаткові відомості
Щоб скористатися командою "створити VDC_Complete ", потрібно застосувати до клієнта VDI такі реалізації:
-
Надішліть запит на нові функції VDI VDF_RequestComplete. Якщо програма SQL Server підтримує команду VDC_Complete , вона ПОВЕРНЕ не Null-відповідь. В іншому разі буде повернуто NULL-відповідь для запитуваної функції. У зразку коду нижче показано, як надіслати запит на функцію.
m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
-
Визначення того, чи підтримує сервер SQL Server нову команду VDC_Complete за допомогою функції 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; }
-
Під час обробки повідомлень VDI, отриманих за допомогою функції Getcommand , додайте додатковий оператор Case, щоб обробити команду VDC_Complete .
case VDC_Complete: // Close the media and ensure that book keeping is completed. backupMedia->Close(); completionCode = ERROR_SUCCESS; break;
Примітка.VDC_Complete повідомлення має бути включено до резервної копії, щоб вона могла використовувати вдосконалення.
Посилання
Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.