Info: Cross-Datenbank Besitz Verkettung Änderungen des Verhaltens in SQLServer 2000 Service Pack 3

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 810474 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Microsoft SQL Server Service Pack 3 (SP3) bietet ein neues Sicherheitserweiterung Verwandte Option zum Konfigurieren von Cross Besitzverkettung, während des Setups Cross Besitzverkettung für alle Datenbanken aktivieren . Dieser Artikel beschreibt die Kreuz Besitzverkettung Verhalten in SQL Server 2000 SP3. Mit dieser neuen Option können Sie steuern, ob Sie datenbankübergreifende Besitzverkettung zulassen. Diese Option ist standardmäßig deaktiviert. Microsoft empfiehlt, dass Sie die Standardoption verwenden, da es Ihrem Datenbankserver sicherer macht.

Weitere Informationen

Besitz Verkettung

Standardmäßig haben alle Datenbankobjekte Besitzer. Wenn ein anderes Objekt auf ein Objekt z. B. eine Ansicht, eine gespeicherte Prozedur oder eine benutzerdefinierte Funktion verweist, wird ein Besitzkette eingerichtet. Z. B. eine Tabelle, die denselben Benutzer gehört. Wenn der Benutzer das Quellobjekt, die Ansicht, gespeicherte Prozedur oder benutzerdefinierte Funktion besitzt, und alle Objekte (Tabellen, Sichten oder anderen Objekten zugrunde liegende) abzielen, ist die Besitzkette als ununterbrochener bezeichnet. Wenn die Besitzkette ununterbrochener ist, überprüft SQL Server Berechtigungen auf das Quellobjekt aber nicht auf die Zielobjekte.

Cross-Datenbank Besitz Verkettung

Datenbankübergreifende Besitzverkettung tritt auf, wenn das Quellobjekt für Objekte in einer anderen Datenbank abhängt. Eine datenbankübergreifende Besitzkette funktioniert auf die gleiche Weise wie Besitzverkettung in einer Datenbank, außer dass ein ununterbrochener Besitzkette alle das gleiche Anmeldekonto zugeordnet wird Objektbesitzer basiert. Daher in einer Besitzkette datenbankübergreifende wird wenn das Quellobjekt in der Quelldatenbank und die Zielobjekte in den Zieldatenbanken das dasselbe Anmeldekonto Besitz sind SQL Server nicht Berechtigungen für die Zielobjekte überprüft.

Wenn Sie mehrere Datenbanken von einer Anwendung verwendet haben, und dass die Anwendung Aufrufe gespeicherte Prozeduren oder Sichten in einer Datenbank, die auf Objekte in einer anderen Datenbank basiert dann Besitzverkettung datenbankübergreifende verwendet wird. Anwendungen, die datenbankübergreifende Besitzverkettung benötigen möglicherweise generieren verweigert Fehler, wenn Cross Besitzverkettung Option deaktiviert ist.

Risiken zugeordnete Cross-Datenbank Besitz Verkettung

Microsoft empfiehlt, deaktivieren Sie die Kreuz Besitzverkettung Option aufgrund der Aktionen, die hoch privilegierten Benutzer durchführen können:
  • Datenbankbesitzer und Mitglieder der Db_ddladmin oder der Db_owners -Datenbankrollen können Objekte erstellen, die von anderen Benutzern gehören. Diese Objekte können Objekte in anderen Datenbanken potenziell Ziel. Dies bedeutet, dass wenn Kreuz Besitzverkettung aktiviert ist, Sie vollständig diese Benutzer mit Daten in allen Datenbanken vertrauen müssen. Identifizieren Sie die Mitglieder der Db_ddladmin und der Db_owners Rollen in der aktuellen Datenbank, Ausführen der folgenden Transact-SQL-Befehle:
    exec sp_helprolemember 'db_ddladmin' exec sp_helprolemember 'db_owner'
  • Benutzer mit CREATE DATABASE-Berechtigung können neue Datenbanken erstellen und vorhandene Datenbanken verbinden. Wenn datenbankübergreifende Besitzverkettung aktiviert ist, können diese Benutzer Objekte in anderen Datenbanken aus neu erstellte oder verbundenen Datenbanken zugreifen.
Obwohl Microsoft empfiehlt, dass Sie die datenbankübergreifende Besitzverkettung für maximale Sicherheit deaktivieren, sind in einigen Umgebungen, in denen Sie Ihre hoch privilegierten Benutzer vollständig vertrauen können; Sie können daher Cross Datenbankbesitz für bestimmte Datenbanken an die Anforderungen bestimmter Anwendungen aktivieren.

Konfigurieren von Cross-Datenbank Besitz Verkettung während der Installation

In Microsoft SQL Server Service Pack 3 (SP3)-Setup wurde ein neues Dialogfeld hinzugefügt, damit den Systemadministrator steuern, ob Cross Datenbank Besitzverkettung zugelassen werden, wird. Wenn Sie Enable Cross Besitzverkettung für alle Datenbanken während der SQL Server 2000 SP3-Installation aktivieren, aktivieren Sie diese Option in allen Datenbanken. Dies war das Standardverhalten vor SQL Server 2000 SP3. Unabhängig von der Option, die Sie während der Installation auswählen, können Sie später Server und Datenbankunterstützung für datenbankübergreifende Besitzverkettung entweder mithilfe von Transact-SQL-Befehle oder von SQL Server Enterprise Manager ändern.

Konfigurieren von Cross-Datenbank Besitz Verkettung nach der Installation

Um die Besitz datenbankübergreifende Verkettung Konfiguration zu ändern, verwenden Sie die neuen Optionen in Sp_configure sowie die Prozeduren Sp_dboption gespeichert.

Hinweis: Wenn Sie trennen und dann erneut eine Datenbank anfügen, müssen Sie wieder datenbankübergreifende Besitzverkettung aktivieren.
  • Konfigurieren datenbankübergreifende Besitzverkettung mithilfe von Transact-SQL-Befehlen:
    • Kreuz Besitzverkettung Unterstützung für die Instanz von SQL Server mit der neuen Zuordnung DB Besitz Verkettung Option für Sp_configure zu konfigurieren. Wenn diese Option auf 0 festgelegt ist, können Sie steuern datenbankübergreifende Besitzverkettung auf Datenbankebene mithilfe von Sp_dboption . Wenn diese Option auf 1 festgelegt ist, können Sie die datenbankübergreifende Besitzverkettung nicht beschränken. Dies ist der Versionen vor SQL Server 2000 SP3-Verhalten. Wenn Sie diese Option ändern, schließen Sie die RECONFIGURE-Option die Instanz neu konfigurieren, ohne ihn neu starten. Verwenden Sie beispielsweise den folgenden Befehl um datenbankübergreifende Besitzverkettung in allen Datenbanken zu ermöglichen:
      EXEC sp_configure 'Cross DB Ownership Chaining', '1'; RECONFIGURE 
      
    • Konfigurieren Sie die datenbankübergreifende Besitzverkettung auf der Datenbankebene mit der neuen Option Db verketten für Sp_dboption . Wenn diese Option auf False festgelegt ist, kann kein Teil die Datenbank datenbankübergreifende Besitzverkettung als Quelle oder die Zieldatenbank. Wenn diese Option auf True, die Datenbank festgelegt wird kann einen datenbankübergreifenden Besitzkette teilnehmen. Standardmäßig ist diese Option false für alle Benutzerdatenbanken, nachdem Sie SQL Server 2000 SP3 angewendet. Der folgende Befehl aktiviert datenbankübergreifende Besitzverkettung für die Northwind-Datenbank:
      EXEC sp_dboption 'Northwind', 'db chaining', 'true'

    Nur, wenn die Sp_configure Zwischen DB Besitz Verkettung Option auf 0 festgelegt ist, werden die Auswirkungen von Sp_dboption manifestiert. Um Cross Besitzverkettung auf der Datenbankebene zu aktivieren, müssen Sie auch, diese Option auf der Quelle und der Zieldatenbank aktivieren.
  • Konfigurieren datenbankübergreifende Besitzverkettung mithilfe von SQL Enterprise Manager:
    • Gehen Sie folgendermaßen vor, um diese Option für alle Datenbanken zu festzulegen:
      1. Klicken Sie mit der rechten Maustaste auf <server>.
      2. Klicken Sie auf Eigenschaften .
      3. Klicken Sie auf Sicherheit .
      4. Klicken Sie auf zulassen datenbankübergreifende Besitzverkettung in den Besitz Verkettung Abschnitt.
      5. Klicken Sie auf OK. Sie werden aufgefordert, zu beenden und die SQL Server-Dienste neu zu starten.
      6. Klicken Sie auf OK .
    • Gehen Sie folgendermaßen vor um diese Option auf der Datenbankebene zu aktivieren:
      1. Klicken Sie mit der rechten Maustaste auf die <database>.
      2. Klicken Sie auf Eigenschaften .
      3. Klicken Sie auf Optionen .
      4. Klicken Sie auf zwischen Datenbank zulassen Besitz Verkettung im Abschnitt

Eigenschaften

Artikel-ID: 810474 - Geändert am: Montag, 29. Oktober 2007 - Version: 4.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Service Pack 3
Keywords: 
kbmt kbproductlink kbinfo kbsysadmin kbupgrade kbsqlserv2000sp3fea KB810474 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 810474
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com