SQL-Verbindungsserver Erträge Fehler "keine login-Zuordnung existiert", wenn nicht-admin-Konto verwendet wird
Ich habe einen lokalen SQL-Server 2008R2. Ich habe konfiguriert Verknüpften Server zu einem remote-Datenbank.
Den Verknüpften Server funktioniert Super, wenn ich login auf dem lokalen server mit einem SQL-login-Konto mit sysadmin
server-Rolle. Ich kann die Abfrage an den remote-server, damit ich weiß mit dem Verknüpften Server-Einstellung korrekt ist. Allerdings würde ich bekommen den folgenden Fehler, wenn ich ein Konto verwenden, das nicht über die sysadmin
server-Rolle.
Msg 7416, Level 16, State 2, Line 2
Access to the remote server is denied because no login-mapping exists.
Sowohl für lokale und remote-Server, SQL-Anmeldung verwendet wird (Windows-Authentifizierung nicht verwendet wird)
Welche Art von Sicherheit, die ich brauche, um zu konfigurieren, die für eine reguläre SQL-login-Konto zu verwenden Verlinkten Server?
sp_addlinkedsrvlogin
Teil(s) - (Desinfektions-Passwörter etc.)Was @Nick.McDermaid sagte. Wenn es sagt Nicht aus, Sie brauchen Sie, um ein mapping auf die Liste ODER eine der 3 alternativen Optionen unten in der radio-buttons.
Ich habe das mapping auf der Liste. Ich habe versucht
Not be made
und Be made using this security context
, und beide Optionen nicht helfen. Aber sobald ich Hinzugefügt sysadmin
- server-Rolle auf dem lokalen SQL Server-Konto, es funktionierte sofort. Warum?Ich kann mir nicht helfen, es sei denn, Sie tun, als ich fragte ursprünglich - Skript aus der
sp_addlinkedsrvlogin
Teile. Ansonsten bin ich verschwende meine Zeit damit, zu erraten, was deine Konfiguration ist. Ich bin mir nicht bewusst jede Art von sysadm
überschreiben.InformationsquelleAutor Tony | 2015-08-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut dieser blog, muss ich angeben
User ID
den provider-string, wenn nicht-sysadmin-Konten verwendet werden. Hier ist ein Beispiel.Dies genau dem entspricht, was ich je erlebt habe und es löst mein problem.
UPDATE: Siehe @Anton und @Wouter ' s Antwort für eine alternative Lösung.
Ich bin nun vor diesem problem. Upvote für Sie!
InformationsquelleAutor Tony
Als alternative Lösung können Sie den parameter @datasrc statt @provstr.
@dataSrc funktioniert, ohne die Benutzer-ID
Beispiel:
Ich habe einen Kommentar Hinzugefügt hier auch, aber es ist nicht sichtbar (weiß nicht warum).
InformationsquelleAutor Anton R
Nach Herumspielen mit diesen, fand ich, dass können Sie vermeiden, verwenden Sie die
User ID
Eigenschaft zusammen, indem@datasrc
statt@provstr
. Das ist sehr schlecht dokumentiert, aber das Beispiel unten funktioniert bei mir:Mit dieser Methode können Sie die Wiederverwendung der gleichen Verknüpften server für alle Benutzer. Die derzeit akzeptierte Antwort hat den riesigen Nachteil, dass Sie benötigen, um eine separate, verknüpfte server für jeden Benutzer.
InformationsquelleAutor Wouter