Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Възстановяване на достъпа до екземпляра на SQL Server без рестартиране

Започвайки с Microsoft SQL Server 2008, по подразбиране групата локални администратори вече не се добавя към администраторите на SQL Server по време на инсталацията, това може да се направи само ръчно.

В резултат на това, ако групата на администратора не е добавена по време или след инсталацията, има ситуации, при които администраторският достъп до SQL Server се губи. Това може да се случи, когато потребителят, от който е извършена инсталацията, е неизвестен или паролата на същия акаунт е загубена, или когато предишният администратор на базата данни напусне и неговият акаунт в Windows, който е единственият с администраторски права за SQL Server, е изтрит .

Обикновено в този случай се използва обикновеният механизъм с рестартиране на SQL Server за един потребител. Този подход обаче изисква известно време на престой, а в някои системи това е неприемливо.

Има много безболезнен начин за решаване на този проблем без прекъсване, ако са изпълнени определени условия. Мнозина са чували и използвали помощните програми на Марк Русинович - Windows Sysinternals. Този комплект съдържа помощната програма PsExec, която ви позволява да стартирате процес на локална или отдалечена машина.

Едно от предимствата на тази помощна програма е възможността да стартира процеси от името на NT AUTHORITY\SYSTEM акаунт , който – за разлика от „нормалните“ администраторски акаунти – има достъп до SQL Server по подразбиране.

За да работи този метод, SQL Server трябва да има активирано удостоверяване на Windows и да работи като NT акаунт AUTHORITY\SYSTEM, в противен случай NT акаунтът AUTHORITY\SYSTEM ще има само публични права, а не системен администратор.

Подготовка за възстановяване на административния достъп до SQL Server

1. Уверете се, че услугата SQL Server работи от името на вашия NT акаунт AUTHORITY\SYSTEM.
2. Изтеглете и инсталирайте текущата версия на SQL Server Management Studio (SSMS) на вашия SQL сървър, например тук
3. Изтеглете и разопаковайте архива на SQL сървър текущата версия на набора помощни програми PsTools (PsExec е включен в него), например PSTools.

Допълнения към SQL Server Administrator

1. Стартирайте командния ред с повишени права на SQL сървъра (Shift + щракване с десен бутон, „Изпълни като администратор“) и отидете до папката, където е разопакована помощната програма PsExec.
2. Изпълнете командата по-долу, коригирайки действителния си път към Management Studio:

PsExec -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"

Настройки:

  • -i – показва, че е необходимо процесът да се стартира в интерактивен режим
  • -s – показва, че трябва да стартирате процеса от името на вашия NT системен акаунт AUTHORITY\SYSTEM.
    Ще получите приблизително следното (при първото стартиране ще видите прозорец с лицензионното споразумение):

и SSMS ще започне.

3 Щракването върху Свързване ще ви позволи да се свържете и да видите списъка с обекти на сървъра.

4. Сега отидете на Защита> Входове и добавете акаунта си като системен администратор и актуализирайте същата парола, като цяло направете всичко необходимо, за да направите вашия екземпляр управляем.

Влезте и добавете акаунта си като системен администратор и актуализирайте sa паролата, като цяло направете всичко необходимо, за да направите вашия екземпляр управляем” width=”300″ height=”160″ title=””>

Този метод, въпреки че има редица ограничения, ви позволява да възстановите управлението на SQL сървъра, без да спирате сървъра на базата данни.

Свържете екземпляр на SQL сървър без използване на студио за управление – с помощта на SqlCmd


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Анатомията на задръстванията на SQL Server и най-добрите начини за избягването им

  2. Автоматична корекция на плана в SQL Server

  3. Събития на изчакване на SQL сървър -1

  4. Грешка в заявката с двусмислено име на колона в SQL

  5. Връщане на всички редове от конкретен дял в SQL Server (T-SQL)