|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Принудительное завершение сессий |
|
|
MSFT SQL Server - Принудительное завершение сессий
|
Пользователь Сообщения: 65 |
Профиль | Отправить PM | Цитировать Приветствую!
Связка 1C + SQL 2005. В целях оптимизации (ускорения) работы 1C, решили нарисовать Maintenance Plan с Rebuild Index Task + backup. Но как я понимаю, для Rebuild Index Task нужен монопольный доступ к таблицам, в отличии от Reorganize Index Task. Хоть в расписании jobs указано запускаться ночью, но к сожалению правило "уходя гасите свет" не выполняется, у пользователей остается открытой 1С и Rebuild Index Task пишет: Цитата:
Заранее спасибо. |
||
Отправлено: 14:29, 21-01-2012 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата armid:
Один из вариантов - перевести принудительно базу в режим одного пользователя и вернуть обратно скриптом: http://stackoverflow.com/questions/1...-2005-database или ручками: http://www.kodyaz.com/articles/kill-...-database.aspx |
|
------- Отправлено: 15:34, 21-01-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 65
|
Профиль | Отправить 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 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата armid:
Оба метода по принудительному отключению делают примерно одно и то же: 1. приведенный скрипт просто выбирает все текущие сессии и отключает их командой KILL. 2. Перевод в монопольный доступ делает то же самое, только автоматически. Цитата armid:
Цитата:
|
|||
------- Отправлено: 17:27, 21-01-2012 | #4 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать Вариант с переводом в режим одного пользователя нравится больше всего. Да и скрипт для него простой
А раз так, тогда и backup пусть создается в таком режиме. На ночь поставлю задание, завтра отпишусь о результатах. |
|
Отправлено: 17:41, 21-01-2012 | #5 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:12, 21-01-2012 | #6 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Затем, чтобы запустить скрипт, используя подключение к системной базе данных, а не к пользовательской.
|
------- Отправлено: 10:51, 22-01-2012 | #7 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата armid:
|
|
------- Отправлено: 01:23, 24-01-2012 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Лишь бы не в восстановление без бэкапа.
|
Отправлено: 02:57, 24-01-2012 | #9 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать Да не, не тишина. Че то не вышло у меня... Думал не доставать форумчан свои проблемами. Сейчас соберу логи и отпишусь.
|
Отправлено: 10:37, 24-01-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Принудительное завершение работы | moonis | Microsoft Windows 7 | 7 | 20-01-2012 20:53 | |
Службы - Родительский контроль и принудительное завершение программ. | benwar | Microsoft Windows 7 | 1 | 29-05-2011 22:50 | |
Разное - [решено] Принудительное завершение приложений | interminable | Microsoft Windows 2000/XP | 11 | 18-09-2010 16:52 | |
Разное - [решено] Принудительное завершение сессий под WinXP... | DoublE_zone | Microsoft Windows 2000/XP | 2 | 27-09-2007 12:30 | |
Принудительное завершение сессий под WinXP... | DoublE_zone | Microsoft Windows NT/2000/2003 | 2 | 25-09-2007 16:13 |
|