Serverkonfiguration: kedjning av databasägarskap mellan databaser

Gäller för:SQL Server

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

Med det här serveralternativet kan du styra databaskorsande ägarkedjning på databasnivån eller tillåta databaskorsande ägarkedjning för alla databaser:

  • När cross db ownership chaining är av (0) för instansen inaktiveras ägarkedjning mellan databaser för alla databaser.

  • När cross db ownership chaining är aktiverat (1) för instansen är ägarkedjning mellan databaser aktiverad för alla databaser.

  • Du kan ange ägarkedjning mellan databaser för enskilda databaser med hjälp av SET-satsen i ALTER DATABASE-instruktionen. Om du skapar en ny databas kan du ange alternativet för ägarskapskedjning mellan databaser för den nya databasen med hjälp av instruktionen CREATE DATABASE.

    Att ställa in cross db ownership chaining1 rekommenderas inte, såvida inte alla databaser som finns på SQL Server-instansen måste delta i ägarkedjning mellan databaser och du är medveten om säkerhetskonsekvenserna av den här inställningen.

Kontrollera statusen för ägarlänkning mellan databaser

Kör följande fråga för att avgöra den aktuella statusen för ägarskapskedjning mellan databaser:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Ett resultat av 1 innebär att ägarskapslänkning mellan databaser är aktiverad.

Styr ägarkedjning mellan databaser

Innan du aktiverar eller inaktiverar ägarskapskedjning mellan databaser:

  • Du måste vara medlem i den fasta serverrollen sysadmin för att slå på eller av ägarskapskedjning 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 ägarlänkning mellan databaser är den rekommenderade praxisen att stänga av alternativet cross db ownership chaining för instansen med sp_configure; aktivera sedan ägarlänkning mellan databaser för de enskilda databaser som kräver det med instruktionen ALTER DATABASE.

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.