powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
21 сообщений из 21, страница 1 из 1
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591875
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.
Сабж уже вынес мне моск, ищу помощи.

Есть джоб запускающий юзерпроцу в которой запускается бэкап с его проверкой.
Вот та самая проверка возвращает ошибку.
Код: plaintext
1.
[SQLSTATE 42000] (Error 3013)  CREATE DATABASE permission denied in database 'master'. 
[SQLSTATE 42000] (Error 262)  VERIFY DATABASE is terminating abnormally. 

- проца создана под sa
- овнер джоба sa
- шаг джоба выполняется из под специально созданного с админ правами доменного юзера domain\BKUser
- у юзера domain\BKUse r есть одноименный логин domain\SQLBKUser
- логин в серверных ролях public , dbcreator
- на юзер базе есть пользователь bk_user промапленный на логин domain\SQLBKUser
- bk_user состоит в ролях юзербазы public , db_backupoperator

листинг кода проверки вызывающий ошибку:
Код: sql
1.
2.
3.
4.
5.
6.
	-- verify backup
		SELECT @backupSetId = position 
		FROM msdb..backupset 
		WHERE database_name = @db_name and backup_set_id = (SELECT max(backup_set_id) 
															FROM msdb..backupset 
															WHERE database_name = @db_name )




Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64)
on Windows Server 2016 Standard 6.3 <X64> (Build 14393: )
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591881
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл... файл бэкапа ложится в сетевую папку, доступ на запись у доменного юзера есть
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591883
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор- у юзера domain\BKUser есть одноименный логин domain\SQLBKUser
- на юзер базе есть пользователь bk_user промапленный на логин domain\SQLBKUser
что это тут такое написано?
по первому пункту: не вижу одноименности.
по второму: виндовый логин мапится лишь в самого себя,
что еще за невиндовый юзер, "промапленный на логин domain\SQLBKUser"?
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591885
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE DATABASE не нужен для бэкапа,
это надо для рестора.
ваше "с проверкой" это есть что, не backup with checksum,
а "restore verifyonly"?
---
для рестора существующей базы надо быть минимум в роли DBCREATOR
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591887
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и наконец ошибка совсем не на селекте из msdb..backupset:
для такого селекта вообще ничего не нужно.
просто быть отмапленным на сервере как логин достаточно
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591890
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче, ищите, где у вас restore verifyonly .
ваш логин никакой не dbcreator , отсюда и ошибка
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591899
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123автор- у юзера domain\BKUser есть одноименный логин domain\SQLBKUser
- на юзер базе есть пользователь bk_user промапленный на логин domain\SQLBKUser
что это тут такое написано?
по первому пункту: не вижу одноименности.
по второму: виндовый логин мапится лишь в самого себя,
что еще за невиндовый юзер, "промапленный на логин domain\SQLBKUser"?

1) Сорри, "SQL" в имени логина лишнее, логин действительно одноименный.
2) Хотел сказать,что в базе есть юзер bk_user с логином domain\BKUser

Yasha123CREATE DATABASE не нужен для бэкапа,
это надо для рестора.
ваше "с проверкой" это есть что, не backup with checksum,
а "restore verifyonly"?
---
для рестора существующей базы надо быть минимум в роли DBCREATOR

все верно, не тот кусок кода вставил ((( пятница, вечер, снова сорри
вот тот:
Код: sql
1.
RESTORE VERIFYONLY FROM DISK = @destination_file WITH  FILE = @backupSetId,  NOUNLOAD,  NOREWIND



почему логин никакой не dbcreator?
результат выполнения
Код: sql
1.
select IS_SRVROLEMEMBER ( 'dbcreator' ,'domain\BKUser' )

1
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591928
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gosha,
в процедуре точно не прописано какое-нибудь with execute as owner?
сделайте простую вещь: в процедуре закомментируйте весь код, вставьте select user, system_user.
теперь запустите. наверняка юзер будет guest
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591939
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

Сделал по совету

в хистори джоба такое сообщение:
Код: plaintext
Executed as user: bk_user. The step succeeded.
в логе запрос
Код: sql
1.
select user, system_user

вернул

bk_user , domain\BKUser

Куда копать, не пойму ((
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591940
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
with execute as owner в проце точно нет
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591945
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторХотел сказать,что в базе есть юзер bk_user с логином domain\BKUser
как вы умудрились доменный логин отмапить в такого вот юзера,
совершенно не доменного?
заскриптуйте что ли создание юзера и код покажите, плиз
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39591946
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и кстати вставьте еще в процедуру
Код: sql
1.
select IS_SRVROLEMEMBER ( 'dbcreator' ,'domain\BKUser' )


посмотрим, creator он или не creator.
---
кстати, а у него нет deny create any database?
посмотрите в sys.server_permissions
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39592954
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123авторХотел сказать,что в базе есть юзер bk_user с логином domain\BKUser
как вы умудрились доменный логин отмапить в такого вот юзера,
совершенно не доменного?
Ну это вообще не проблема заменить имя юзера для логина при создании :)

решил посмотреть, что вернет ORIGINAL_LOGIN() и он вернул совершенно не то, что ожидал - domain\SRV03$
Я правильно понимаю, что джоб выполняется именно от этого имени? вообще не понимаю, почему имя компа.

any ideas?
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593011
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goshaрешил посмотреть, что вернет ORIGINAL_LOGIN() и он вернул совершенно не то, что ожидал - domain\SRV03$
Я правильно понимаю, что джоб выполняется именно от этого имени? вообще не понимаю, почему имя компа.

any ideas?
ну так агент запущен или под Local System или под Network Service.
у них имя в сети это имя_компа$
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593313
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот результат запроса

Код: sql
1.
2.
3.
select [status], [dbname], [name], loginname, denylogin, hasaccess, isntname, isntgroup, isntuser, sysadmin, securityadmin, serveradmin, setupadmin, processadmin, diskadmin, dbcreator, bulkadmin
from sys.syslogins
where name = 'domain\BKUser'



statusdbnamenameloginnamedenyloginhasaccessisntnameisntgroupisntusersysadminsecurityadminserveradminsetupadminprocessadmindiskadmindbcreatorbulkadmin9masterdomain\BKUserdomain\BKUser0110100000010

может чего-то не хватает?...
куда глянуть, что еще посмотреть?
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593353
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выполните из своей процедуры
Код: sql
1.
select IS_SRVROLEMEMBER ( 'dbcreator')


без указания логина.
creator он или не creator?

и где результат проверки,
есть ли DENY CREATE ANY DATABASE
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593414
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,
опачкиии....
запрос
Код: sql
1.
select IS_SRVROLEMEMBER ( 'dbcreator')

из джоба вернул 0

Yasha123есть ли DENY CREATE ANY DATABASE
вот результат из sys.database_permissions для пользовательской базы

classclass_descmajor_idminor_idgrantee_principal_idgrantor_principal_idtypepermission_namestatestate_desc0DATABASE00181CO CONNECTGGRANT1OBJECT_OR_COLUMN15708206580181EX EXECUTEGGRANT

что не так делаю? ((
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593428
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаг джоба типа T-SQL при овнере джоба sysadmin выполняется от учетки агента.
вот и поместите его (domain\SRV03$) в роль dbcreator
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593459
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

у меня овнер джоба это sa а шаг джоба выполняется от имени юзера bk_user у которого вот этот самый логин domain\BKUser
кого куда мне добавить? или может нужно поменять овнера джоба?
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593471
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я даже не знаю, как еще донести-то.
жирным шрифтом соответствующего размера?
может, на инглише понятнее?
авторif the owner of the job is a sysadmin, it will execute in the context of the agent account.
If the owner is not sysadmin, it will execute under the context of the owner.

ну или вот еще аж c репро:
SQL Server Agent jobs and user contexts
...
Рейтинг: 0 / 0
permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
    #39593516
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

так понятно, спасибо :) особенно за ссылку
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / permission denied in database 'master'. [SQLSTATE 42000] (Error 262)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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