Нужно ли перезапускать SQL Server после DBCC SHRINKFILE
включения tempdb.mdf
или есть какой-либо другой способ уменьшить размер tempdb.mdf
без перезапуска SQL Server?
Пожалуйста, помогите, так как мне это нужно для производственного сервера, и я надеюсь сделать сжатие без каких-либо простоев.
sql-server
Manii
источник
источник
Ответы:
Вы можете сделать это следующим образом:
Последний шаг самый хитрый. Во время процесса сжатия никакое другое действие не должно использовать базу данных tempdb, так как это может привести к прерыванию вашей
SHRINKFILE
операции. В связи с тем, что tempdb довольно легко сжать, его сокращение не займет много времени.Помните, что это что-то вроде «мягкого перезапуска». Все будет удалено из буферов и записано на диск. Это означает влияние на вашу подсистему ввода / вывода (запись), поскольку она должна обрабатывать все операции записи. После этого вы можете сжать файл (что влияет на производительность чтения и записи), и в конце все процессы, которые запрашивают любую таблицу, должны будут извлечь данные из подсистемы ввода-вывода в буферы. Это может повредить больше, чем перезагрузка.
Если вы используете систему разработки, вам нужно просто перезагрузить компьютер вместо этого. Но на некоторых производственных системах без отказоустойчивого партнера это может быть полезно.
источник
Вы можете просто перейти с шага ниже только
источник