Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 65
Благодарности: 2

Профиль | Отправить PM | Цитировать


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

На каком методе все таки лучше остановится с вашей стороны?

Отправлено: 17:11, 21-01-2012 | #3