Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


microsoft-sql-server:t-sql-script-samples:how-to-shrink-dynamic-variables-ms-sql-server-database

Это старая версия документа!


DECLARE @DBName nvarchar(250) SET @DBName = '<database name>'

DECLARE @SQLText nvarchar(MAX)

SET @SQLText = '

USE {DBNAME} ALTER DATABASE {DBNAME} SET RECOVERY SIMPLE DBCC SHRINKFILE ({DBNAME}_log, 50); ALTER DATABASE {DBNAME} SET RECOVERY FULL ' SET @SQLText = REPLACE (@SQLText , '{DBNAME}' , @DBName) EXECUTE (@SQLText)

Обсуждение

Алексей Максимов, 06.03.2016 17:42, 06.03.2016 17:46
А разве для SHRINK нужно переводить базу данных в режим восстановления SIMPLE? И потом, если моя база данных работает в режиме восстановления SIMPLE (так нужно), то после такого вот "шринка" режим восстановления станет FULL, что ни есть хорошо.
d3f4u7t, 28.08.2024 17:48
Почему просто не делать бэкап лога в trn регулярно? Это же освобождает место для записи транзакций внутри самого файла, не давая ему расти. А потом просто shrink файл лога до разумного размера чтобы уменьшить фрагментацию файлов. то есть



backup log MAIN_BD to Disk = "MAIN_BD_LOG_BAK.trn";

dbcc shrinkfile (MAIN_BD_log, 50);



это как у меня в голове сложилось. Единственное это если делать восстановление с транзакциями то нужно будет применять всем попутные файлы бэкапа транзакций чтобы цепочку не нарушать
Ваш комментарий:
 
microsoft-sql-server/t-sql-script-samples/how-to-shrink-dynamic-variables-ms-sql-server-database.1457272290.txt.gz · Последнее изменение: Евгений Лейтан

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki