Привет! Я использую этот скрипт в процессе еженедельного обслуживания, предложите лучший подход / скрипты для создания shrinklog.В настоящее время получаю сообщение об ошибке с помощью приведенного ниже сценария
declare @s nvarchar(4000)
set @s= '
if ''?'' not in (''tempdb'',''master'',''model'',''msdb'')
begin
use [?]
Alter database [?] SET Recovery simple
end '
exec sp_msforeachdb @s
set @s= '
if ''?'' not in (''tempdb'',''master'',''model'',''msdb'')
begin
use [?]
Declare @LogFileLogicalName sysname
select @LogFileLogicalName=Name from sys.database_files where Type=1
DBCC Shrinkfile(@LogFileLogicalName,1)
end'
exec sp_msforeachdb @s
Описание ошибки:
ShrinkLog Выполнить SQL Задача Описание: Выполнение запроса "Declare @S nvarchar (4000) set @s= '... "не удалось из-за следующей ошибки:« Невозможно установить параметр «RECOVERY» в базе данных «tempdb». Невозможно сжать файл журнала 2 (DBServices_Log), поскольку общее количество файлов логического журнала не может быть меньше 2. Выполнение DBCC завершено ». Если DBCC напечатал сообщения об ошибках, обратитесь к системному администратору.
Примечание: я избегаю tempdb (все системные db) в моем скрипте, но сообщение об ошибке показывает tempdb?