KB3188454-βελτίωση: βελτίωση του πρωτοκόλλου VDI με την εντολή VDC_Complete στον SQL Server

Βελτίωση

Στην τρέχουσα υλοποίηση του πρωτοκόλλου του SQL Server Virtual backup Device Interface (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

    Η πιο πρόσφατη αθροιστική ενημέρωση για τον SQL Server 2014 SP1/SP2

    Η πιο πρόσφατη αθροιστική ενημέρωση για τον SQL Server 2012 SP3 

Περισσότερες πληροφορίες

Για να χρησιμοποιήσετε την εντολή νέα VDC_Complete , πρέπει να εφαρμοστούν οι ακόλουθες υλοποιήσεις στο πρόγραμμα-πελάτη VDI που διαθέτετε:

  1. Ζητήστε τη νέα δυνατότητα VDI VDF_RequestComplete. Εάν ο SQL Server υποστηρίζει την εντολή " VDC_Complete ", θα επιστρέψει μια απόκριση not null. Διαφορετικά, θα επέστρεφε μια ΜΗΔΕΝΙΚή απόκριση για τη δυνατότητα που ζητήθηκε. Το δείγμα κώδικα εδώ δείχνει τον τρόπο με τον οποίο μπορείτε να ζητήσετε τη δυνατότητα:

    m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
  2. Προσδιορίστε εάν ο 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;       }
  3. Όταν επεξεργάζεστε τα μηνύματα VDI που παραλαμβάνονται από τη συνάρτηση GetCommand , προσθέστε μια πρόσθετη πρόταση υπόθεσης για την επεξεργασία της εντολής VDC_Complete .

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

Σημείωση Το μήνυμα VDC_Complete πρέπει να ενσωματωθεί στην εφαρμογή δημιουργίας αντιγράφων ασφαλείας, ώστε να μπορεί να χρησιμοποιήσει τη βελτίωση.

Αναφορές

Μάθετε περισσότερα σχετικά με την ορολογία που χρησιμοποιεί η Microsoft για την περιγραφή ενημερώσεων λογισμικού.

Χρειάζεστε περισσότερη βοήθεια;

Αναπτύξτε τις δεξιότητές σας
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Συμμετοχή στο Microsoft Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×