none
DB_CHAINING: Ist Benutzer von DB1 auch in DB2 für die "Datenbankübergreifende Besitzverkettung" notwendig RRS feed

  • Frage

  • Hallo,

    in DB1 existiert ein Schema test, Eigentümer ist dbo. Zusätzlich gibt es eine test.view, welche auf eine View von DB1 zugreift. Hier wird ein SELECT auf eine View test2.view2 in der DB2 durchgeführt. Auf die test.view ist der Benutzer testuser berechtigt (SELECT).

    In der DB2 gehören das Schema test2, auf welchen die test.view von DB1 zugreift, dem dbo.

    Wenn ich DB_CHAINING richtig verstanden habe, sollte nach Aktivierung von DB_CHAINING der testbenutzer beim SELECT auf die test.view von DB1 die Berechtigung haben, die Daten der test2.view2 anzusehen.

    Dem ist aber nicht der Fall. Erst, wenn ich den Benutzer ohne Rechte auf DB2 anlege, funktioniert die Abfrage von DB1.test.view.

    principal_id des Eigentümers dbo ist auf beiden Datenbanken gleich.

    Habe ich noch etwas übersehen?

    Beste Grüße

    Dienstag, 1. Oktober 2019 10:07

Alle Antworten

  • Siehe hier:
    https://docs.microsoft.com/de-de/dotnet/framework/data/adonet/sql/enabling-cross-database-access-in-sql-server

    "Eine datenbankübergreifende Besitzkette funktioniert wie die Besitzkette innerhalb einer einzelnen Datenbank – mit dem Unterschied, dass eine durchgängige Besitzkette voraussetzt, dass alle Objektbesitzer demselben Anmeldekonto zugeordnet sind."

    Dienstag, 1. Oktober 2019 14:48
  • Hall

    das ist soweit richtig

    der entscheidende Punkt, auf den Du aber selber gestossen bist, ist, dass der User, der dieses Objekt in DB2 in von DB1 aus verwenden moechte, in wirklich auch beiden Datenbanken existieren muss. Er muss also schon mindestens CONNECT-Rechte zur Datenbank haben. Wenn er diese hat, dann funktioniert auch die Besitzverkettung ueber die Datenbankgrenzen hinweg.

    Andreas


    Andreas Wolter (Blog | Twitter)
    Senior Program Manager SQL Server & Azure Security

    MCSM: Microsoft Certified Solutions Master Data Platform/SQL Server 2012

    Montag, 7. Oktober 2019 13:42