Sdílet prostřednictvím


Konfigurace serveru: Řetězení vlastnictví mezi databázemi

platí pro:SQL Server

cross db ownership chaining Pomocí možnosti můžete nakonfigurovat řetězení vlastnictví mezi databázemi pro instanci SQL Serveru.

Tato možnost serveru umožňuje řídit řetězení vlastnictví mezi databázemi na úrovni databáze nebo povolit řetězení vlastnictví mezi databázemi pro všechny databáze:

  • Pokud cross db ownership chaining je u instance vypnuté (0) řetězení vlastnictví mezi databázemi, je zakázáno pro všechny databáze.

  • Pokud cross db ownership chaining je u instance zapnuté (1), je řetězení vlastnictví mezi databázemi zapnuté pro všechny databáze.

  • Pomocí klauzule SET příkazu můžete nastavit řetězení vlastnictví mezi databázemi ALTER DATABASE pro jednotlivé databáze. Pokud vytváříte novou databázi, můžete pomocí příkazu nastavit možnost řetězení vlastnictví mezi databázemi pro novou databázi CREATE DATABASE .

    cross db ownership chaining Nastavení 1 se nedoporučuje, pokud se všechny databáze hostované instancí SQL Serveru nesmí účastnit řetězení vlastnictví mezi databázemi a víte o bezpečnostních dopadech tohoto nastavení.

Kontrola stavu řetězení vlastnictví mezi databázemi

Pokud chcete zjistit aktuální stav řetězení vlastnictví mezi databázemi, spusťte následující dotaz:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Výsledek 1 značí, že je povolené řetězení vlastnictví mezi databázemi.

Řízení řetězení vlastnictví mezi databázemi

Před zapnutím nebo vypnutím řetězení vlastnictví mezi databázemi:

  • Pokud chcete zapnout nebo vypnout řetězení vlastnictví mezi databázemi, musíte být členem pevné role serveru správce systému .

  • Před vypnutím řetězení vlastnictví mezi databázemi na produkčním serveru plně otestujte všechny aplikace, včetně aplikací třetích stran, abyste zajistili, že změny nemají vliv na funkčnost aplikace.

  • Možnost můžete změnit cross db ownership chaining , když je server spuštěn, pokud zadáte RECONFIGURE pomocí sp_configure.

  • Pokud máte databáze, které vyžadují řetězení vlastnictví mezi databázemi, doporučujeme cross db ownership chaining vypnout možnost pro instanci pomocí sp_configure; pak zapnout řetězení vlastnictví mezi databázemi pro jednotlivé databáze, které ho vyžadují pomocí příkazu ALTER DATABASE .

Bezpečnostní riziko

Povolení řetězení vlastnictví mezi databázemi v SQL Serveru představuje potenciální ohrožení zabezpečení. Pokud je tato funkce aktivní, může uživatel místní databáze se zvýšenými oprávněními zneužít řetězení vlastnictví k eskalaci oprávnění a potenciálně získat přístup správce systému .

Měli byste se vyhnout povolení řetězení vlastnictví mezi databázemi na úrovni instance a omezit jeho použití pouze na důvěryhodné související databáze.