Service SQL Writer

S’applique à :SQL Server - Windows uniquement

Le service SQL Writer complète les fonctionnalités de sauvegarde et de restauration de SQL Server par le biais de l’infrastructure du service VSS.

Le service SQL Writer est installé automatiquement. Il doit être en cours d'exécution lorsque l'application VSS (Volume Shadow Copy Service) demande une sauvegarde ou une restauration. Pour configurer le service, utilisez l'applet des services Microsoft Windows. Le service SQL Writer s’installe sur tous les systèmes d’exploitation Windows.

Objectif

Le moteur de base de données verrouille les fichiers de base de données pour être seul à pouvoir y accéder. Lorsque le service SQL Writer n’est pas en cours d’exécution, les programmes de sauvegarde s’exécutant dans Windows n’ont pas accès à ces fichiers de données, et les sauvegardes doivent être effectuées à l’aide de la sauvegarde SQL Server native. Utilisez le service SQL Writer pour permettre aux programmes de sauvegarde Windows de copier les fichiers de base de données SQL Server pendant que SQL Server est en cours d’exécution et maintient des verrous exclusifs sur ces fichiers.

Service VSS

Le service VSS est un ensemble d’API COM qui implémentent une infrastructure permettant d’effectuer des sauvegardes de volume pendant que des applications continuent à écrire sur ces volumes. Le service VSS aide à la coordination entre les applications utilisateur qui écrivent des données sur le disque (rédacteur) et les applications qui sauvegardent ces données (demandeurs).

Ce service capture et copie des images stables pour la sauvegarde sur des systèmes en cours d'utilisation, en particulier des serveurs, sans dégradation superflue des performances et de la stabilité des services qu'ils assurent. Pour plus d'informations sur le service VSS, consultez votre documentation Windows.

Notes

Lorsque le service VSS est utilisé pour sauvegarder une machine virtuelle qui héberge un groupe de disponibilité de base et des bases de données qui sont dans un état secondaire, ces bases de données ne seront pas sauvegardées avec la machine virtuelle à compter de SQL Server 2016 (13.x) SP2 CU2 et de SQL Server 2017 (14.x) CU9. En effet, les groupes de disponibilité de base ne prennent pas en charge la sauvegarde des bases de données sur le réplica secondaire. Avant ces versions de SQL Server, la sauvegarde échoue avec une erreur.

Interface d'unité de sauvegarde virtuelle

SQL Server fournit une API appelée « Interface d’unité de sauvegarde virtuelle » (VDI) qui permet aux éditeurs de logiciels indépendants d’intégrer SQL Server à leurs produits de sauvegarde et de restauration. Conçues pour fournir une fiabilité et des performances optimales, ces API prennent en charge l'éventail complet de fonctions de sauvegarde et de restauration de SQL Server , y compris la gamme totale des sauvegardes à chaud et instantanées. Si une application de fournisseur tiers demande une sauvegarde d’instantané (VSS), le service SQL Writer appelle les fonctions de l’API VDI pour effectuer les sauvegardes réelles. L’API VDI est indépendante du service VSS. Elle est souvent utilisée dans les solutions logicielles qui n’utilisent pas les API VSS.

Autorisations

Le service SQL Writer doit s'exécuter sous le compte système local . Le service SQL Writer utilise la connexion NT Service\SQLWriter pour la connexion à SQL Server. Le fait d’utiliser la connexion NT Service\SQLWriter permet au processus SQL Writer de s’exécuter à un niveau de droits inférieur dans un compte indiqué comme étant sans connexion, ce qui limite la vulnérabilité. Si le service SQL Writer est désactivé, tout utilitaire qui s’appuie sur des instantanés VSS peut s’interrompre et risque d’effectuer des sauvegardes de bases de données qui ne sont pas cohérentes. System Center Data Protection Manager, ainsi que d’autres produits tiers, en sont des exemples.

Si SQL Server, le système sur lequel il s’exécute et le système hôte (dans le cas d’une machine virtuelle) n’ont pas besoin d’utiliser un élément autre que la sauvegarde Transact-SQL, le service SQL Writer peut être désactivé de manière sécurisée et la connexion supprimée. Le service SQL Writer peut être appelé par une sauvegarde au niveau du système ou du volume, que la sauvegarde repose directement, ou non, sur des instantanés. Certains logiciels de sauvegarde système utilisent VSS pour éviter d’être bloqués par des fichiers ouverts ou verrouillés. Le service SQL Writer nécessite des autorisations sysadmin dans SQL Server. En effet, au cours de ses activités, il fige brièvement toutes les E/S pour l’instance de SQL Server.

Fonctionnalités

SQL Writer prend en charge les possibilités suivantes :

  • Sauvegarde et restauration complètes de bases de données, y compris des catalogues de texte intégral
  • Sauvegarde et restauration différentielle
  • Restauration avec déplacement
  • Modification du nom d'une base de données
  • Sauvegarde de copie seule
  • Récupération automatique d’un instantané de base de données

SQL Writer ne prend pas en charge les opérations suivantes :

  • Sauvegarde de journaux
  • Sauvegarde de fichiers et de groupes de fichiers
  • Restauration de pages

Mise à niveau et maintenance des services

Le service SQL Writer est distinct du moteur de base de données SQL Server et est partagé entre différentes versions et instances de SQL Server sur le même serveur. Le fichier du service SQL Writer est inclus dans le package d’installation de SQL Server, et est marqué avec le même numéro de version que le moteur SQL Server avec lequel il est livré.

Lorsqu’une nouvelle instance de SQL Server est installée sur un serveur ou qu’une instance existante est mise à niveau, si le numéro de version de l’instance en question est supérieur à celui du service SQL Writer qui se trouve actuellement sur le serveur, ce fichier est remplacé par celui du package d’installation.

Si le service SQL Writer a été mis à jour par un Service Pack ou une mise à jour cumulative et qu’une version plus récente de SQL Server est en cours d’installation, vous pouvez remplacer une version plus récente du service SQL Writer par une ancienne version, à condition que l’installation ait un numéro de version principale supérieur. Par exemple, le service SQL Writer a été mis à jour dans SQL Server 2016 (13.x) SP2 CU2. Si cette instance est mise à niveau vers SQL Server 2017 (14.x) RTM, le service SQL Writer mis à jour est remplacé par une version antérieure. Dans ce cas, vous devrez appliquer la dernière version CU à la nouvelle instance afin d’obtenir la dernière version du service SQL Writer.

Étapes suivantes