Jak zmienić konto usługi programu SQL Server lub agenta programu SQL Server bez użycia programu SQL Enterprise Manager w programie SQL Server 2000 lub programu programu SQL Server Configuration Manager w programie SQL Server 2005

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 283811 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Po początkowym zainstalowaniu programu Microsoft SQL Server, który ma być uruchamiany przy użyciu konta w systemie Microsoft Windows NT, program SQL Server określa dla tego konta różne prawa i uprawnienia użytkownika systemu Windows dotyczące określonych plików, folderów i kluczy rejestru. Jeżeli konto uruchamiania usługi programu SQL Server (usługa MSSQLServer) i agenta programu SQL Server zostanie później zmienione przy użyciu programu SQL Server Enterprise Manager (SEM) lub programu SQL Server Configuration Manager (SSCM), program SEM automatycznie ponownie przypisze wszystkie wymagane uprawnienia i prawa użytkownika systemu Windows do nowego konta uruchamiania, aby użytkownik nie musiał robić sam nic więcej. Firma Microsoft zaleca korzystanie z tej metody zmiany konta usługi.

Uwaga Aby ta funkcja była dostępna w programie SQL Server Enterprise Manager, trzeba mieć prawa administratora na serwerze zdalnym.

Jeżeli jednak informacje o koncie uruchamiania usługi MSSQLServer lub usługi agent programu SQL Server zostaną zmienione przy użyciu dodatku Usługi znajdującego się w Panelu sterowania lub w Narzędziach administracyjnych, należy określić odpowiednie dodatkowe uprawnienia i prawa użytkownika.

W tym artykule omówiono kroki, które należy wykonać w przypadku zmiany informacji dotyczących konta uruchamiania przy użyciu dodatku Usługi.

Przed kontynuacją należy odwiedzić następujące witryny firmy Microsoft w sieci Web i wyświetlić artykuły z bazy wiedzy Microsoft Knowledge Base:
Microsoft Security Bulletin MS02-038
http://www.microsoft.com/technet/security/bulletin/MS02-038.mspx

Microsoft Security Bulletin MS02-034
http://www.microsoft.com/technet/security/bulletin/MS02-034.mspx
322853 FIX: SQL Server grants unnecessary permissions or an encryption function contains unchecked buffers
316333 Aktualizacja zabezpieczeń programu SQL Server 2000 dla dodatku Service Pack 2
Uwaga Spełnienie wymagań zawartych w biuletynach MS02-034 i MS02-038 powoduje usunięcie luk związanych z podwyższaniem poziomu poświadczeń administratora i uniemożliwia ich wystąpienie w przyszłości.

Zmiana konta usługi programu SQL Server lub agenta programu SQL Server przy użyciu dodatku Usługi zamiast programu SQL Enterprise Manager lub SQL Server Management Studio

Jeżeli konto usługi programu SQL Server lub konto agenta programu SQL Server zostanie zmienione przy użyciu dodatku Usługi, a nie przy użyciu programu SEM lub SSCM, istnieją pewne uprawnienia rejestru i systemu plików NTFS oraz prawa użytkownika systemu Microsoft Windows, które również należy ustawić. Dotyczy to zwłaszcza instalacji programu SQL Server Desktop Engine (zwanego również MSDE 2000) lub programu SQL Server 2005 Express Edition, ponieważ nie można użyć programu SEM lub SSCM do zmiany uprawnień. Istnieją trzy określone obszary, na których należy się skoncentrować:
  • Klucze rejestru.
  • Uprawnienia dotyczące dysku w systemie plików NTFS.
  • Prawa użytkownika systemu Windows.
Poszczególne obszary zostały omówione w kolejnych akapitach.

Klucze rejestru

Należy ustawić opcję Pełna kontrola dla konta uruchamiania usługi MSSQLServer i usługi SQLServerAgent (konto lokalne systemu Microsoft Windows NT lub konto domeny systemu Windows NT) w kluczach rejestru wymienionych na poniższej liście. W następujących gałęziach klucze uwzględnione na tej liście są kluczami umożliwiającymi skonfigurowanie list kontroli dostępu (ACL, Access Control List). W przypadku klastrów należy wykonać ten krok dla każdego węzła w klastrze.

Przywilej pełnej kontroli dotyczy następujących kluczy i wszystkich kluczy podrzędnych:
  • W przypadku wystąpienia z nazwą:
    HKEY_LOCAL_MACHINE\Software\Clients\Mail

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<nazwa_wystąpienia>
  • W przypadku wystąpienia domyślnego:
    HKEY_LOCAL_MACHINE\Software\Clients\Mail

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Cluster

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Providers

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Replication

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Setup

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\SQLServerAgent

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Tracking

Jeżeli jest używany program SQL Server 2005

W przypadku wystąpienia nazwanego lub domyślnego uprawnienie Pełna kontrola jest stosowane w odniesieniu do następujących kluczy i wszystkich kluczy podrzędnych:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<MSSQL.x>
Uwaga W tym podkluczu rejestru <MSSQL.x> jest symbolem zastępczym wartości odpowiedniej w przypadku danego systemu. Wartość odpowiednią dla systemu można ustalić na podstawie wartości wpisu rejestru, którego nazwa jest zgodna z nazwą wystąpienia znajdującego się w następującym podkluczu rejestru. W przypadku wystąpienia domyślnego nazwą wystąpienia jest MSSQLSERVER:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\

Uprawnienia dotyczące dysku w systemie plików NTFS

Należy ustawić opcję Pełna kontrola dla konta uruchamiania usługi MSSQLServer i usługi SQLServerAgent (konto lokalne systemu Windows NT lub konto domeny systemu Windows NT) w tych folderach systemu plików NTFS. W przypadku klastrów należy także zmodyfikować odpowiednie ścieżki w węźle każdego komputera.

Oto przykład wystąpienia z nazwą:
D:\Program Files\Microsoft SQL Server\MSSQL$_nazwa_wystąpienia_\
Oto przykład dla wystąpienia domyślnego:
D:\Program Files\Microsoft SQL Server\MSSQL\
Podfoldery i pliki również muszą mieć takie same uprawnienia.

Jeżeli jest używany program SQL Server 2005

prawidłowy folder jest następujący:
Dysk:\Program Files\Microsoft SQL Server\<MSSQL.1>\MSSQL

Prawa użytkownika systemu Windows

Zazwyczaj domyślna instalacja systemu operacyjnego nadaje lokalnej grupie administratorów wszystkie prawa użytkownika wymagane przez program SQL Server do prawidłowego działania. Dlatego konta lokalne Windows NT lub konta domeny, które zostały dodane do lokalnej grupy administratorów z myślą o wykorzystaniu ich w charakterze kont uruchamiania usługi SQL Server, mają wszystkie potrzebne prawa użytkownika. Firma Microsoft nie zaleca jednak uruchamiania programu SQL Server przy użyciu tak wysokiego poziomu praw użytkownika.

W przypadku programu SQL Server 2005, jeżeli konto uruchamiania w programie SQL Server lub agencie programu SQL Server nie powinno być członkiem lokalnej grupy administratorów, zobacz sekcję „Reviewing Windows NT Rights and Privileges Granted for SQL Server Service Accounts” („Przegląd uprawnień i przywilejów Windows NT udzielanych kontom usług programu SQL Server”) w temacie „Setting Up Windows Service Accounts” („Konfigurowanie kont usług systemu Windows”) w książkach online programu SQL Server 2005.

W przypadku programu SQL Server 2000, jeżeli konto uruchamiania w programie SQL Server lub agencie programu SQL Server nie powinno być członkiem lokalnej grupy administratorów, konto uruchamiania usługi MSSQLServer oraz usługi SQLServerAgent (konto lokalne Windows NT lub konto domeny Windows NT) musi mieć następujące prawa użytkownika:
  • Działanie jako część systemu operacyjnego = SeTcbPrivilege
  • Pomijanie sprawdzania przy przechodzeniu = SeChangeNotify
  • Blokowanie stron w pamięci = SeLockMemory
  • Logowanie w trybie wsadowym = SeBatchLogonRight
  • Logowanie w trybie usługi = SeServiceLogonRight
  • Zastępowanie tokenu poziomu procesu = SeAssignPrimaryTokenPrivilege
Uwaga W celu ułatwienia programowania obok pełnej nazwy prawa użytkownika znajdują się nazwy praw użytkownika w systemie Microsoft Windows NT.

Różne kroki

Uwaga Jeżeli domyślne uprawnienia systemu plików NTFS na komputerze zostały zmienione, należy się upewnić, że dla konta uruchamiania programu SQL Server włączono uprawnienie Wyświetlanie zawartości folderu w odniesieniu do dysku głównego, na którym znajdują się dane i pliki dzienników bazy danych programu SQL Server.

Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
239759 Error 5177 may be raised when creating databases

Jeżeli konto uruchamiania usługi MSSQLServer jest jednym z następujących dwóch kont, należy dodać konto uruchamiania usług MSSQLServer i/lub SQLServerAgent do roli sysadmin programu SQL Server oraz udzielić użytkownikowi [Domain\NTaccount] uprawnień niezbędnych do logowania do programu SQL Server.
  • Nie jest członkiem lokalnej grupy administratorów komputera.
  • Jeśli nazwa logowania BUILTIN\Administrators SQL Server została usunięta.
Na przykład:
EXEC sp_grantlogin [Przykład\test]
Następnie należy dodać to konto do roli sysadmin:
EXEC sp_addsrvrolemember @loginame = [Przykład\test]  
   , @rolename =  'sysadmin'

Jeżeli program SQL Server jest używany razem z funkcją przeszukiwania pełnego tekstu lub klastrowania, zmiana kont uruchamiania programu SQL Server przy użyciu innych metod niż program SEM może być przyczyną występowania kilku problemów.

Jeżeli występują problemy związane z przeszukiwaniem pełnego tekstu lub klastrowaniem, zobacz sekcję „Materiały referencyjne” tego artykułu, aby uzyskać więcej informacji.

Jeśli używasz uwierzytelniania Kerberos SSPI (Security Support Provider Interface) w programie SQL Server 2000 oraz w środowisku systemu Windows 2000, porzuć starą główną nazwę usługi (SPN, Service Principal Name) i korzystając z informacji nowego konta, utwórz nową. Aby uzyskać więcej informacji dotyczących sposobu wykonania tego zadania przy użyciu polecenia SETSPN, zobacz temat „Security Account Delegation” (Delegowanie kont zabezpieczeń) w dokumentacji SQL Server 2000 Books Online.

Materiały referencyjne

Aby uzyskać więcej informacji, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
317746 SQL Server full-text search does not populate catalogs
317232 Event ID 1107 and 1079 messages occur after you change the Cluster service account password
295051 FIX: Changing SQL Server account to non-admin for full-text search makes existing catalogs unusable
254321 Clustered SQL Server do's, don'ts, and basic warnings
239885 How to change service accounts on a SQL virtual server
219264 Order of installation for SQL Server 7.0 clustering setup
198168 BUG: Problems might occur when you change account information for SQL Server cluster
Aby uzyskać więcej informacji, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlc2.mspx

Właściwości

Numer ID artykułu: 283811 - Ostatnia weryfikacja: 15 maja 2011 - Weryfikacja: 11.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Słowa kluczowe: 
kbsqlmanagementtools kbinfo kbsql2005cluster kbhowtomaster KB283811

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com