Как перезапустить Windows Server, а не только SQL Server после завершения работы?
Я знаю. Это глупый или, по крайней мере, опасный вопрос, но моим руководителям приходится перезапускать задания DP каждый раз, когда я запускаю задание усечения LOG, которое уменьшает размер нашего файла LDF с 300GIG до 5GIG.
Это связано с тем, что "задание усечения" отсоединяет базу данных, переводит ее в режим SIMPLE, выполняет свою функцию, а затем снова переводит ее в режим FULL.
Чтобы избавить их от необходимости помнить или напоминать, что моя работа по усечению журнала завершена, они спросили меня, могу ли я принудительно перезагрузить весь сервер Windows, а не только SQL Server и агент, но весь сервер.
Это возможно изнутри задания T-SQL?
Пожалуйста, не начинайте меня с того, почему, мне просто нужно знать как.
Спасибо
ОБНОВИТЬ
Вот работа по транзакции, которую я использую, один раз в месяц, чтобы сохранить небольшой размер файла журнала.
USE finprod
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE finprod
SET RECOVERY SIMPLE WITH NO_WAIT;
GO
-- Shrink the truncated log file to 5 gig
DBCC SHRINKFILE(finprod_log, 5024); --file_name is the logical name of the file to be shrink
GO
-- Reset the database recovery model.
ALTER DATABASE finprod
SET RECOVERY FULL WITH NO_WAIT;
GO
-- now run a full backup, otherwise the next TxnLog backup will fail
EXEC msdb.dbo.sp_start_job N'FINPROD - Backups.Full Backup';
1 ответ
Я знаю, что это старый вопрос, но...
Мне кажется, что резервная копия журнала не создается. Помните, что резервное копирование осуществляется только с помощью BACKUP LOG.
См. https://www.sqlskills.com/blogs/paul/new-script-is-that-database-really-in-the-full-recovery-mode/ .