Понедельник, 06.05.2024, 18:28
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Прочее » Права пользователя MSSQL
Права пользователя MSSQL
ctmubuaДата: Среда, 28.06.2023, 08:58 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Оффлайн
Напишите, пожалуйста, все минимально необходимые права на базу и на сервер для пользователя MSSQL для полноценной работы ИР
 
tormozitДата: Среда, 28.06.2023, 09:11 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6185
Репутация: 156
Статус: Оффлайн
ИР адаптируется к имеющимся правам. Предлагаю посмотреть на конкретные функции. С какой функцией возникло непонимание/проблема?
 
ctmubuaДата: Среда, 28.06.2023, 09:20 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Оффлайн
При выполнении запроса 1С из консоли запросов при включенном флаге "Собирать трассу" в настройках подключения к СУБД

{ВнешняяОбработка.ирОбщий.МодульОбъекта(27651)}: Ошибка при вызове метода контекста (Open): Возникла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): User does not have permission to perform this action.

при выполнении запроса

Код
SET NOCOUNT ON;  
  
DECLARE @session_name sysname,
      @cmd nvarchar(max);

DECLARE session_list CURSOR FOR
SELECT
   
[name]FROM sys.server_event_sessions
where  [name]LIKE 'RDT1C_20_%_%';

OPEN session_list;

FETCH NEXT FROM session_list   
INTO @session_name  
  
WHILE @@FETCH_STATUS = 0  
BEGIN

   SET @cmd = 'DROP EVENT SESSION ' + @session_name + ' ON SERVER;';
   EXECUTE sp_executesql @cmd

   FETCH NEXT FROM session_list   
   INTO @session_name

END

CLOSE session_list;  
DEALLOCATE session_list;  ;
CREATE EVENT SESSION [RDT1C_20_getSessionForQuery_3] ON SERVER
ADD EVENT sqlserver.rpc_completed(
    ACTION(sqlserver.client_app_name,sqlserver.database_id,sqlserver.query_hash,sqlserver.session_id)
    WHERE ([package0].[greater_than_uint64]([sqlserver].[database_id],(4))
        AND [package0].[equal_boolean]([sqlserver].[is_system],(0))
        AND [sqlserver].[database_id]=(20)
        AND [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'%INSERT INTO%SELECT TOP%814503700%'))),
ADD EVENT sqlserver.sql_batch_completed(
    ACTION(sqlserver.client_app_name,sqlserver.database_id,sqlserver.query_hash,sqlserver.session_id)
    WHERE ([package0].[greater_than_uint64]([sqlserver].[database_id],(4))
        AND [package0].[equal_boolean]([sqlserver].[is_system],(0))
        AND [sqlserver].[database_id]=(20)
        AND [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'%INSERT INTO%SELECT TOP%814503700%')))
ADD TARGET package0.ring_buffer
WITH (MAX_MEMORY=4096 KB,
    EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY=30 SECONDS,
    MAX_EVENT_SIZE=51200 KB,
    MEMORY_PARTITION_MODE=NONE,
    TRACK_CAUSALITY=ON,
    STARTUP_STATE=OFF);

ALTER EVENT SESSION [RDT1C_20_getSessionForQuery_3]
ON SERVER  
STATE = START;
Не удалось определить идентификатор соединения СУБД. Трасса СУБД будет недоступна.


Сообщение отредактировал ctmubua - Среда, 28.06.2023, 09:27
 
tormozitДата: Среда, 28.06.2023, 09:29 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6185
Репутация: 156
Статус: Оффлайн
Попробуй дать право "Alter any event session"
 
ctmubuaДата: Среда, 28.06.2023, 10:26 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Оффлайн
спасибо
 
tormozitДата: Воскресенье, 02.07.2023, 20:58 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 6185
Репутация: 156
Статус: Оффлайн
Добавил эту информацию в подсказку флажка в 6.82
 
Форум » Основной » Прочее » Права пользователя MSSQL
  • Страница 1 из 1
  • 1
Поиск: