Serverkonfiguration: Kettenverknüpfung von Datenbankbesitzern

Gilt für:SQL Server

Verwenden Sie die Option cross db ownership chaining, um die datenbankübergreifende Eigentumsverknüpfung für eine SQL Server-Instanz zu konfigurieren.

Mithilfe dieser Serveroption können Sie die datenbankübergreifende Besitzverkettung für alle Datenbanken auf Datenbankebene steuern oder die datenbankübergreifende Besitzverkettung für alle Datenbanken ermöglichen:

  • Wenn cross db ownership chaining für die Instanz deaktiviert ist (0), ist die datenbankübergreifende Eigentumsverknüpfung für alle Datenbanken deaktiviert.

  • Wenn cross db ownership chaining für die Instanz aktiviert ist (1), ist die datenbankübergreifende Eigentumsverknüpfung für alle Datenbanken aktiviert.

  • Sie können die datenbankübergreifende Eigentumsverknüpfung für einzelne Datenbanken mithilfe der SET-Klausel der ALTER DATABASE-Anweisung festlegen. Wenn Sie eine neue Datenbank erstellen, können Sie die datenbankübergreifende Besitzverkettungsoption für die neue Datenbank mithilfe der CREATE DATABASE-Anweisung festlegen.

    Es wird nicht empfohlen, den Wert von cross db ownership chaining auf 1 zu setzen, es sei denn, alle von der SQL Server-Instanz gehosteten Datenbanken müssen an der datenbankübergreifenden Eigentumsverknüpfung teilnehmen und Sie sind sich der sicherheitstechnischen Auswirkungen dieser Einstellung bewusst.

Status der datenbankübergreifenden Eigentumsverknüpfungen prüfen

Um den aktuellen Status der datenbankübergreifenden Besitzverkettung zu bestimmen, führen Sie die folgende Abfrage aus:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Das Ergebnis „1“ weist darauf hin, dass die datenbankübergreifende Besitzverkettung aktiviert ist.

Steuern der datenbankübergreifenden Besitzverkettung

Vor dem Aktivieren oder Deaktivieren der datenbankübergreifenden Besitzverkettung:

  • Sie müssen Mitglied der sysadmin -Rolle sein, um die datenbankübergreifende Besitzverkettung aktivieren oder deaktivieren zu können.

  • Vor dem Deaktivieren der datenbankübergreifenden Besitzverkettung auf einem Produktionsserver sollten Sie jede Anwendung testen, einschließlich Anwendungen von Drittanbietern. Auf diese Weise können Sie sicherstellen, dass die Änderungen die Funktionalität der Anwendungen nicht beeinträchtigen.

  • Sie können die cross db ownership chaining Option ändern, während der Server ausgeführt wird, wenn Sie angeben RECONFIGUREsp_configure.

  • Wenn Sie über Datenbanken verfügen, die eine datenbankübergreifende Besitzverkettung erfordern, empfiehlt es sich, die Option cross db ownership chaining für die Instanz mithilfe von sp_configure zu deaktivieren. Aktivieren Sie anschließend die datenbankübergreifende Besitzverkettung für einzelne Datenbanken, die diese benötigen, mit der Anweisung ALTER DATABASE.

Sicherheitsrisiko

Das Aktivieren der datenbankübergreifenden Besitzverkettung in SQL Server führt zu einer potenziellen Sicherheitslücke. Wenn dieses Feature aktiv ist, kann ein lokaler Datenbankbenutzer mit erhöhten Berechtigungen die Verkettung der Besitzrechte nutzen, um Berechtigungen zu eskalieren und potenziell sysadmin-Zugriff zu erhalten.

Sie sollten es vermeiden, die datenbankübergreifende Eigentumsverknüpfung auf Instanzebene zu aktivieren, und deren Verwendung ausschließlich auf vertrauenswürdige, miteinander verbundene Datenbanken beschränken.