Symptômes
Après avoir exécuté un plan de maintenance basé sur Microsoft SQL Server 2008 qui sauvegarderles bases de données sur une bande, vous ne pouvez pas éjecter la bande en utilisant un bouton sur l'appareil de bande. Cependant, la bande s'éjecte si vous suivez ces étapes :
-
Vous créez un dispositif de sauvegarde qui relie l'appareil à bande en utilisant SQL Server Management Studio.
-
Dans la base de données De sauvegarde - 'lt;Database Name'gt; log box, vous cliquez sur Contenus pour l'appareil de sauvegarde.
Cause
Ce problème se produit parce que le plan de maintenance utilise l'option NOREWIND dans la commande de sauvegarde. Lorsque l'option NOREWIND est utilisée dans la commande, l'instance de SQL Server conserve la propriété de l'appareil de bande jusqu'à ce que l'une des conditions suivantes soit vraie :
-
Vous exécutez une instruction BACKUP ou RESTORE qui s'exécute dans le même processus et qui utilise l'option REWIND ou UNLOAD.
-
L'instance de SQL Server s'arrête.
Ce qui suit est un exemple de la commande BACKUP dans le plan de maintenance :
BACKUP DATABASE <Database Name> TO TAPE = N'\\.\Tape0' WITH NOFORMAT, INIT, NAME = N'<Backup Set Name>', SKIP, NOREWIND, NOUNLOAD, STATS = 10
Résolution
Pour résoudre ce problème, ajoutez une tâche qui exécute une instruction RESTORE LABELONLY au plan de maintenance afin que la tâche s'exécute après la tâche de sauvegarde de base de données. Par exemple, ajoutez une tâche qui exécute les instructions suivantes dans le plan de maintenance :
RESTORE LABELONLY FROM TAPE = '\\.\Tape0' WITH NOUNLOAD GO
Statut
Ce comportement est par la conception. Le plan de maintenance suppose que le travail est entièrement automatisé et que vous ne voulez pas éjecter la bande lorsque la bande n'est pas pleine.