Description
Les rapports du job de sauvegarde indiquent un avertissement "SQL VSS Writer is missing: databases will be backed up in crash-consistent state and transaction log processing will be skipped".
La commande vssadmin list writers indique que le composant SqlServerWriter n'est pas présent dans le système.
Cause
Différentes causes peuvent engendrer cette problématique :
- L’instance SQL comporte des bases de données avec des noms se terminant par le caractère « espace ».
- Le compte sous lequel le service SQL VSS Writer est en cours d'exécution n'a pas de rôle sysadmin sur un serveur SQL.
- Le Service SQL VSS Writer bloqué dans un état non valide
Solution
En fonction de la cause particulière :
- Veuillez renommer la base de données en un nouveau nom (sans espace)
- Attribuez le rôle de 'sysadmin' SQL au compte d'utilisateur du service du writer VSS du serveur SQL (Instructions décrites dans la KB : https://www.veeam.com/kb1978)
- Redémarrez le service SQL VSS Writer (Instructions en décrites dans la KB : https://www.veeam.com/kb2041)
- Dans le cas des machines SBS qui sont également des contrôleurs de domaine, veuillez vous assurer que SQL Writer s'exécute sous un compte administrateur de domaine et non sous le compte système local.
- Veuillez autoriser le compte de service SQL Writer à accéder au service de
cliché instantané de volume via le Registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\VssAccessControl
Si la valeur DWORD est présente dans cette clé, elle doit être définie à 1.
Si le service « cliché instantané de volume » est en cours d'exécution, arrêtez le après modification de la valeur de registre. Ne pas le désactiver. - Pour vérifier si votre base de données comporte un espace dans le nom, veuillez suivre les instructions décrites ici: : https://blogs.msdn.microsoft.com/batala/2011/08/01/sqlserverwriter-missing-when-vssadmin-list-writers-command-is-run/
Lire la suite
- Dans SQL Server 2008R2 ainsi que les versions antérieures, cela signifie que le compte pour le service SQL Writer apparaît au niveau du serveur SQL en tant que «NT AUTHORITY\System».
- A partir de SQL Server 2012 et versions ultérieures, le compte pour le service SQL Writer apparaît au niveau du serveur SQL en tant que «Service NT\SQLWriter».