15151: Cannot find the object/principal because it does not exist or you do not have permission
SQL ServerЧто это значит?
Указанный объект или участник безопасности (пользователь, роль, имя входа) либо не существует, либо у вас нет разрешения на доступ к нему или действия с ним. По соображениям безопасности SQL Server объединяет оба случая в одно сообщение.
Почему возникает?
Использование несуществующего имени пользователя, роли, схемы или объекта в команде GRANT/ALTER/DROP и т. п.; работа в неверном контексте базы данных (объект находится в другой БД); либо отсутствие привилегии для операции. Частые причины — опечатки, регистр и префиксы схемы.
Как исправить
Убедитесь, что имя объекта/участника написано правильно и вы находитесь в нужной базе данных. Для пользователей: SELECT name, type_desc FROM sys.database_principals; для объектов выполните запрос к sys.objects. Убедитесь, что у выполняющей учётной записи есть необходимые разрешения (например, ALTER ANY USER, CONTROL). Используйте правильный префикс схемы (например, dbo.object).
Ещё по этой СУБД
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths
- 9421XML parsing: illegal xml character
- 4834You do not have permission to use the bulk load statement
- 10928Resource limit for the database has been reached (Azure SQL)
- 40544The database has reached its size quota (Azure SQL)
- 40613Database is not currently available (Azure SQL)