Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Poprawy

W bieżącej implementacji protokołu VDI (Virtual Backup Device Interface) Ostatnia wiadomość wysłana z programu SQL Server do klienta infrastruktury VDI będzie poleceniem VDC_Flush . Aby zapobiec utracie danych, przed udzieleniem odpowiedzi na polecenie VDC_Flush klient infrastruktury VDI musi zakończyć wykonywanie kopii zapasowej. Począwszy od programu SQL Server 2008 i wprowadzeniu funkcji FILESTREAM, polecenie VDC_Flush może być wysyłane wielokrotnie w trakcie wykonywania kopii zapasowej. Ta operacja powoduje problem polegający na tym, że klient infrastruktury VDI może wielokrotnie zakończyć tworzenie kopii zapasowej podczas operacji tworzenia kopii zapasowej. Nie jest to możliwe dla kilku klientów infrastruktury VDI. Ponadto, jeśli klient infrastruktury VDI odpowie na polecenie VDC_Flush bez zapewnienia, że wykonywanie kopii zapasowej zostanie zaostrzone, gdy więcej danych zostanie przechodzących po VDC_Flush, program SQL Server może obciąć dziennik transakcji. Jeśli jednak kopia zapasowa na kliencie VDI nie powiedzie się, a dziennik transakcji jest również obcinany, może dojść do utraty danych. Ta aktualizacja dodaje nowe VDC_Complete poleceń infrastruktury VDI wskazujące, że program SQL Server zakończył wysyłanie danych do klienta infrastruktury VDI. Dlatego klient infrastruktury VDI będzie mógł ukończyć tworzenie kopii zapasowej przed wysłaniem odpowiedzi do programu SQL Server. Ta funkcja umożliwia klientowi infrastruktury VDI niepowodzenie tworzenia kopii zapasowych na wypadek nieprawidłowego działania, a także uniemożliwienie obcięcia dziennika transakcji przez pomyłkę.Uwaga Aby można było obsługiwać nowe polecenie VDC_Complete , ta aktualizacja dodaje również dwie nowe funkcje infrastruktury VDI VDF_RequestComplete i VDF_CompleteEnabled.

Informacje o aktualizacji

Ta poprawa jest dostępna w następujących zbiorczych aktualizacjach programu SQL Server: Zbiorcza aktualizacja 2 dla programu SQL server 2016 z dodatkiem SP1     Skumulowana aktualizacja 4 dla programu SQL Server 2016

Zbiorcza aktualizacja 5 dla programu SQL server 2012 z dodatkiem Service Pack 3 (SP3)Zbiorcza aktualizacja 3 dla programu SQL Server 2014 z dodatkiem SP2Zbiorcza aktualizacja 10 dla programu SQL Server 2014 SP1

Informacje dotyczące aktualizacji zbiorczych programu SQL Server

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:

Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016

    Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2014 z dodatkiem SP1/SP2

    Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2012 z dodatkiem SP3 

Więcej informacji

Aby użyć nowego polecenia VDC_Complete , należy zastosować następujące implementacje na kliencie infrastruktury VDI:

  1. Poproś o VDF_RequestComplete nowej funkcji VDI . Jeśli program SQL Server obsługuje polecenie VDC_Complete , zwróci odpowiedź not null. W przeciwnym razie zwraca odpowiedź NULL dla żądanej funkcji. W przykładzie kodu pokazano, jak zażądać funkcji:

    m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
  2. Określ, czy program SQL Server obsługuje nowe polecenie VDC_Complete przy użyciu funkcji 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. Podczas przetwarzania wiadomości VDI pobranych za pomocą funkcji GetCommand Dodaj dodatkową instrukcję, aby przetworzyć polecenie VDC_Complete .

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

UwagaWiadomość VDC_Complete musi być włączona do aplikacji kopia zapasowa, aby mogła ona korzystać z ulepszeń.

Informacje

Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×