Freigeben über


Serverkonfiguration: Cross-DB-Besitzverkettung

Gilt für:SQL Server

Verwenden Sie die cross db ownership chaining Option, um die datenbankübergreifende Besitzverkettung 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), wird die datenbankübergreifende Besitzverkettung für alle Datenbanken ausgeschaltet.

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

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

    Es wird nicht empfohlen, 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 Besitzrechteverkettung teilnehmen und Sie sind sich der Sicherheitsauswirkungen dieser Einstellung bewusst.

Status der datenbankübergreifenden Besitzverkettung überprü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;

Ein Ergebnis von 1 bedeutet, dass die datenbankübergreifende Besitzverkettung aktiviert ist.

Steuerung der Besitzverkettung über verschiedene Datenbanken

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.

  • Bevor Sie die Besitzverkettung zwischen Datenbanken auf einem Produktionsserver deaktivieren, testen Sie alle Anwendungen, einschließlich Anwendungen von Drittanbietern, vollständig, um sicherzustellen, dass die Änderungen die Funktionsweise 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 cross db ownership chaining-Option für die Instanz zu deaktivieren, indem Sie sp_configure verwenden. Aktivieren Sie dann die datenbankübergreifende Besitzverkettung für einzelne Datenbanken, die sie erfordern, mit der ALTER DATABASE-Anweisung.

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 die Aktivierung der datenbankübergreifenden Besitzverkettung auf Instanzebene vermeiden und die Verwendung auf vertrauenswürdige, verwandte Datenbanken beschränken.