2016-07-10 14 views
0

ich eine Azure SQL-Server-Instanz mit Datenbanken hat:Zugriff gewähren zu Master db

  1. Master - wie immer
  2. MyApplication - meine benutzerdefinierte DB

In "MyApplication" db ich bereits erstellt ein Benutzer namens "MyUser". Der Benutzer "MyUser" kann die "Master" -DB nicht sehen. Die einzige Berechtigung, die es hat, ist die "MyApplication" db.

Ich möchte "MyUser" Berechtigungen für den Zugriff auf die "Master" db geben. Wie kann ich das erreichen?

Antwort

4

Sind Sie sicher, dass sie die Master-Datenbank gerade nicht sehen können? Möglicherweise haben Sie einen Benutzer mit Datenbankbereich erstellt.

Sie können die Anmeldung am Master erstellen und anschließend den Benutzer sowohl in der Master- als auch in der Zielanwendungsdatenbank erstellen.

In der Master-Datenbank laufen die folgende:

CREATE LOGIN youruser WITH PASSWORD='SomePassword' 
CREATE USER youruser FOR LOGIN youruser WITH DEFAULT_SCHEMA=[dbo] 

Dies wird die Anmeldung auf dem logischen Server und einen Benutzer für die Anmeldung in der Master-Datenbank erstellen. Sie können dann eine Verbindung zur Zieldatenbank öffnen und den folgenden Befehl ausführen, um den Benutzer dort zu erstellen, der an dieselbe Anmeldung gebunden ist.

CREATE USER youruser FOR LOGIN youruser 

In der Zieldatenbank Sie werden in der Lage sein, sie zu addieren, was Rollen Sie mögen. Im Master haben sie nicht die gleichen Berechtigungen wie der "Server-Level Principal Login".

Durch diese Schritte ist der Benutzer die gleiche Anmeldung für Master und Ihre Zieldatenbank. Beachten Sie, dass die Anmeldung auf dem neuen Server nicht existiert, wenn die Datenbank auf einen anderen Server verschoben wird (weil Sie sie aus irgendeinem Grund wiederhergestellt haben), und Sie erhalten Berechtigungsfehler. Es gibt Möglichkeiten, die Anmeldung hinzuzufügen und die SID-Abweichung zu bereinigen.

+0

Ich musste den Benutzer auf dem Master für einen vorhandenen Benutzer erstellen. | BENUTZER ERSTELLEN youruser FÜR LOGIN youruser – Dave

Verwandte Themen