SQL gebruiker met SID aanmaken

Wanneer je met availability groups werkt in SQL en je te maken hebt met applicaties die kijken naar de SID van de sql gebruiker, dan kun je na een failover problemen hebben met de authenticatie van je applicatie. Als je op node 1 een SQL gebruiker maakt en vervolgens ook op node 2 een SQL gebruiker met dezelfde naam en rechten, dan zullen deze toch verschillen van SID. Met een windows user vanuit het AD heb je hier geen last van, maar niet alle applicaties kunnen daarmee overweg.

De volgende queries kun je gebruiken om een SID te achterhalen en vervolgens een gebruiker aan te maken met dezelfde SID. Wel dien je het wachtwoord te weten van de sql gebruiker op node 1. In het slechtste geval dien je het wachtwoord te wijzigen en de configuratie van je applicatie aan te passen.

Query nummer 1 achterhaald de SID:

Use Databasenaam
go
select name, sid from sys.sysusers
where name = 'sqlgebruiker'
go
use master
go
select name, sid from sys.sql_logins
where name = 'sqlgebruiker'
go

Vul de juiste databasenaam en sql gebruiker in en run het script op de eerste node. Kopieer deze SID voor het gebruik in de volgende query, namelijk het aanmaken van een gebruiker met een SID:


CREATE LOGIN [sqlgebruiker]
WITH PASSWORD='zelfde_wachtwoord_als_andere_node',
SID=0x62DC04C56…D142A9C8323A5A60A9BE;

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *