Amélioration : Améliorer le protocole de VDI avec la commande VDC_Complete dans SQL Server 2012

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 3188454
Amélioration du produit
Dans l’implémentation actuelle du protocole SQL Server Virtual Backup Device Interface (VDI), le dernier message envoyé à partir de SQL Server vers le client VDI sera une commande VDC_Flush . Pour éviter la perte de données, le client VDI doit terminer la sauvegarde avant de répondre à la commande VDC_Flush .

Démarrage avec SQL Server 2008 et de l’introduction de FILESTREAM, la commande VDC_Flush peut être envoyée plusieurs fois au cours d’une sauvegarde. Cette opération provoque un problème que le client VDI doit terminer la sauvegarde à plusieurs reprises au cours de l’opération de sauvegarde. Cela n’est pas possible pour certains clients VDI. En outre, si le client VDI répond à une commande de VDC_Flush sans la sauvegarde est renforcée lorsque plus de données vient après que le VDC_Flush, SQL Server peut tronquer le journal des transactions. Toutefois, si la sauvegarde échoue par la suite sur le client VDI, et le journal des transactions est également tronqué, perte de données.

Cette mise à jour ajoute une nouvelle commande VDI VDC_Complete qui indique de SQL Server a terminé l’envoi de données vers le client VDI. Par conséquent, le client VDI sera en mesure de terminer la sauvegarde avant d’envoyer la réponse à SQL Server.

Cette fonctionnalité permet au client VDI faire échouer la sauvegarde au cas où quelque chose se passe mal et empêche également le journal des transactions est tronqué par erreur.

Remarque Pour prendre en charge la nouvelle commande VDC_Complete , cette mise à jour ajoute également deux nouvelles fonctionnalités VDI VDF_RequestComplete et VDF_CompleteEnabled.
Informations de mise à jour
Cette amélioration est incluse dans la mise à jour cumulative suivante pour SQL Server :

À propos des mises à jour cumulatives pour SQL Server
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et des correctifs de sécurité qui ont été inclus dans la précédente mise à jour cumulative. Découvrez les dernières mises à jour cumulatives pour SQL Server :
Plus d'informations
Pour utiliser la nouvelle commande VDC_Complete , les implémentations suivantes sont à appliquer à votre client d’infrastructure VDI :
  1. Demander la nouvelle fonctionnalité VDI VDF_RequestComplete. Si SQL Server prend en charge la commande VDC_Complete, il retournera pas réponse de valeur NULL. Dans le cas contraire, il renvoie une réponse NULL pour la fonction demandée. L’exemple de code montre comment demander la fonctionnalité :
    m_pvdiComponents->m_pvdConfig->features = VDF_RequestComplete; printf("Requested features to SQL Server: 0x{0:X}", m_pvdiComponents->m_pvdConfig->features);
  2. Déterminez si le SQL Server prend en charge la nouvelle commande de VDC_Complete à l’aide de la fonction 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. Lorsque vous traitez les messages VDI qui sont extraits par la fonction de commande GetCommand , ajoutez une instruction case supplémentaire pour traiter la commande VDC_Complete .
    case VDC_Complete:              // Close the media and ensure that book keeping is completed.              backupMedia->Close();              completionCode = ERROR_SUCCESS;              break;
Remarque : Le message VDC_Complete doit être insérés dans l’application de sauvegarde de sorte qu’il canuse l’amélioration.
Références
En savoir plus sur la terminologie que Microsoft utilise pour décrire les mises à jour logicielles.

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 3188454 - Dernière mise à jour : 09/22/2016 03:49:00 - Révision : 1.0

Microsoft SQL Server 2012 Service Pack 3

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3188454 KbMtfr
Commentaires