не може додати користувача до ролі sysadmin в SQL Server


9

Я використовую SQL Server 2008 Studio Studio. Поточний обліковий запис для входу належить до локальної групи адміністраторів машини. Я використовую режим інтегрованої безпеки Windows у SQL Server 2008.

Моя проблема полягає в тому, що після входу в SQL Server Management Studio я вибираю своє ім’я для входу в розділі Безпека / Логіни, потім вибираю вкладку Ролеві сервери, а потім вибираю останній елемент - sysadmin, щоб я належав до цієї групи / ролі, але він говорить, що я не мають достатнього дозволу. Будь-які ідеї, що не так? Я думаю, що місцевий адміністратор повинен мати можливість робити що завгодно. :-)


ось що постачає Microsoft у цій проблемі: msdn.microsoft.com/en-us/library/dd207004.aspx Я можу рекомендувати цей сценарій: archive.msdn.microsoft.com/addselftosqlsysadmin/Release/…

Відповіді:


6

Логін сеансу, де ви намагаєтеся встановити дозволи, повинен мати дозволи.

Отже, використовуваний логін - це локальний адміністратор? Це означає, що місцева група адміністратора не має достатньо прав.

GUI буде запускати цей занадто sp_addsrvrolemember . Хоча це говорить

Вимагає членства в ролі, до якої додається новий член.

Отже, локальна група адміністратора не є членом sysadmin.

Редагувати:

Щоб вирішити: Використовуйте логін, який має права. Ви можете знайти його за допомогою sp_helpsrvrolemember


Яка ваша порада вирішити мою проблему?
Джордж2

Не впевнений, чи існують якісь прогулянкові рішення чи рішення без повторної установки всієї SQL Server 2008! :-(
George2

"Використовувати логін, який має права" - як я можу отримати список входів, на які є достатньо дозволу?
Джордж2

Дякую, я знаходжу, що єдиний член із списку EXEC sp_helpsrvrolemember 'sysadmin' називається sa, це користувач Windows? Я не можу знайти такого користувача зі списку користувачів Windows. Будь-які ідеї?
Джордж2

1
Це зарезервований логін SQL, а не користувач Windows. У моїй тестовій установці SQL 2008 вказаний обліковий запис, який встановив SQL Server.
gbn

4

В інакшій хорошій статті Виправлення неполадок: підключення до SQL Server, коли системні адміністратори заблоковані , автор повідомляє нам, що все, що нам потрібно зробити, щоб відновити контроль над нашим SQL сервером - це

"Запустіть екземпляр SQL Server в режимі для одного користувача, використовуючи параметри -m або -f. Будь-який член локальної групи адміністраторів комп'ютера може потім підключитися до екземпляра SQL Server як члена ролі фіксованого сервера sysadmin. "

На жаль, що означає запускати в однокористувацькому режимі - справа не інтуїтивно зрозуміла. Також, принаймні з мого досвіду, членство в локальній групі адміністратора мого комп'ютера не надало статусу sysadmin моєму обліковому запису "користувача".

Ця історія почалася, коли для вирішення проблеми членства в моєму домені не-DC-сервер (наслідок зміни ISP), я відновив DC в Windows Server 2008 R2 з 2008 року. Це вирішило пару незначних проблем, але не вирішило питання про членство на сервері помилок. Для того, щоб досягти цього (для мого випадку, мова йде про скидання winsock та tcpip).

SQL Server 2008 знаходиться на тому другому сервері, який зараз є членом домену. Ось проблема. Як хтось вказує на ServerFault, звичайно натискати "нехай поточний користувач стає як sysadmin" при установці сервера 2008 року. Загальним також не вважати когось іншого. Оскільки ця єдина особа користувача була членом домену, якого вже не існувало, ніхто не мав дозволу на адміністрування Sql Server.

Я ввійшов як адміністратор локального сервера, який був у нас під час встановлення сервера Sql, але, хоча це дозволило мені отримати доступ до студії управління, я швидко виявив, що BUILTIN \ Administrators виконують лише "загальнодоступну" роль сервера.

Після довгих досліджень та експериментів я потрапив у статтю, де викладено специфіку входу в систему для одного користувача http://technet.microsoft.com/en-us/library/ms180965.aspx :

C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn 
C:\...>sqlservr.exe -m

Щоб підготуватися до цього кроку, потрібно вимкнути сервер Sql (який у більшості випадків працює за замовчуванням). Використовуйте диспетчер конфігурації SQL, щоб зупинити "Сервер Sql."

Потім у командному рядку перейдіть до цього програмного файлу (або еквівалента на вашій машині) та видайте команду "sqlservr.exe -m". Якщо ви бачите потік активності, зафіксований у вашому командному рядку, ви досягаєте успіху. Якщо це не вдалося запустити, то, ймовірно, вже працює SQL Server. Вимкніть це.

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

У моєму випадку мені довелося відтворити облікові записи домену в новому домені, потім видалити їхні імена в SQL Server та реконструювати їх (через ситуацію з SID / GUID), переназначивши дозволи, якщо це необхідно.


Існує також інший спосіб встановлення параметрів: відкрити сервіс, менеджер, вибрати службу, а потім властивості в меню правою кнопкою миші. На загальній вкладці є редагування «Пуск параметрів». Введіть туди необхідні параметри. Потім запустіть службу за допомогою кнопки «Пуск» на цій сторінці , встановлені там параметри не є постійними та дійсними лише тоді, коли послуга запускається з діалогового вікна «Властивості»
ldsandon

3

SQL Server 2008 більше не додає BUILTIN \ Administrators як членів фіксованої ролі сервера sysadmin

Це правда, Але в цьому випадку ви можете оговтатися від цієї ситуації, запустивши службу SQL Server в режимі єдиного користувача (аварійний режим), і будь-який місцевий адміністратор зможе ввійти.

Див. MSDN .


2

За замовчуванням SQL додає групу BUILTIN \ Administrators до ролі sysadmin, що означає, що будь-який локальний адміністратор NT автоматично є Sysadmin SQL. У Vista, через UAC, ви повинні запустити в режимі "як адміністратор", щоб скористатися цим привілеєм.

  • Якщо ви перебуваєте у Vista, запустіть клієнтський інструмент (SSMS) "як адміністратор", а потім спробуйте додати себе як системний адміністратор.
  • Якщо група BUILTIN \ Administrators була випадково видалена з ролі sysadmin, тоді ви повинні увійти з іншим входом sysadmin. Якщо у вас немає іншого входу в систему sysadmin, ви повинні увійти з автентифікацією SQL як sa та використовувати пароль sa, встановлений під час налаштування. Після входу в систему як система sysadmin, оголошення BUILTIN \ Admisnitrators повертається до ролі sysadmin. Якщо вхід SQL вимкнено, то поздоровлення, ви просто заблокуєте себе з інсталяції SQL.
  • Якщо група BUILTIN \ Administrators була навмисно видалена з ролі sysadmin (відповідно до KB932881 ), ви намагаєтесь зламати систему, на яку ви не маєте дозволу.

Привіт Ремю, я збентежений, що під час інсталяційного процесу я не встановлюю жодного passowrd для sa, чи є пароль за замовчуванням?
Джордж2

Інша плутанина - починаючи з запущеної процедури зберігання sp_helpsrvrolemember, щоб знайти всіх користувачів ролі sysadmin, перераховано лише sa, немає інших користувачів з локальної групи адміністраторів, будь-які ідеї чому?
Джордж2

Немає пароля за замовчуванням для sa. пароль sa встановлюється під час налаштування, якщо включена змішана автентифікація. Вам потрібно буде попросити адміністратора вашої бази даних, щоб він надав вам доступ, якщо вам це потрібно.
Рем Русану

"Якщо ввійти SQL вимкнено, то поздоровлення, ви просто заблокуєте себе з установки SQL." У цьому випадку дивіться відповідь Джорді нижче, щоб запустити SQL Server в режимі єдиного користувача.
Міхель ван Остерхаут

1

За замовчуванням SQL Server 2008 більше не додає BUILTIN \ Administrators як членів фіксованої ролі сервера sysadmin. Коли ви переходите через інсталятор, він запитує, який обліковий запис чи облікові записи повинні мати права sysadmin. Там є кнопка, яка в основному говорить "зроби мене sysadmin", яка додасть обліковий запис користувача, який виконує встановлення, як sysadmin.

Якщо вони не додали жодних інших користувачів як sysadmins, то лише цей користувач наразі є sysamdin. Вам потрібно буде вказати цю особу увійти в SQL Server і надати права системного адміністратора DBA.


0

Я розмовляв над тією ж проблемою після нової установки, поки не зареєстрував сервер, на SQL Server 2008, тоді все пішло як слід

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.