У пользователя нет разрешений на выполнение данного действия microsoft sql server ошибка 15247

Проблемы

Рассмотрим следующий сценарий.

  • В базе данных модели создается пользовательский тип данных.

  • Пользователь, который не является системным администратором, пытается использовать этот тип данных для создания временной таблицы в базе данных модели.

В этом случае пользователь получит следующее сообщение об ошибке:
 

Msg 15247, Level 16, State 4, Server <Server name>, Line 1

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

Причина

В разделе Разрешения раздела Книги Online для create TABLE есть следующая заметка:

Если какие-либо столбцы в заявлении CREATE TABLE имеют определенный пользователем тип CLR, требуется либо владение типом, либо разрешение REFERENCES на него. 

Эта заметка относится не только к типам данных CLR, но и к пользовательским типам данных. Обратитесь к разделу»Использованиепользовательских типов в разных базах данных» книги SQL Server Online, в которой рассматривается поведение типов данных CLR. 

ПРИМЕЧАНИЕ. Эта проблема возникает только при явном создании таблиц, а не при неявном создании таблиц с помощью выражений SELECT INTO. 

Решение

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

Способ 1.Предоставление разрешений REFERENCES для общего пользователя в базе данных модели.

Пример:

CREATE TYPE dbo.udt_money FROM varchar(11) NOT NULL;
перейти
GRANT REFERENCES ON TYPE::d bo.udt_money TO public

ПРИМЕЧАНИЕ.Перед использованием этого метода тщательно оцените последствия для системы безопасности, так как это разрешение будет перенаться в каждую новую базу данных. 

Способ 2.Если вы не хотите, чтобы каждая новая база данных сохраняла определение и разрешения для этого пользовательского типа данных, вы можете использовать хранимую процедуру запуска для создания и назначения соответствующих разрешений только в базе данных TEMPDB.

Пример:     

ИСПОЛЬЗОВАТЬ мастер

Пойти

CREATE PROCEDURE setup_udt_in_tempdb

Как

EXEC ( ‘USE tempdb;

CREATE TYPE dbo.udt_money FROM varchar(11) NOT NULL;

GRANT REFERENCES ON TYPE::d bo.udt_money TO public;’)

Пойти

ExEC sp_procoption ‘setup_udt_in_tempdb’, ‘startup’ , ‘on’

Пойти

Способ 3.

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

  • Remove From My Forums
  • Question

  •  

    Hi,

    I was able to do my work with ease on my Database server, until sometime Friday evening. Don’t exactly know what transpired, only that I can now no longer run queries or even create new databases. Here is a sample of what happens when I try to create a database

    Create Database PetitionSample

    Msg 262, Level 14, State 1, Line 1

    CREATE DATABASE permission denied in database ‘master’.

    I used to be able to create databases, create new users and so on. My Server is installed on a Vista machine and I am running Developer version and using Management studio 2008 to access it. Anyone have any idea what could be going on?


    None

Answers

    • Proposed as answer by

      Friday, January 16, 2009 6:42 AM

    • Marked as answer by
      Mangal Pardeshi
      Monday, January 26, 2009 4:30 AM
  • Remove From My Forums
  • Question

  • Hi,

    I have security admin role, but still I can not able to create login.

    Error: user does not have permission (error 15247)

    What is the issue here

    Thanks

    Shashikala


    Shashikala

Answers

  • Hi,

    I have security admin permission


    Shashikala

    Hi Shashikala K Bhat,

    According to your description, I do a test in SQL Server 2012. If the SQL Server login account has security admin permission, when you log in the SQL Server via this account, you can create a new login in the SQL Server. About the error message 15247, I
    recommend you use windows authentication mode and go to security then try create new login. If the error still exists, you can try reinstall your SQL Server.
     

    There is similar issue about error 15247, you can review the following article.
    http://stackoverflow.com/questions/9185142/sql-server-2008-r2-express-permissions-cannot-create-database-or-modify-users

    Regards,
    Sofiya Li


    Sofiya Li
    TechNet Community Support

    • Proposed as answer by

      Monday, March 31, 2014 3:51 PM

    • Marked as answer by
      Sofiya Li
      Friday, April 4, 2014 1:37 AM

  • Remove From My Forums
  • Question

  •  

    Hi,

    I was able to do my work with ease on my Database server, until sometime Friday evening. Don’t exactly know what transpired, only that I can now no longer run queries or even create new databases. Here is a sample of what happens when I try to create a database

    Create Database PetitionSample

    Msg 262, Level 14, State 1, Line 1

    CREATE DATABASE permission denied in database ‘master’.

    I used to be able to create databases, create new users and so on. My Server is installed on a Vista machine and I am running Developer version and using Management studio 2008 to access it. Anyone have any idea what could be going on?


    None

Answers

    • Proposed as answer by

      Friday, January 16, 2009 6:42 AM

    • Marked as answer by
      Mangal Pardeshi
      Monday, January 26, 2009 4:30 AM

  • Remove From My Forums
  • Question

  •  

    Hi,

    I was able to do my work with ease on my Database server, until sometime Friday evening. Don’t exactly know what transpired, only that I can now no longer run queries or even create new databases. Here is a sample of what happens when I try to create a database

    Create Database PetitionSample

    Msg 262, Level 14, State 1, Line 1

    CREATE DATABASE permission denied in database ‘master’.

    I used to be able to create databases, create new users and so on. My Server is installed on a Vista machine and I am running Developer version and using Management studio 2008 to access it. Anyone have any idea what could be going on?


    None

Answers

    • Proposed as answer by

      Friday, January 16, 2009 6:42 AM

    • Marked as answer by
      Mangal Pardeshi
      Monday, January 26, 2009 4:30 AM
  • Remove From My Forums
  • Question

  •  

    Hi,

    I was able to do my work with ease on my Database server, until sometime Friday evening. Don’t exactly know what transpired, only that I can now no longer run queries or even create new databases. Here is a sample of what happens when I try to create a database

    Create Database PetitionSample

    Msg 262, Level 14, State 1, Line 1

    CREATE DATABASE permission denied in database ‘master’.

    I used to be able to create databases, create new users and so on. My Server is installed on a Vista machine and I am running Developer version and using Management studio 2008 to access it. Anyone have any idea what could be going on?


    None

Answers

    • Proposed as answer by

      Friday, January 16, 2009 6:42 AM

    • Marked as answer by
      Mangal Pardeshi
      Monday, January 26, 2009 4:30 AM

Проблемы

Рассмотрим следующий сценарий.

  • В базе данных модели создается пользовательский тип данных.

  • Пользователь, который не является системным администратором, пытается использовать этот тип данных для создания временной таблицы в базе данных модели.

В этом случае пользователь получит следующее сообщение об ошибке:
 

Msg 15247, Level 16, State 4, Server <Server name>, Line 1

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

Причина

В разделе Разрешения раздела Книги Online для create TABLE есть следующая заметка:

Если какие-либо столбцы в заявлении CREATE TABLE имеют определенный пользователем тип CLR, требуется либо владение типом, либо разрешение REFERENCES на него. 

Эта заметка относится не только к типам данных CLR, но и к пользовательским типам данных. Обратитесь к разделу»Использованиепользовательских типов в разных базах данных» книги SQL Server Online, в которой рассматривается поведение типов данных CLR. 

ПРИМЕЧАНИЕ. Эта проблема возникает только при явном создании таблиц, а не при неявном создании таблиц с помощью выражений SELECT INTO. 

Решение

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

Способ 1.Предоставление разрешений REFERENCES для общего пользователя в базе данных модели.

Пример:

CREATE TYPE dbo.udt_money FROM varchar(11) NOT NULL;
перейти
GRANT REFERENCES ON TYPE::d bo.udt_money TO public

ПРИМЕЧАНИЕ.Перед использованием этого метода тщательно оцените последствия для системы безопасности, так как это разрешение будет перенаться в каждую новую базу данных. 

Способ 2.Если вы не хотите, чтобы каждая новая база данных сохраняла определение и разрешения для этого пользовательского типа данных, вы можете использовать хранимую процедуру запуска для создания и назначения соответствующих разрешений только в базе данных TEMPDB.

Пример:     

ИСПОЛЬЗОВАТЬ мастер

Пойти

CREATE PROCEDURE setup_udt_in_tempdb

Как

EXEC ( ‘USE tempdb;

CREATE TYPE dbo.udt_money FROM varchar(11) NOT NULL;

GRANT REFERENCES ON TYPE::d bo.udt_money TO public;’)

Пойти

ExEC sp_procoption ‘setup_udt_in_tempdb’, ‘startup’ , ‘on’

Пойти

Способ 3.

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

Нужна дополнительная помощь?

  • Remove From My Forums
  • Question

  • Hi,

    I have security admin role, but still I can not able to create login.

    Error: user does not have permission (error 15247)

    What is the issue here

    Thanks

    Shashikala


    Shashikala

Answers

  • Hi,

    I have security admin permission


    Shashikala

    Hi Shashikala K Bhat,

    According to your description, I do a test in SQL Server 2012. If the SQL Server login account has security admin permission, when you log in the SQL Server via this account, you can create a new login in the SQL Server. About the error message 15247, I
    recommend you use windows authentication mode and go to security then try create new login. If the error still exists, you can try reinstall your SQL Server.
     

    There is similar issue about error 15247, you can review the following article.
    http://stackoverflow.com/questions/9185142/sql-server-2008-r2-express-permissions-cannot-create-database-or-modify-users

    Regards,
    Sofiya Li


    Sofiya Li
    TechNet Community Support

    • Proposed as answer by

      Monday, March 31, 2014 3:51 PM

    • Marked as answer by
      Sofiya Li
      Friday, April 4, 2014 1:37 AM
  • Remove From My Forums
  • Вопрос

  •  

    Hi,

    I was able to do my work with ease on my Database server, until sometime Friday evening. Don’t exactly know what transpired, only that I can now no longer run queries or even create new databases. Here is a sample of what happens when I try to create a database

    Create Database PetitionSample

    Msg 262, Level 14, State 1, Line 1

    CREATE DATABASE permission denied in database ‘master’.

    I used to be able to create databases, create new users and so on. My Server is installed on a Vista machine and I am running Developer version and using Management studio 2008 to access it. Anyone have any idea what could be going on?


    None

Ответы

    • Предложено в качестве ответа

      16 января 2009 г. 6:42

    • Помечено в качестве ответа
      Mangal Pardeshi
      26 января 2009 г. 4:30

2010-05-16, 17:17 / Argon

При наличии у пользователя прав локального администратора в операционной системе, в которой установлен Microsoft SQL Server (я предполагаю версию 2008), может случиться ситуация, что прав на подключение или управление сервером SQL у такого пользователя нет. Случиться такое может по разным причинам, от саботажа до банальной установки SQL Server’а доменным пользователем, которого уже удалили. Однако, есть возможность без переустановки SQL Server’а получить административные права любому пользователю, обладающим локальными административными правами на уровне ОС. Для этого нужно проделать следующие действия…

  1. зайти в систему от имени пользователя с правами локального администратора
  2. запустить командную строку с правами администратора (начиная с Windows Server 2008 по умолчанию включен UAC, поэтому для полных прав в системе все программы нужно запускать правым кликом → запуск от админа)
  3. выполнить остановку службы SQL Server
    net stop MSSQLSERVER
  4. выполнить запуск службы SQL Server в однопользовательском режиме
    net start MSSQLSERVER /m
  5. подключиться к командному процессору управления SQL Server с правами текущего пользователя
    sqlcmd -E
  6. добавить объект безопасности Windows (локального или доменного пользователя или группу) в базу данных пользователей SQL Server
    CREATE LOGIN [builtinадминистраторы] FROM WINDOWS;
    GO;
  7. назначить этому пользователю права администратора SQL Server’a
    EXEC sp_addsrvrolemember 'builtinадминистраторы', 'sysadmin';
    GO;
  8. выйти из sqlcmd ;)
    exit
  9. запустить службу SQL Server в обычном режиме
    net start MSSQLSERVER
  10. теперь можно подключаться с помощью Management Studio к вашему SQL серверу и выполнять необходимые действия
Рубрика Tips and Tricks
Метки security, безопасность, sql server, windows server, восстановление, recovery
Опубликовано 2010-05-16, 17:17; обновлено 2011-01-09, 17:01
Комментарии 17 комментариев » | Лента комментариев RSS
Ссылки Постоянная ссылка |
Обратная ссылка

Recently just upgraded to SQL Server 2008 R2 Express. When I attempt to create a database after logging in using Windows Authentication with my id myuser I receive this error:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
CREATE DATABASE permission denied in database ‘master’. RESTORE HEADERONLY is terminating abnormally Error 262

If I try to add the sysadmin role to myuser, this is the error I receive:

Add member failed for ServerRole ‘sysadmin’. (Microsoft.SqlServer.Smo)
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
User does not have permission to perform this action Error 15247

If I try to add this role to my user with T-SQL, using this command,

EXEC sp_addsrvrolemember 'ziffenergymyuser', 'sysadmin';
GO

Here is the error I receive:

Msg 15247, Level 16, State 1, Procedure sp_addsrvrolemember, Line 29
User does not have permission to perform this action.

Does anyone have any suggestions? It seems that I can’t do anything with database on the local machine. Please note that I am the administrator on the Windows 7 workstation I am using, and if I try to create or modify databases and/or users on our network IT Test database server using SQL Server Management Studio, I can do that with no problem.

Недавно только что обновился до SQL Server 2008 R2 Express. Когда я пытаюсь создать базу данных после входа в систему с использованием проверки подлинности Windows с моим идентификатором myuser, я получаю эту ошибку:

Исключение при выполнении инструкции или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
В базе данных master отказано в разрешении CREATE DATABASE. RESTORE HEADERONLY аварийно завершает работу Ошибка 262

Если я попытаюсь добавить роль sysadmin в myuser, я получаю следующее сообщение об ошибке:

Не удалось добавить участника для ServerRole «sysadmin». (Microsoft.SqlServer.Smo)
Исключение при выполнении инструкции или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
У пользователя нет разрешения на выполнение этого действия Ошибка 15247

Если я попытаюсь добавить эту роль своему пользователю с помощью T-SQL, используя эту команду,

EXEC sp_addsrvrolemember 'ziffenergymyuser', 'sysadmin';
GO

Вот ошибка, которую я получаю:

Сообщение 15247, уровень 16, состояние 1, процедура sp_addsrvrolemember, строка 29
У пользователя нет разрешения на выполнение этого действия.

У кого-нибудь есть предложения? Похоже, я ничего не могу сделать с базой данных на локальном компьютере. Обратите внимание, что я являюсь администратором на рабочей станции Windows 7, которую я использую, и если я попытаюсь создать или изменить базы данных и / или пользователей на нашем сетевом сервере базы данных IT Test с помощью SQL Server Management Studio, я смогу сделать это без проблем.

  • Remove From My Forums
  • Question

  •  

    Hi,

    I was able to do my work with ease on my Database server, until sometime Friday evening. Don’t exactly know what transpired, only that I can now no longer run queries or even create new databases. Here is a sample of what happens when I try to create a database

    Create Database PetitionSample

    Msg 262, Level 14, State 1, Line 1

    CREATE DATABASE permission denied in database ‘master’.

    I used to be able to create databases, create new users and so on. My Server is installed on a Vista machine and I am running Developer version and using Management studio 2008 to access it. Anyone have any idea what could be going on?


    None

Answers

    • Proposed as answer by

      Friday, January 16, 2009 6:42 AM

    • Marked as answer by
      Mangal Pardeshi
      Monday, January 26, 2009 4:30 AM
  • Remove From My Forums
  • Question

  •  

    Hi,

    I was able to do my work with ease on my Database server, until sometime Friday evening. Don’t exactly know what transpired, only that I can now no longer run queries or even create new databases. Here is a sample of what happens when I try to create a database

    Create Database PetitionSample

    Msg 262, Level 14, State 1, Line 1

    CREATE DATABASE permission denied in database ‘master’.

    I used to be able to create databases, create new users and so on. My Server is installed on a Vista machine and I am running Developer version and using Management studio 2008 to access it. Anyone have any idea what could be going on?


    None

Answers

    • Proposed as answer by

      Friday, January 16, 2009 6:42 AM

    • Marked as answer by
      Mangal Pardeshi
      Monday, January 26, 2009 4:30 AM

  • У плюшкина крестьяне помирают как мухи найти ошибку
  • У плюшкина крестьяне помирают как мухи лексическая ошибка
  • У писателя каждый персонаж имеет свои индивидуальные черты ошибка
  • У печорина существует эгоизм ошибка
  • У печорина существует эгоизм найдите речевую ошибку