Existe-t-il un moyen de connaître l'état d'avancement de la DBCC SHRINKFILE
déclaration?
Voici comment je le dirigeais
dbcc shrinkfile ('main_data', 250000)
J'exécute la déclaration ci-dessus sur SQL Server 2005 et 2008.
[MISE À JOUR] Voici la requête que j'ai exécutée pour vérifier la progression et le texte en cours d'exécution.
select T.text, R.Status, R.Command, DatabaseName = db_name(R.database_id)
, R.cpu_time, R.total_elapsed_time, R.percent_complete
from sys.dm_exec_requests R
cross apply sys.dm_exec_sql_text(R.sql_handle) T
sql-server
sql-server-2005
sql-server-2008
shrink
dance2die
la source
la source
La réponse d'Aaron est parfaite, mais je voudrais vous mettre en garde contre l'exécution de la réduction du fichier de données car cela provoque d'horribles problèmes de performances. Je possédais le code de réduction, donc je sais de quoi je parle. Consultez ce billet de blog que j'ai écrit hier qui vous montre ce que je veux dire et vous conseille comment effectuer une réduction sans réellement effectuer une réduction: pourquoi vous ne devriez pas réduire vos fichiers de données
J'espère que cela t'aides!
PS Une dernière chose pour vérifier si cela prend du temps et si le pourcentage_complet n'augmente pas - recherchez le blocage. Shrink attendra infiniment les verrous dont il a besoin.
la source
la source
La requête ci-dessous vous montrera le résultat comme ceci: suivre le statut de rétrécissement dbcc
la source
Ajouter ma propre version pour toute personne intéressée, cela convertit les colonnes de temps en millisecondes en minutes et secondes plus lisibles.
la source
Ou vous pouvez simplement exécuter exec sp_who3.
la source
sp_whoisactive - il y a la colonne "percent_complete"
la source