ceturtdiena, 2011. gada 11. augusts

Kā atjaunot db lietotāja pieslēguma vārdu

Piemēram, atjaunojot datu bāzi uz cita servera, var rasties situācija, ka jaunajam serverim vēl nav pievienoti tie paši lietotāji, kas bija vecajā serverī. Tādā gadījumā datu bāze tiks atjaunota, bet tajā būs datu bāzes lietotāji, kuriem nav atbilstošu pieslēgumu vārdu. Līdzīgu efektu var panākt arī izdzēšot servera lietotāju, bet atstājot datu bāzes lietotāju.

Tas izskatās šādi:

Vēlāk serverim var pievienot attiecīgo(s) lietotāju(s) un salabot situāciju:
CREATE LOGIN [MansLietotajs ] WITH PASSWORD=N'lotigrutaparole';
ALTER USER [MansLietotajs] WITH LOGIN = [MansLietotajs];
Līdzīgu rezultātu var iegūt izmantojot procedūru (lai arī rezultātu iegūstam ar vienu rindiņu, tiek rekomendēts izmantot iepriekšējo variantu, jo procedūra nākotnes SQL Server versijām var vairs nebūt. un strādā šis variants tikai SQL lietotāju gadījumā!!!):
EXEC sp_change_users_login 'Auto_Fix', 'MansLietotajs', NULL, 'lotigrutaparole';
Pēc komandu izpildes attiecīgais lietotājs var strādāt ar jauno datu bāzi.

Gadījumā, ja ir vajadzība pārnest SQL Lietotājus no viena servera uz otru saglabājot lietotāju paroles, var izmantot linkus no raksta- Lietotāju pārnešana uz citu serveri.

Vaicājums, kas atgriež datu bāzes lietotājus bez pieslēguma vārda:
Select SUSER_SNAME(sid), name, *
From sys.sysusers
Where issqluser = 1 and 
	issqlrole = 0 and
	Sid != 0x00 And
	SUSER_SNAME(sid) is null

Nav komentāru:

Ierakstīt komentāru