Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 5

У пользователя нет разрешения на выполнение этого действия

11.09.2025, 16:24. Показов 699. Ответов 1

Студворк — интернет-сервис помощи студентам
Добрый день.
Может кто подскажет как избавиться от ошибки "У пользователя нет разрешения на выполнение этого действия":

На новом сервере, новая БД, создан пользователь "ARM_System_User", в числе прочего ему выданы права на VIEW SERVER STATE

T-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
if not exists (select * from master..syslogins where name = 'ARM_System_User') begin
    print 'Создание логина [ARM_System_User]...'
    
    CREATE LOGIN [ARM_System_User] WITH PASSWORD = 'abvgd'
        , DEFAULT_DATABASE=[master]
        , CHECK_EXPIRATION=OFF
        , CHECK_POLICY=OFF
 
end
 
EXEC master..sp_addsrvrolemember @loginame = 'ARM_System_User', @rolename =  'dbcreator'
 
set @sql_script = 
    'use [master]
    GRANT ALTER ANY LOGIN TO [ARM_System_User];
    GRANT VIEW SERVER STATE TO [ARM_System_User];
    if not exists (select * from sys.database_principals where name = ''ARM_System_User'' and type=''S'' )  begin
        print ''Создание пользователя ARM_System_User на БД master...''
        create user ARM_System_User for login ARM_System_User;
    end     
 
    GRANT exec ON xp_cmdshell TO ARM_System_User;
    GRANT CREATE DATABASE TO [ARM_System_User];
    GRANT ALTER SERVER STATE TO [ARM_System_User];'
 
exec (@sql_script)
Есть процедура которая должна выполняться с его правами, т.е. WITH EXECUTE AS 'ARM_System_User'.
В ней по большому счету только обращение к информации по БД через команду
EXEC('DBCC SQLPERF(LOGSPACE) WITH NO_INFOMSGS')

Даже если я захожу на сервер как "sa" - ошибка "У пользователя нет разрешения на выполнение этого действия".
Если захожу на сервер под ним самим (под ARM_System_User) - то:
- Отдельно команда EXEC('DBCC SQLPERF(LOGSPACE) WITH NO_INFOMSGS') - выполняется.
- Выполнение процедуры без указания WITH EXECUTE AS 'ARM_System_User' - выполняется.
- Но если в процедуре оставить WITH EXECUTE AS 'ARM_System_User', то НЕ выполняется.

На старом сервере все работает без проблем. Права, роли, разрешения все проверил - вроде всё одинаково.
Подскажите что ещё нужно проверить?
(Я не системщик, рядовой программист, просьба писать максимально доходчиво)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2025, 16:24
Ответы с готовыми решениями:

Какие еще разрешения требуются пользователю для выполнения системной хранимой процедуры таблицы master?
Потерял день, но так и не понял, почему хранимая процедура заявляет, что у пользователя нет...

Настройка и разрешение пользователя в SQL для Windows-Authorization
Привет всем !! У меня возникает проблема при создании схемы в СУБД. при попытке создания...

Хранение данных пользователя(инф-ию,ограничений,разрешений) в Базе Данных, нужен совет
Здравствуйте, подскажите пожалуйста в какой форме лучше хранить в БД информацию о пользователях, их...

1
0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 5
12.09.2025, 14:12  [ТС]
Проблема решилась установкой для БД опции trustworthy в ON.

(Свойство TRUSTWORTHY базы данных используется для указания того, доверяет ли экземпляр SQL Server базе данных и содержимому в ней. По умолчанию этот параметр имеет значение OFF.
ALTER DATABASE dbname SET TRUSTWORTHY ON)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2025, 14:12
Помогаю со студенческими работами здесь

Управление пользователями и разрешениями в Access 2000
Здравствуйте! Хотел в своей БД сделать пароли для каждого пользователя и т. п.... но наткнулся в...

При выполнении макроса в access 2007, блокировать все действия на компьютере
Доброго времени суток. Много сайтов просмотрел так и не нашёл. Мне нужно при выполнении макроса в...

Выполнение определенных действий по времени
Добрый день. Подскажите, пожалуйста, как правильно сделать так, чтобы база выполняла...

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

Связать группы пользователей из мастер защиты на уровне пользователей с должностями пользователей в БД
Интересный вопрос и интересно как его решить. Изначально условия следующие: один компьютер, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru