Започвайки с 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 сървъра, без да спирате сървъра на базата данни.