Serverkonfiguration: korsdatabasägarlänkning

Gäller för:SQL Server

Använd alternativet cross db ownership chaining för att konfigurera korsdatabasägarlänkning för en instans av SQL Server.

Med det här serveralternativet kan du styra korsdatabasägarlänkning på databasnivå eller tillåta korsdatabasägarkoppling för alla databaser:

  • När cross db ownership chaining är av (0) för instansen inaktiveras korsdatabasägarlänkning för alla databaser.

  • När cross db ownership chaining är på (1) för instansen är ägarkopplingen mellan databaser aktiverad för alla databaser.

  • Du kan ange ägarskapslänkning mellan databaser för enskilda databaser med hjälp SET av instruktionens sats ALTER DATABASE . Om du skapar en ny databas kan du ange länkningsalternativet korsdatabasägarskap för den nya databasen med hjälp av -instruktionen CREATE DATABASE .

    cross db ownership chaining Inställningen 1 till rekommenderas inte om inte alla databaser som hanteras av SQL Server-instansen måste delta i länkning mellan databaser och du är medveten om säkerhetskonsekvenserna av den här inställningen.

Kontrollera status för länkning mellan databasägarskap

Kör följande fråga för att fastställa den aktuella statusen för länkning mellan databaser:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Ett resultat av 1 anger att ägarskapslänkning mellan databaser är aktiverat.

Kontrollera korsdatabasägarlänkning

Innan du aktiverar eller inaktiverar länkning av ägarskap mellan databaser:

  • Du måste vara medlem i den fasta serverrollen sysadmin för att aktivera eller inaktivera länkning av ägarskap mellan databaser.

  • Innan du inaktiverar korsdatabasägarkoppling på en produktionsserver testar du alla program, inklusive program från tredje part, fullständigt för att säkerställa att ändringarna inte påverkar programfunktionerna.

  • Du kan ändra alternativet cross db ownership chaining medan servern körs om du anger RECONFIGURE med sp_configure.

  • Om du har databaser som kräver korsdatabasägarkoppling rekommenderar vi att du inaktiverar cross db ownership chaining alternativet för instansen med hjälp av sp_configure. Aktivera sedan korsdatabasägarkoppling för enskilda databaser som kräver det med ALTER DATABASE-instruktionen .

Säkerhetsrisk

Om du aktiverar ägar-kedjning mellan databaser i SQL Server introducerar det en potentiell säkerhetsrisk. När den här funktionen är aktiv kan en lokal databasanvändare med utökade privilegier utnyttja ägarskapslänkning för att eskalera behörigheter och eventuellt få sysadmin-åtkomst .

Du bör undvika att aktivera korsdatabasägarkoppling på instansnivå och begränsa dess användning till endast betrodda, relaterade databaser.