Weisen Sie dem SQL-Benutzer das Login ohne Login zu

2264
Damn Vegetables

Umgebung: SQL Server 2012 Express Edition und Microsoft SQL Server Management Studio. Alle Benutzer sind lokale SQL-Benutzer, NICHT die Windows-Authentifizierung.

Ich habe eine Datenbankdatei angehängt, die von einem anderen SQL-Server stammt. Im Knoten "Server / Datenbanken / Importierte Datenbank / Sicherheit / Benutzer" enthält er die Benutzer für die Datenbank, deren Typen jedoch "SQL-Benutzer ohne Anmeldung" sind. Es scheint, dass sie sich nicht bei diesem SQL Server anmelden können.

Zuerst dachte ich, ich könnte Benutzer mit der gleichen ID in "Server / Sicherheit / Anmeldungen" erstellen und sie den Benutzern in der importierten Datenbank zuordnen. Es wurden Benutzer mit Fehlern erstellt (Benutzer sind bereits vorhanden), und die Status der Benutzer in der importierten Datenbank sind immer noch "SQL-Benutzer ohne Anmeldung".

Ich habe Google gesucht, aber alle Antworten waren komplizierte Skripts. Wenn dies ein häufiges Szenario ist, warum gibt es keine einfache GUI dafür? Was ist der einfachste Weg, um zuzulassen, dass sich Benutzer in der importierten Datenbank mit denselben Anmeldeinformationen anmelden können?

0

1 Antwort auf die Frage

0
Milena Petrovic

Es gibt keine GUI, Sie müssen es manuell tun.

Zunächst müssen Sie SQL-Benutzer und -Logins unterscheiden.

Ein Login bezieht sich auf die SQL Server-Instanz und verfügt über Berechtigungen für den Server. Ein Login kann mehreren Benutzern zugeordnet werden.

Ein Benutzer ist mit einer Datenbank verbunden und hat Berechtigungen für eine bestimmte Datenbank.

Principals (Datenbankmodul)

Wenn Sie eine Datenbank anfügen, die auf einem anderen Server erstellt wurde, übertragen Sie die damit verbundenen Anmeldungen auf den ursprünglichen Server. Die SQL-Anmeldungen werden jedoch nicht übertragen, da sie auf dem Server und nicht in der Datenbank definiert sind. Die Datenbanksicherung oder MDF- und LDF-Dateien enthalten nicht die Informationen zu SQL-Anmeldungen, sondern nur zu Datenbankbenutzern. Daher die Fehlermeldung.

Verwenden Sie die hier angegebenen Schritte und das Skript, um die ursprünglichen Anmeldungen an die neue SQL Server-Instanz zu übertragen : So übertragen Sie Anmeldungen und Kennwörter zwischen Instanzen von SQL Server