Lorsque je sauvegarde ou restaure une base de données à l'aide de MS SQL Server Management Studio, j'obtiens une indication visuelle de l'avancement du processus, et donc du temps qu'il me faut encore attendre pour qu'il se termine. Si je lance la sauvegarde ou la restauration avec un script, existe-t-il un moyen de surveiller la progression, ou est-ce que je m'assois et attend qu'elle se termine (en espérant que rien ne s'est mal passé?)
Modifié: Mon besoin est spécifiquement de pouvoir surveiller la progression de la sauvegarde ou de la restauration complètement indépendamment de la session où la sauvegarde ou la restauration a été lancée.
la source
J'ai trouvé cet exemple de script ici qui semble fonctionner plutôt bien:
la source
Si vous connaissez le sessionID, vous pouvez utiliser ce qui suit:
Ou si vous souhaitez le réduire:
la source
Voici un script simple qui fait généralement l'affaire pour moi:
la source
Il arrive souvent que votre activité de sauvegarde (ou de restauration) ait été démarrée par un autre administrateur de base de données ou par un travail, et vous ne pouvez pas utiliser l’interface graphique pour vérifier l’avancement de cette sauvegarde / restauration.
En combinant plusieurs commandes, j'ai généré le script ci-dessous qui peut nous donner un résumé des sauvegardes et des restaurations actuelles qui se produisent sur le serveur.
la source
la source
Utilisez STATS dans la commande BACKUP s'il ne s'agit que d'un script.
À l'intérieur du code, c'est un peu plus compliqué. Dans ODBC par exemple, vous définissez SQL_ATTR_ASYNC_ENABLE, puis recherchez le code de retour SQL_STILL_EXECUTING et effectuez des appels répétés de SQLExecDirect jusqu'à ce que vous obteniez un SQL_SUCCESS (ou eqiv).
la source
Essayez avec:
la source
Utilisez l'option STATS: http://msdn.microsoft.com/en-us/library/ms186865.aspx
la source
Je pense que le meilleur moyen de savoir comment votre restauration ou votre sauvegarde progresse est de la requête suivante:
La requête ci-dessus, identifiez la session par elle-même et effectuez une progression en pourcentage chaque fois que vous appuyez sur F5 ou sur le bouton Exécuter sur SSMS!
La requête a été effectuée par le type qui a écrit ce message
la source
Ajouter
STATS=10
ouSTATS=1
dans la commande de sauvegarde.la source
SELECT session_id as SPID, command, start_time, percent_complete, dateadd (second, estimation_completion_time / 1000, getdate ()) as estime_completion_time, a.text AS Query FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text (r.sql_handle) a WHERE_handle. commande dans ('BACKUP DATABASE', 'BACKUP LOG', 'RESTORE DATABASE', 'RESTORE LOG')
la source
Pour toute personne exécutant SQL Server sur RDS (AWS), il existe une procédure intégrée appelable dans la
msdb
base de données qui fournit des informations complètes sur toutes les tâches de sauvegarde et de restauration:Cela donnera un aperçu complet de chaque tâche, sa configuration, des détails sur l'exécution (comme le pourcentage terminé et la durée totale) et une
task_info
colonne extrêmement utile lorsque vous essayez de comprendre ce qui ne va pas avec une sauvegarde ou une restauration.la source
Pour surveiller la progression de la sauvegarde ou de la restauration indépendamment de la session où la sauvegarde ou la restauration a été lancée. Aucun outil tiers requis. Testé sur Microsoft SQL Server 2012.
la source
J'utilise sp_whoisactive, très informatif, une norme essentiellement industrielle. il renvoie également un pourcentage achevé.
la source
J'ai eu un problème similaire lorsque je travaillais sur une opération de restauration de base de données sur MS SQL Server 2012.
Cependant, pour mon propre scénario, j'avais juste besoin de voir la progression de l' opération DATABASE RESTORE dans la fenêtre de script
Tout ce que j'avais à faire était d'ajouter l'option STATS au script:
Et puis je suis passé à l' onglet Messages de la fenêtre Script pour voir la progression de l' opération DATABASE RESTORE :
Si vous souhaitez obtenir plus d'informations après l'opération DATABASE RESTORE, vous pouvez utiliser cette commande suggérée par eythort :
C'est tout.
J'espère que ça aide
la source
lancez simplement bkp_status sur la base de données principale, vous obtiendrez le statut de sauvegarde
la source