Есть ли способ узнать, как продвигается DBCC SHRINKFILE
утверждение?
Вот как я его запустил
dbcc shrinkfile ('main_data', 250000)
Я бегу выше заявление на SQL Server 2005 и 2008.
[ОБНОВЛЕНИЕ] Вот запрос, который я выполнил, чтобы проверить ход и текст, который выполняется.
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
источник
источник
Ответ Аарона точен, но я бы хотел предостеречь вас от сокращения файлов данных, так как это вызывает ужасные проблемы с производительностью. Раньше у меня был сокращенный код, поэтому я знаю, о чем говорю. Оформите этот пост в блоге, который я написал вчера, который показывает вам, что я имею в виду, и советует, как выполнить сжатие без фактического сокращения: почему не следует сокращать файлы данных
Надеюсь это поможет!
PS Еще одна вещь, чтобы проверить, занимает ли это много времени и процент_компонента не увеличивается - ищите блокировку. Термоусадка будет бесконечной - ждите замков, в которых она нуждается.
источник
источник
Приведенный ниже запрос покажет вам такой результат: отслеживать состояние сокращения dbcc
источник
Добавление моей собственной версии для всех, кто интересуется, преобразует столбцы миллисекундного времени в более читаемые минуты и секунды.
источник
Или вы можете просто запустить exec sp_who3.
источник
sp_whoisactive - есть столбец "процент_компонента"
источник