Delirium, спасибо за ваше участие в теме.
Руками отпадает сразу, в виду нескольких баз и позднего времени.
Скажите правильно все таки я понял, что Rebuild Index Task не может выполнится из-за "сидячих" юзеров?
А насчет перевода в single user и наоборот. Ведь у меня получается данная операция будет выполняться каждые сутки. Не будет ли это чревато?
В статье по второй ссылке приводится такой вариант:
Код:
DECLARE @DatabaseName nvarchar(50)
DECLARE @SPId int
DECLARE @SQL nvarchar(100)
--SET @DatabaseName = N'AdventureWorks2008'
SET @DatabaseName = DB_NAME()
DECLARE my_cursor CURSOR FAST_FORWARD FOR
SELECT SPId FROM MASTER..SysProcesses
WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @SPId
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL = 'KILL ' + CAST(@SPId as nvarchar(10))
print @SQL
EXEC sp_executeSQL @SQL
--KILL @SPId -- Causing Incorrect syntax near '@spid'.
FETCH NEXT FROM my_cursor INTO @SPId
END
CLOSE my_cursor
DEALLOCATE my_cursor
На каком методе все таки лучше остановится с вашей стороны?