Forbedring: Forbedre VDI-protokollen med VDC_Complete-kommandoen i SQL Server 2012

VIKTIG: Denne artikkelen ble oversatt med maskinoversettelsesprogramvare fra Microsoft og muligens redigert av Microsoft Community via CTF-teknologi i stedet for av en oversetter. Microsoft tilbyr både menneskelig oversatte og maskinoversatte/Community-redigerte artikler, slik at du får tilgang til alle artiklene i vår Knowledge Base på ditt eget språk. En maskinoversatt eller Community-redigert artikkel er imidlertid ikke alltid perfekt. Den kan inneholde feil i vokabular, syntaks eller grammatikk, mye likt en fremmedspråklig som forsøker å snakke språket ditt. Microsoft har ikke ansvar for unøyaktige opplysninger, feil eller skade forårsaket av feilaktig oversettelse av innholdet eller kundenes bruk av informasjonen. Microsoft oppdaterer jevnlig maskinoversettelsesprogramvaren og -verktøyene for å forbedre redigering av maskinoversatte tekster.

Den engelske versjonen av denne artikkelen er den følgende: 3188454
Forbedring
Den siste meldingen fra SQL Server til VDI-klienten vil være en VDC_Flush -kommando i den gjeldende implementeringen av SQL Server virtuelle Backup enhet grensesnitt (VDI)-protokollen. VDI-klienten må avsluttes sikkerhetskopien før du svarer på VDC_Flush -kommandoen for å hindre tap av data.

Fra og med SQL Server 2008 og innføringen av FILESTREAM kan kommandoen VDC_Flush sendes flere ganger under en sikkerhetskopiering. Denne handlingen fører til at et problem med VDI-klienten til å fullføre sikkerhetskopieringen flere ganger under sikkerhetskopieringen. Dette er ikke mulig for noen VDI-klienter. Hvis klienten VDI svarer på VDC_Flush -kommandoen uten er å sørge for sikkerhetskopien herdet når det kommer flere data etter VDC_Flush, SQL Server kanskje avkorte transaksjonsloggen. Imidlertid hvis sikkerhetskopien til slutt mislykkes på VDI-klienten, og transaksjonsloggen også er avkortet, kan miste data.

Denne oppdateringen legger til en ny kommando med VDI VDC_Complete som angir SQL Server er fullført sender data til VDI-klienten. Derfor vil VDI-klienten kunne fullføre sikkerhetskopieringen før det sender til SQL Server.

Denne funksjonaliteten gjør at VDI-klienten slutter å fungere sikkerhetskopien i tilfelle noe går galt, og forhindrer også at transaksjonsloggen avkuttet ved en feiltakelse.

Obs! For å støtte den nye VDC_Complete -kommandoen, denne oppdateringen legger også til to nye VDI funksjonene VDF_RequestComplete og VDF_CompleteEnabled.
Oppdateringsinformasjon
Denne forbedringen er inkludert i følgende kumulativ oppdatering for SQL Server:

Om kumulative oppdateringer for SQL Server
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Mer informasjon
Hvis du vil bruke den nye kommandoen VDC_Complete , har følgende implementeringer som skal brukes til VDI-klient:
  1. Be om den nye funksjonen for VDI VDF_RequestComplete. Hvis SQL Server støtter kommandoen VDC_Complete, returneres ikke NULL-svar. Hvis ikke, vil den returnere NULL svar for den forespurte funksjonen. Kodeeksemplet her viser hvordan du ber om funksjonen:
    m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
  2. Fastslå om SQL-serveren støtter den nye VDC_Complete -kommandoen ved hjelp av funksjonen 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. Når du behandler VDI-meldinger som hentes av GetCommand -funksjonen, kan du legge til en ekstra case-uttrykk for å behandle kommandoen VDC_Complete .
    case VDC_Complete:              // Close the media and ensure that book keeping is completed.              backupMedia->Close();              completionCode = ERROR_SUCCESS;              break;
Obs! Den VDC_Complete meldingen må være inkludert i sikkerhetskopieringsprogrammet slik at den canuse for forbedring.
Referanser
Lær mer om den terminologi som Microsoft bruker for å beskrive programvareoppdateringer.

Advarsel: Denne artikkelen er autooversatt

Egenskaper

Artikkel-ID: 3188454 – Forrige gjennomgang: 09/21/2016 14:41:00 – Revisjon: 1.0

Microsoft SQL Server 2012 Service Pack 3

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3188454 KbMtno
Tilbakemelding