Artykuły

A A A
Drukuj Ekportuj do PDF
Opublikowane: 2010.09.06 14:05 | Dariusz Brejnak

[Porada] Jak zamienić sid usera sidem z loginu w SQL Server 2000 ?

Jak zamienić sid usera sidem z loginu w SQL Server 2000 ?

Bardzo często zdarza się, że przenosimy bazę danych na inną instancję serwera czy też na inny fizyczny serwer.


Mamy już założone loginy lub te loginy zakładamy. Po przeniesieniu bazy i po jej odtworzeniu posiadamy te same nazwy userów ale z innymi wartościami sid tzn. inny jest sid zapisany w tabeli sysusers należącej do przenoszonej bazy danych oraz inny jest sid zapisany w tabeli sysxlogins bazy systemowej master.
Należy podmienić sidy w tabeli wybranej bazy danych sysusers sidami z tabeli sysxlogins bazy master w ramach tej samej nazwy loginu i usera.

Poniżej przedstawiony kod działa wyłącznie na wersji MS SQL 2000.

[Kod]
Use master
GO

sp_configure @configname = 'allow updates'
                 , @configvalue = '1';
RECONFIGURE WITH OVERRIDE
GO

UPDATE su
SET su.sid = sl.sid
FROM [nazwabazydanych]..sysusers AS su
JOIN master..sysxlogins AS sl ON su.[name] like sl.[name]
WHERE su.[name] = 'nazwausera'
GO

sp_configure @configname = 'allow updates'
                 , @configvalue = '0'

RECONFIGURE WITH OVERRIDE
GO


Komentarze 0 Masz uwagi do tej strony? Napisz

Dodaj komentarz

avatar

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Autor Dariusz Brejnak
avatar Ekspert WSS
 

Załóż konto
WSS to serwis, który łączy dziesiątki tysięcy specjalistów IT w Polsce, zajmujących się szeroko pojętymi technologiami Microsoft. Portal działa od 2003 roku, i oprócz setek publikacji technicznych, rozwijającego się forum - portal to ludzie, którzy go tworzą. To właśnie z myślą o nich warto codziennie nas odwiedzać.

Dowiedz się więcej o WSS