Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

MSSQL Error 15247: User does not have permission to perform this action

Обновлено: 25.08.2026  ·  Официальная база знаний
  • Ошибка Msg 15247, Level 16, State 1: User does not have permission to perform this action при выполнении DDL операций или регламентных процедур.
  • Кластер 1С:Предприятие не может автоматически создать новую информационную базу на сервере СУБД.
  • Сбои при попытке выполнить DBCC CHECKDB, BACKUP DATABASE или чтение DMV (динамических представлений).

1. Проверка текущих разрешений учетной записи

-- Проверка эффективных серверных прав
SELECT * FROM fn_my_permissions(NULL, 'SERVER');

-- Проверка эффективных прав в текущей базе данных
SELECT * FROM fn_my_permissions(NULL, 'DATABASE');

2. Назначение минимально необходимых прав для учетной записи 1С

Для учетной записи, под которой кластер 1С подключается к СУБД, требуются следующие привилегии:

-- 1. Для создания и управления базами данных через консоль кластера 1С:
ALTER SERVER ROLE [dbcreator] ADD MEMBER [usr1cv8_login];

-- 2. Для сбора технологического журнала и мониторинга индексов:
GRANT VIEW SERVER STATE TO [usr1cv8_login];
GRANT VIEW ANY DEFINITION TO [usr1cv8_login];

-- 3. Внутри самой базы данных 1С:
USE your_1c_db;
ALTER ROLE [db_owner] ADD MEMBER [usr1cv8_user];

3. Исправление прав для выполнения BACKUP и RESTORE

USE your_1c_db;
GRANT BACKUP DATABASE TO [backup_operator_login];
GRANT BACKUP LOG TO [backup_operator_login];

4. Проверка явных запретов (DENY)

SELECT pr.name, pe.permission_name, pe.state_desc 
FROM sys.server_permissions pe
JOIN sys.server_principals pr ON pe.grantee_principal_id = pr.principal_id
WHERE pe.state_desc = 'DENY';
Практический опыт инженера: Если ошибка 15247 возникает внутри хранимых процедур или триггеров при обращении к другим базам, включите свойство междоменного доверия TRUSTWORTHY: ALTER DATABASE [your_db] SET TRUSTWORTHY ON; либо подписывайте модули сертификатами.

Частые вопросы (FAQ)

Почему учетная запись с ролью db_owner не может выполнить DBCC CHECKDB?

Для выполнения расширенных команд DBCC или операций с файловой структурой требуются серверные привилегии sysadmin или специальные права на уровне сервера.

Обязательно ли давать пользователю 1С роль sysadmin на сервере SQL?

Нет. По соображениям безопасности достаточно членства в серверной роли dbcreator и роли db_owner внутри каждой рабочей базы данных 1С.

Что делать, если DENY на уровне роли перекрывает GRANT пользователя?

В модели безопасности SQL Server явный запрет (DENY) всегда имеет наивысший приоритет. Удалите запрещающее правило через команду REVOKE.

Какие права нужны для запуска профилирования SQL Server Profiler / Extended Events?

Требуется серверная привилегия ALTER ANY EVENT SESSION или VIEW SERVER STATE / CONTROL SERVER.