dfl 10 Geschrieben 26. Oktober 2010 Melden Teilen Geschrieben 26. Oktober 2010 Hallo zusammen, wir haben zwei SQL 2005 Std. Server. Der eine ist Live Server, der andere ist Test/DEV Server. Wie kann ich die User auf beiden Server automatisch gleich halten. Einfach nur Datenbank sichern und wiederherstellen funktioniert nicht. Die User sind zwar auf der wiederhergestellten Datenbank vorhanden, aber es kann sich keiner Anmelden, da der User nicht auf dem SQL Server bekannt ist. Was mache ich falsch. Vielen Dank Gruß Zitieren Link zu diesem Kommentar
NilsK 2.969 Geschrieben 26. Oktober 2010 Melden Teilen Geschrieben 26. Oktober 2010 Moin, die Logins werden in der Master-Datenbank gehalten, und die kannst du nicht einfach per Backup/Restore übertragen. Beste Lösung: Du stellst um auf Windows-Authentisierung. Zweitbeste Lösung: Login failures connecting to new principal after failover using SQL Server Database Mirroring Gruß, Nils Zitieren Link zu diesem Kommentar
dfl 10 Geschrieben 26. Oktober 2010 Autor Melden Teilen Geschrieben 26. Oktober 2010 Moin Nils, danke für deine Antwort. Leider ist es bei uns nicht möglich auf Windows Auth. umzustellen, da die Warenwirtschaft nicht mit mehr als 11 Zeichen in einer Zeile umgehen kann ;-((( Kannst du mir vielleicht den Script in deinem Link erklären, ich bin leider nicht so SQL bewandert. Wir haben Server01 und Server02 und möchten den unser Testy spiegeln SELECT 'create login [' + p.name + '] ' + case when p.type in('U','G') then 'from windows ' else '' end + 'with ' + case when p.type = 'S' then 'password = ' + master.sys.fn_varbintohexstr(l.password_hash) + ' hashed, ' + 'sid = ' + master.sys.fn_varbintohexstr(l.sid) + ', check_expiration = ' + case when l.is_policy_checked > 0 then 'ON, ' else 'OFF, ' end + 'check_policy = ' + case when l.is_expiration_checked > 0 then 'ON, ' else 'OFF, ' end + case when l.credential_id > 0 then 'credential = ' + c.name + ', ' else '' end else '' end + 'default_database = ' + p.default_database_name + case when len(p.default_language_name) > 0 then ', default_language = ' + p.default_language_name else '' end FROM sys.server_principals p LEFT JOIN sys.sql_logins l ON p.principal_id = l.principal_id LEFT JOIN sys.credentials c ON l.credential_id = c.credential_id WHERE p.type in('S','U','G') AND p.name <> 'sa' Vielen Dank Gruß Stefan Zitieren Link zu diesem Kommentar
NilsK 2.969 Geschrieben 26. Oktober 2010 Melden Teilen Geschrieben 26. Oktober 2010 Moin, du führst das Skript im Live-System aus ("Ausgabe in Text" auswählen). Es zeigt dir im Ergebnis die Kommandos zum Erzeugen der Logins an, die du kopierst und dann als Skript auf dem Testsystem ausführst. Gruß, Nils Zitieren Link zu diesem Kommentar
dfl 10 Geschrieben 26. Oktober 2010 Autor Melden Teilen Geschrieben 26. Oktober 2010 Ich werde es morgen gleich mal ausprobieren. Danke dir Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.