powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Слетает параметр read commited snapshot у базы
25 сообщений из 33, страница 1 из 2
Слетает параметр read commited snapshot у базы
    #40002535
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Иногда в параметрах базы слетает настройка "Изоляция моментальных снимков read commited включена" с True на False. Происходит это случайным образом со случайной периодичностью, примерно раз в две недели.
С помощью default trace удалось установить, когда происходило событие ALTER_DATABASE:
164 Object:Altered NULL NULL NULL upp_crm MZC\SERVER1C$ 2020-09-25 01:07:54.420 Microsoft SQL Server Management Studio
164 Object:Altered NULL NULL NULL upp_crm MZC\SERVER1C$ 2020-09-25 01:07:54.420 Microsoft SQL Server Management Studio
164 Object:Altered NULL NULL NULL upp_crm MZC\SERVER1C$ 2020-09-25 01:07:54.420 Microsoft SQL Server Management Studio
164 Object:Altered NULL NULL NULL upp_crm MZC\SERVER1C$ 2020-09-25 01:07:54.420 Microsoft SQL Server Management Studio

Время изменения совпадает с выполнением ежедневного плана обслуживания "Выполнить скрипт TSQL соединения с локальным сервером" в 1:07:51, его код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE upp_crm;
GO
ALTER DATABASE upp_crm
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE upp_crm
SET MULTI_USER;
GO


В 1:07:55 уже стартовала операция по реорганизации индексов.
Почему слетает параметр и почему это происходит не ежедневно, а раз в недели две-три, если этот план обслуживания выполняется каждый день? Причем до всего этого план обслуживания вообще не менялся и параметр не слетал в течении полугода.
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40002664
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit,

выполните ваш код - параметр слетел?

ps может у вас база поднимается из копии с такой периодичностью?
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40002668
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я подозреваю, что вы не там смотрите.
Вот у меня все показывает, включая логин и машину:
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40002700
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик,
Можете подсказать, как посмотреть такой же лог?
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40002708
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit,

это не лог, это монитор активной xEvent -сессии.
если до этого она у вас не была настроенна то вы ничего не увидите.

создать можете так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE EVENT SESSION [alter_db] ON SERVER 
ADD EVENT sqlserver.sp_statement_starting(
ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.client_pid,sqlserver.database_name,sqlserver.nt_username,sqlserver.session_id,sqlserver.username)
    WHERE ([sqlserver].[like_i_sql_unicode_string]([statement],N'%READ_COMMITTED_SNAPSHOT%'))),
ADD EVENT sqlserver.sql_batch_starting(SET collect_batch_text=(1)
ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.client_pid,sqlserver.database_name,sqlserver.nt_username,sqlserver.session_id,sqlserver.username)
    WHERE ([sqlserver].[like_i_sql_unicode_string]([batch_text],N'%READ_COMMITTED_SNAPSHOT%')))
ADD TARGET package0.event_file(SET filename=N'alter_db')



но учтите что настройка отлова событий sql_batch_starting и sp_statement_startring с предикатом фильтрации только по тексту даст довольно ощутимую нагрузку на сервер. если у вас на сервере преобладает ad-hoc нагрузка то я бы не рекомендовал мониторить в постоянном режиме такое
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40002710
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit,

Для картинки я взял пример из "Профилировщика XEvent", вам же нужно настроить сбор нужно трассы событий в "Управление-Расширенные события-Сеансы"
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40002714
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit,

правильней в Вашем случае настроить аудит:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
USE [master]
GO

CREATE SERVER AUDIT [database_change]
TO FILE 
(	FILEPATH = N'C:\temp\'
	,MAXSIZE = 0 MB
	,MAX_ROLLOVER_FILES = 2147483647
	,RESERVE_DISK_SPACE = OFF
)
WITH
(	QUEUE_DELAY = 1000
	,ON_FAILURE = CONTINUE
	,AUDIT_GUID = 'f15cecba-8be3-44b5-aa7b-9b298db4847b'
)

ALTER SERVER AUDIT [database_change] WITH (STATE = ON)
GO

USE [master]
GO

CREATE SERVER AUDIT SPECIFICATION [database_change]
FOR SERVER AUDIT [database_change]
ADD (DATABASE_CHANGE_GROUP)
WITH (STATE = ON)
GO



и уже по нему вы увидите кто там у вас меняет базу
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003137
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff, Критик

Спасибо большое, попробую завтра
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003218
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff,

А как читать настроенный аудит? Файл который создается, кажется имеет неизвестную кодировку, в notepad++ нечитаемый вид.
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003220
Visibus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tril0bit,

Можно через SSMS
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003237
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit,

через ssms можете перейти в ветку аудитов: security => audits и там по ПКМ на нужной аудите view logs

или запросом:
Код: sql
1.
SELECT * FROM sys.fn_get_audit_file ('c:\temp\*.sqlaudit',default,default);  
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003238
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Tril0bit,

еще варианты:
через ssms можете перейти в ветку аудитов: security => audits и там по ПКМ на нужной аудите view logs

или запросом:
Код: sql
1.
SELECT * FROM sys.fn_get_audit_file ('c:\temp\*.sqlaudit',default,default);  

...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003259
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

А что лучше использовать - DDL-триггер или аудит?
У меня на одной работе был именно DDL-триггер, который писал в спец-базу. А сейчас как-то подумалось, что вроде как аудит тоже можно использовать.
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003424
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик,

По сути это вопрос удобства извлечения и последующей обработки, если Вы планируете полученные данные каким либо способом обрабатывать, то я думаю DLL-триггер будет удобнее.

А если нужно просто посмотреть наличие определенных событий то вполне подойдет просмотр файлов аудита (+ при правильной настройке есть некоторая степень гарантии того что собранные данные не будут в последстии изменены нерадивыми "затирателями следов")
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40003586
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

спасибо,
да, мне примерно те же аргументы о последующем использовании пришли в голову
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40007982
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Настройка снова слетела. По файлу аудита видно, что изменение произошло 10.10.20, но жалобы пользователей начались только сегодня. Изменение было совершено пользователем sa, однако, источник я все равно не могу определить по этому аудиту. Файл прикладываю.
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40007992
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit,

Имя входа sa у вас отключено?
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40007995
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
А где это можно выяснить?
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40008001
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
Tril0bit,

В названии серверов вижу "1С" поэтому могу предположить, что стоит 1С со старым режимом совместимости (до 8.3.1) - она сбивает эту настройку при выполнении реструктуризации.

Ну и подозреваю, что под sa она же ходит
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40008011
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0wl,
очень похоже на правду, вообще в тот день была активность приложения 1CV83 Server, однако я поздно посмотрел, и какое приложение сделало изменение в 17:15 сказать точно уже не могу, потому что отслеживание изменений у меня было сроком 2 дня =/
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40008021
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit,

отключайте sa )
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40008042
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик,
боюсь, это чревато )
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40008048
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit
Критик,
боюсь, это чревато )

Если для работы 1С требуется блокировачный RC, зачем вы его выключаете?
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40008050
Tril0bit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex,
при отключенном RC работать в 1С невозможно, ошибки блокировок сыпятся сотнями
...
Рейтинг: 0 / 0
Слетает параметр read commited snapshot у базы
    #40008055
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tril0bit
msLex,
при отключенном RC работать в 1С невозможно, ошибки блокировок сыпятся сотнями


Так может уточнить на профильном форуме (или в какой-нибудь поддержке), может ли 1С работать с базой в режиме RCSI и что нужно для этого сделать?

А то сейчас ситуация выглядит странною.
Сервер приложений 1С настраивает базу данных так, как считает правильным для корректной работы (может не зря?), а вы каждый раз меняете эти настройки по своему усмотрению.
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Слетает параметр read commited snapshot у базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]