Announcement

Collapse
No announcement yet.

Datenbankspiegelung Logins konvertieren SID's ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankspiegelung Logins konvertieren SID's ?

    Hallo,
    ich habe es nun endlich geschafft, trotz vieler Probleme einen gespiegelten SQL Server 2005 einzurichten. Läuft soweit auch alles ganz prima. Jedoch benötige ich ja im Falle eines Failovers auf dem Mirror auch die entsprechenden Logins mit den richtigen SID`s.
    Dazu wollte ich mir ein Script schreiben, welches einmalig die synchronen Logins erstelllt. Jedoch stoße ich auf komische Probleme.

    Script:

    --Erstellung des Linked Servers

    if (exists (SELECT * FROM master.dbo.sysservers WHERE 'PRINZIPALServ' = srvname))
    exec sp_dropserver 'PRINZIPALServ' ,'droplogins'

    GO

    EXEC sp_addlinkedserver @server='PRINZIPALServ', @srvproduct='',@provider='SQLOLEDB', @datasrc='##Servername des Prinzipals##'

    GO


    EXEC sp_addlinkedsrvlogin @rmtsrvname ='PRINZIPALServ', @useself='false', @rmtuser ='sa', @rmtpassword ='##Passwort des SA##'

    GO

    USE master

    go

    -- Auslesen des SID aus dem Linked Server
    declare @prinzSID varbinary(16)

    select @prinzSID = (select sid from PRINZIPALServ.master.sys.sql_logins where name=##NAME DES LOGINS##)

    --Erstellung des Logins

    if (NOT exists (select * from sys.syslogins where [name] = ##NAME DES LOGINS##))

    CREATE LOGIN ##NAME DES LOGINS## WITH PASSWORD = ##PW des LOGINS##, DEFAULT_DATABASE=##Name der DB##, SID=@prinzSID, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;


    Ende Script
    Ich bekomme aber immer einen Fehler:

    Meldung 102, Ebene 15, Status 1, Zeile 5
    Falsche Syntax in der Nähe von '@prinzSID'.
    (das ist die Stelle innerhalb der Create Login Anweisung)

    Der Select und der Linked Server funktionieren aber und geben auch einen SID zurück. Was mache ich falsch? bzw wer kann mir helfen?

    Ich bekomme den Fehler auch wenn ich an der Stelle SID = 'irgendwas angebe'

    Vielen Dank schon Mal!

    MFG Chris

  • #2
    Habe die Sache gelöst, wenn es interessiert soll sich bei mir melden, ist recht viel Code, da nicht so einfach wie gedacht.

    MFG CHris

    Comment

    Working...
    X