Невозможно изменить имя входа sa так как он не существует или отсутствуют разрешения

Msg 15247, Level 16, State 1, Line 3 User does not have permission to perform this action. Msg 15247, Level 16, State 1, Procedure sp_addsrvrolemember, Line 29 User does not have permission to perform this action. Msg 15151, Level 16, State 1, Line 2 Cannot alter the login 'sa', because it does not exist or you do not have permission.
  • Remove From My Forums
  • Question

  • Msg 15247, Level 16, State 1, Line 3
    User does not have permission to perform this action.
    Msg 15247, Level 16, State 1, Procedure sp_addsrvrolemember, Line 29
    User does not have permission to perform this action.
    Msg 15151, Level 16, State 1, Line 2
    Cannot alter the login ‘sa’, because it does not exist or you do not have permission.

Answers

  • What login are you using to alter the sa login? Are you logged in as a sysadmin? What property of the sa login are you trying to alter?


    Satish Kartan www.sqlfood.com

    • Proposed as answer by

      Friday, November 7, 2014 3:14 AM

    • Marked as answer by
      Charlie Liao
      Thursday, November 13, 2014 1:37 AM

  • The error messages are all quite clear, the login you are using don’t have enough permissions to perform the Actions. Ask your DBA to do this or to grant you more permissions.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Proposed as answer by
      Charlie Liao
      Friday, November 7, 2014 3:14 AM
    • Marked as answer by
      Charlie Liao
      Thursday, November 13, 2014 1:37 AM

  • Hi Chinnarasu,

    According to your error message, it seems that you want to modify the permissions of ‘sa’, right?

    This error had occurred because of insufficient rights. In SQL Server, sa is system admin user and it is the highest level of user in system. If any user have to modify the permissions of sa that user needs to have higher or equivalent rights as sa
    user. Users member of systemadmin group are can change the rights of SA user.

    So in you scenario, in order to avoid this issue. you can add the user to systemadmin role and then using the same user to modify the permissions of ‘sa’.
    http://technet.microsoft.com/en-us/library/aa905197(v=sql.80).aspx

    Regards,


    Charlie Liao
    TechNet Community Support

    • Edited by
      Charlie Liao
      Friday, November 7, 2014 3:12 AM
    • Marked as answer by
      Charlie Liao
      Thursday, November 13, 2014 1:37 AM

  • Remove From My Forums
  • Question

  • Msg 15247, Level 16, State 1, Line 3
    User does not have permission to perform this action.
    Msg 15247, Level 16, State 1, Procedure sp_addsrvrolemember, Line 29
    User does not have permission to perform this action.
    Msg 15151, Level 16, State 1, Line 2
    Cannot alter the login ‘sa’, because it does not exist or you do not have permission.

Answers

  • What login are you using to alter the sa login? Are you logged in as a sysadmin? What property of the sa login are you trying to alter?


    Satish Kartan www.sqlfood.com

    • Proposed as answer by

      Friday, November 7, 2014 3:14 AM

    • Marked as answer by
      Charlie Liao
      Thursday, November 13, 2014 1:37 AM

  • The error messages are all quite clear, the login you are using don’t have enough permissions to perform the Actions. Ask your DBA to do this or to grant you more permissions.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Proposed as answer by
      Charlie Liao
      Friday, November 7, 2014 3:14 AM
    • Marked as answer by
      Charlie Liao
      Thursday, November 13, 2014 1:37 AM

  • Hi Chinnarasu,

    According to your error message, it seems that you want to modify the permissions of ‘sa’, right?

    This error had occurred because of insufficient rights. In SQL Server, sa is system admin user and it is the highest level of user in system. If any user have to modify the permissions of sa that user needs to have higher or equivalent rights as sa
    user. Users member of systemadmin group are can change the rights of SA user.

    So in you scenario, in order to avoid this issue. you can add the user to systemadmin role and then using the same user to modify the permissions of ‘sa’.
    http://technet.microsoft.com/en-us/library/aa905197(v=sql.80).aspx

    Regards,


    Charlie Liao
    TechNet Community Support

    • Edited by
      Charlie Liao
      Friday, November 7, 2014 3:12 AM
    • Marked as answer by
      Charlie Liao
      Thursday, November 13, 2014 1:37 AM

Я пытаюсь создать базу данных на своем локальном компьютере с помощью SSMS версии 11.0.2100.60. Я запустил приложение как администратор, вошел в систему с использованием аутентификации Windows и добавил MYDOMAIN my-username в логины. Однако, если я попытаюсь создать базу данных с этим логином, я получаю сообщение

CREATE DATABASE permission denied in database 'master'. 
(Microsoft SQL Server, Error: 262)

Если я попытаюсь добавить своему пользователю privelage dbcreator, я получу следующую ошибку.

User does not have permission to perform this action. 
(Microsoft SQL Server, Error: 15247)

Я не могу войти в систему как sa, так как я не знаю / не помню пароль (есть ли предустановленный по умолчанию?), И если я попытаюсь изменить пароль, я получаю сообщение:

Cannot alter the login 'sa', because it does not exist or you do not have permission. 
(Microsoft SQL Server, Error: 15151)

Наконец, я отмечаю, что учетная запись sa отключена, и если я попытаюсь включить ее, я получу ту же ошибку, что и раньше. Есть ли способ обойти это или мне нужно переустановить?

Информация об версии:

Microsoft SQL Server Management Studio                      11.0.2100.60
Microsoft Analysis Services Client Tools                        11.0.2100.60
Microsoft Data Access Components (MDAC)                     6.2.9200.16384
Microsoft MSXML                     3.0 4.0 6.0 
Microsoft Internet Explorer                     9.10.9200.16635
Microsoft .NET Framework                        4.0.30319.18051
Operating System                        6.2.9200

3 ответа

Лучший ответ

Я нашел ответ здесь:

Чтобы запустить SQL Server в однопользовательском режиме, вы можете добавить параметр «-m» в командную строку. Вы также можете использовать инструмент SQL Server Configuration Manager, который обеспечивает надлежащий контроль доступа к файлам и других привилегий. Чтобы использовать инструмент Configuration Manager для восстановления вашей системы, выполните следующие действия:

  1. Откройте средство Configuration Manager из меню «SQL Server 2005 | Конфигурация».
  2. Остановите экземпляр SQL Server, который необходимо восстановить
  3. Перейдите на вкладку «Дополнительно» и в текстовом поле «Свойства» добавьте «; –m» в конец списка в параметре «Параметры запуска».
  4. Нажмите кнопку «ОК» и перезапустите экземпляр SQL Server.


8

tdc
22 Июл 2013 в 17:32

Я хотел бы указать на альтернативный ответ, изложенный в DBA SE. Загрузите PSExec в коробку, в которой возникла проблема, и следуйте инструкциям, изложенным в это сообщение в блоге, чтобы легко изменить настройки администратора с помощью учетной записи NT AuthoritySystem.

./psexec -s -i "C:...Ssms.exe"

Хотел поделиться этим решением, так как оно решило мою проблему!


2

Yola
7 Фев 2020 в 22:31

Немного конкретнее:

  1. Откройте диспетчер конфигурации Sql.
  2. Выберите Службы SQL Server.
  3. С правой стороны выберите экземпляр.
  4. Щелкните его правой кнопкой мыши и откройте свойства.
  5. На расширенной вкладке прикрепите «; -m» в конце поля «Параметры запуска».
  6. Применить и перезапустить службу.
  7. Теперь у вас есть привилегия включить пользователя «sa» и изменить его пароль.
  8. после этого удалите «; -m» и перезапустите службу.
  9. Тебе хорошо идти.


8

S’chn T’gai Spock
5 Апр 2017 в 15:26

Проблемы

Вот сценарий, описанный ниже. С помощью средств Microsoft SQL Server 2008 вы можете подключиться к серверу, на котором запущен Microsoft SQL Server 2005. Вы открываете диалоговое окно Свойства для учетной записи администратора SQL Server, а затем выполняете вход SA с помощью средств SQL Server Management Studio. Вы измените свойства логина SA и нажмите кнопку ОК. В этом случае появляется следующее сообщение об ошибке:

Название: Microsoft SQL Server Management Studio——————————не удалось выполнить инструкцию ALTER для входа «SA». (Microsoft. SqlServer. SMO)——————————Дополнительные сведения: возникло исключение при выполнении инструкции или пакета Transact-SQL. (Microsoft. SqlServer. ConnectionInfo)——————————не удается установить учетные данные для участника SA. (Microsoft SQL Server, ошибка: 15535)——————————

Причина

Эта проблема возникает в том случае, если флажок сопоставить с учетными данными не установлен на вкладке Общие диалогового окна Свойства входа в систему SA . Если этот флажок не установлен, SQL Server 2008 попытается отключить все учетные данные, сопоставленные с учетными данными для входа. Так как ваши учетные данные не могут быть настроены на имя пользователя SA, появляется сообщение об ошибке, указанное в разделе «проблема», при нажатии кнопки ОК , чтобы закрыть диалоговое окно.

Решение

Чтобы устранить эту проблему, убедитесь, что на вкладке Общие диалогового окна Свойства входа в систему SA установлен флажок сопоставить с учетными данными , а затем нажмите кнопку ОК , чтобы закрыть диалоговое окно.

Ссылки

Сведения о свойствах для входа можно найти на веб-сайте MSDN по следующему адресу:

http://msdn.microsoft.com/en-us/library/ms189425(SQL.100).aspx

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

У меня есть сценарий Powershell, который выполняется в контексте пользователя Windows. Этот пользователь имеет имя входа в экземпляр SQL 2012, который является членом роли сервера sysadmin.

Я хочу, чтобы скрипт добавил еще одно имя входа в экземпляр SQL (который также имеет соответствующего пользователя Windows) к роли сервера sysadmin.

чтобы попробовать это в Management Studio (подключен как SA), я использую следующий скрипт:

execute as user = 'domaincurrentsysadmin'

IF IS_SRVROLEMEMBER('sysadmin', 'domainfuturesysadmin') != 1
    ALTER SERVER ROLE [sysadmin] ADD MEMBER [domainfuturesysadmin]

revert

У меня два вопроса здесь:

  1. когда я запускаю сценарий, как он отображается здесь, вызов IS_SRVROLEMEMBER возвращает 0 как ожидалось, но даже если доменcurrentsysadmin login является членом sysadmin, вызов ALTER SERVER ROLE возвращает:

    Msg 15151, Уровень 16, Состояние 1, Строка 8
    Невозможно изменить роль сервера «sysadmin», поскольку она не существует или у вас нет разрешения.

  2. когда я запускаю это в контексте SA без EXECUTE В качестве инструкции инструкция ALTER SERVER ROLE, по-видимому, выполняется успешно, но когда я проверяю имя Входа domainfuturesysadmin, она все еще не является членом роли sysadmin

Как добавить имя Входа domainfuturesystem в роль сервера sysadmin?

1 ответов


использовать sp_addsrvrolemember:

EXEC master..sp_addsrvrolemember @loginame = N'domainfuturesysadmin', @rolename = N'sysadmin'

обновление:
Переключение контекста пользователя не наследует роли сервера, например sysadmin. При чтении документации: «разрешения уровня сервера, явно предоставленные удостоверениям в маркере пользователя или через членство в роли, не соблюдаются.»Когда вы переключаете пользовательский контекст, ваш пользователь больше не имеет права предоставлять sysadmin другому пользователю.


Какой режим аутентификации?

Возможно, ваш сервер настроен на работу только в режиме аутентификации Windows . Это можно проверить, открыв Свойства вашего экземпляра SQL Server в SQL Server Management Studio и просмотрев раздел « Безопасность »:

Свойства безопасности SSMS

Или вы можете выполнить следующую инструкцию SQL Server после входа в систему с учетной записью Windows:

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQLServerMSSQLServer', N'LoginMode'

Если возвращено значение, LoginMode 2то активированы режим аутентификации SQL Server и Windows . (См. Шаг 2. для получения подробной информации о том, как это изменить.)

Если возвращено значение, LoginMode 1то активирован режим аутентификации Windows . (Дополнительные сведения о том, как изменить этот параметр, см. В шаге 1. ) Вход в систему с чистыми именами входа SQL Server невозможен.


Шаг 1. — Изменение режима аутентификации

Если ваш экземпляр настроен на использование только режима проверки подлинности Windows, вам придется включить SQL Server и режим проверки подлинности Windows и перезагрузить сервер. Следуйте этим простым шагам:

1. Изменить режим аутентификации

SQL Script

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQLServerMSSQLServer', N'LoginMode', REG_DWORD, 2
GO

SQL Server Management Studio (SSMS)

Измените параметр в разделе безопасности окна свойств на режим SQL Server и Windows Authentication .

Свойства безопасности SSMS - режим проверки подлинности SQL Server и Windows

2. Перезапустите экземпляр SQL Server.

SQL Script

(может быть достигнуто с помощью SQL Script в режиме SQLCMD )

-- Connect to your instance
-- (Replace <instancename> with your instance's name
:connect <instancename>

-- Stop your SQL Server instance 

-- (Replace SQLSERVERAGENT with the name of your service)
!! net stop SQLSERVERAGENT
-- (Replace MSSQLServer with the name of your service)
!! net stop MSSQLServer

-- Start your SQL Server instance 

-- (Replace SQLSERVERAGENT with the name of your service)
!! net start MSSQLServer
-- (Replace SQLSERVERAGENT with the name of your service)   
!! net start SQLSERVERAGENT

:connect localhost

SQL Server Management Studio (SSMS)

Щелкните правой кнопкой мыши ваш экземпляр SQL Server и выберите « Перезагрузить» в контекстном меню:

Перезапуск экземпляра SSMS через контекстное меню

3. Проверьте настройку

SQL Script

Убедитесь, что ваш экземпляр работает в режиме аутентификации SQL Server и Windows , введя следующую команду:

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQLServerMSSQLServer', N'LoginMode'

Вы должны получить LoginMode 2.

SQL Server Management Studio (SSMS)

Убедитесь, что переключатель выбран для режима SQL Server и режима проверки подлинности Windows .

Свойства безопасности SSMS - режим проверки подлинности SQL Server и Windows

Если ваша учетная запись sa была отключена, выполните также шаг 2 .. В противном случае вы закончили.


Шаг 2. Включение учетной записи sa

В случае деактивированной учетной записи sa , просто включите учетную запись SQL Server снова. Это может быть достигнуто с помощью следующего скрипта:

USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'<your password>'
GO
ALTER LOGIN [sa] ENABLE
GO

… или через SSMS.

Понравилась статья? Поделить с друзьями:
  • Невозможно изменить защищенное содержимое libreoffice как убрать
  • Невозможно запустить фортнайт проверьте установочные файлы ошибка ls 0013
  • Невозможно запустить устройство код ошибки 10
  • Невозможно запустить приложение на данном устройстве windows 10 как исправить
  • Невозможно запустить менеджер браузеров как исправить windows 10