MSSQL - włączenie konta użytkownika "sa" na serwerze.

Modyfikacja: 2010-10-11

Serwer MSSQL 2008, tuż po instalacji domyślnie jest skonfigurowany do pozwolenia na połączenie tylko użytkowniką wykonyjącym autoryzacje za pomocą systemu Windows. W wielu przypadkach jest to niewystarczające i wręcz jest wymagana możliwość odczytania danych z bazy używając autoryzacji przy pomocy samego serwera MSSQL tzn. poprzez podanie odpowiedniego hasła i nazwy użytkownika.

Poniżej krok po kroku jak to wykonać:

  1. Najpierw należy włączyć tryb umożliwiający połączenie do bazy danych (serwera) przy użyciu autoryzacji serwera jak i systemu operacyjnego (nie trzeba zgadywać Windows ;-). Najlepiej to zrobić używając programu Microsoft SQL Server 2008 Management Studio Express (uruchom na prawach administratora).

    Połącz się do serwera wykorzystując autoryzację systemu (jeżeli jest to nie możliwe to upewnij się, że pracujesz na koncie użytkownika, który posiada dostęp do danego serwera), kliknij prawym klawiszem myszki na serwer w lewym oknie i wybierz properties|securit w otwartej zakładce zaznacz opcję mixed mode.

    Kolejny krok to reset serwera, najlepiej to zrobić korzystając z programu “Zarządzanie komputerem” (Start|Uruchom -> compmgmt.msc) lub też Sart|Programy|Microsoft SQL Server...|Configuration Tools|Sql Server Configuration Manager odnajdź usługę SQL Server (SQLEXPRESS) i wykonaj restart.

  2. Teraz należy “aktywować” konto użytkownika – nie zawadzi zmienić też nazwy (do wykonania zapytań można użyć sqlcmd).
    ALTER LOGIN "sa" DISABLE 
    ALTER LOGIN "sa" ENABLE
    ALTER LOGIN "sa" WITH NAME = "[NewAccountName]"
  3. Jeszcze tylko zmiana hasła. możemy to wykonać za pomocą polecenia:
    sp_password NULL,"[NewPassword]","[accountName]"

Powyższe operacje powinny pomóc ;)