Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите как по расписанию установить параметр БД  [new]
leonix
Member

Откуда:
Сообщений: 382
Нужно выполнить вот такой скрипт

USE [master]
GO
ALTER DATABASE[mybase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [mybase] SET READ_COMMITTED_SNAPSHOT ON
GO
ALTER DATABASE [mybase] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO


Нужно каждый день устанавливать параметр READ_COMMITTED_SNAPSHOT в ON.

Где и как это лучше сделать?
10 апр 19, 14:29    [21858341]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
msLex
Member

Откуда:
Сообщений: 6245
leonix
Нужно выполнить вот такой скрипт

USE [master]
GO
ALTER DATABASE[mybase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [mybase] SET READ_COMMITTED_SNAPSHOT ON
GO
ALTER DATABASE [mybase] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO


Нужно каждый день устанавливать параметр READ_COMMITTED_SNAPSHOT в ON.

Где и как это лучше сделать?

Джоб, конечно


ЗЫ
А что за странная надобность ежедневно включать RCSI?
Кто и зачем его отключает?
10 апр 19, 14:31    [21858348]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
leonix
Member

Откуда:
Сообщений: 382
msLex,

1с при обновлении отключает.
А обновление каждое утро.
10 апр 19, 14:33    [21858352]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 3926
leonix,

А вам не приходила мысль, что он его отключает не просто так. Есть запросы, которые несовместимы с RSCI.
10 апр 19, 15:52    [21858482]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6376
a_voronin
leonix,

А вам не приходила мысль, что он его отключает не просто так. Есть запросы, которые несовместимы с RSCI.

запросы? например?
10 апр 19, 15:55    [21858486]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6532
leonix,

вероятно, операцию можно отследить триггером базы данных и выполнить ROLLBACK, если ее пытаются применить.
10 апр 19, 16:23    [21858551]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
leonix
Member

Откуда:
Сообщений: 382
a_voronin
leonix,

А вам не приходила мысль, что он его отключает не просто так. Есть запросы, которые несовместимы с RSCI.


Подскажите что может быть плохого.
10 апр 19, 16:23    [21858554]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
leonix
Member

Откуда:
Сообщений: 382
a_voronin
leonix,
А вам не приходила мысль, что он его отключает не просто так. Есть запросы, которые несовместимы с RSCI.


Там ситуация следующая.
Платформа 8.3 уже сама ставит READ_COMMITTED_SNAPSHOT ON.
А у нас платформа версии 8.3 но база 1С в режиме совместимости с версией 8.2.
И базу можно перевести в режим без совместимости, но руки не доходят.
А READ_COMMITTED_SNAPSHOT ON мне кажется можно ставить.
10 апр 19, 16:27    [21858563]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
leonix
Member

Откуда:
Сообщений: 382
Попробовал в планировщик запихать вот этот скрипт

USE [master]
GO
ALTER DATABASE[mybase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [mybase] SET READ_COMMITTED_SNAPSHOT ON
GO
ALTER DATABASE [mybase] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO


Executed as user: usersql. The operation cannot be performed on database "mybase" because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group. [SQLSTATE 42000] (Error 1468) ALTER DATABASE statement failed. [SQLSTATE 42000] (Error 5069). The step failed.

Насколько я понял, у нас используется Always On.

Причем если менять этот параметр интерактивно в диалоговом окне свойств БД, то спокойно меняет этот параметр. И скриптом интерактивно меняет. А в джобе не выдаёт эту ошибку.
Подскажите в чём проблема.
17 май 19, 09:15    [21886858]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как по расписанию установить параметр БД  [new]
aleks222
Member

Откуда:
Сообщений: 693
leonix
Попробовал в планировщик запихать вот этот скрипт

USE [master]
GO
ALTER DATABASE[mybase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [mybase] SET READ_COMMITTED_SNAPSHOT ON
GO
ALTER DATABASE [mybase] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO


Executed as user: usersql. The operation cannot be performed on database "mybase" because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group. [SQLSTATE 42000] (Error 1468) ALTER DATABASE statement failed. [SQLSTATE 42000] (Error 5069). The step failed.

Насколько я понял, у нас используется Always On.

Причем если менять этот параметр интерактивно в диалоговом окне свойств БД, то спокойно меняет этот параметр. И скриптом интерактивно меняет. А в джобе не выдаёт эту ошибку.
Подскажите в чём проблема.


1. Если вы не перепутали сервера.
2. Если из SSMS работает, а из джоба нет => права пользователя разные.
17 май 19, 09:28    [21886870]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить