Configuration du serveur : chaînage de propriété interbases de données

S’applique à :SQL Server

Utilisez l’option permettant de configurer le cross db ownership chaining chaînage de propriétés entre bases de données pour une instance de SQL Server.

Cette option de serveur vous permet de contrôler le chaînage des propriétés des bases de données croisées au niveau de la base de données ou d'autoriser le chaînage des propriétés des bases de données croisées pour toutes les bases de données :

  • Lorsque cross db ownership chaining est désactivé (0) pour l’instance, le chaînage de propriétaires entre bases de données est désactivé pour toutes les bases de données.

  • Lorsque cross db ownership chaining est activé (1) sur l’instance, le chaînage de propriété entre bases de données est activé pour toutes les bases de données.

  • Vous pouvez définir le chaînage de propriété inter-bases de données pour des bases de données spécifiques à l’aide de la clause SET de l’instruction ALTER DATABASE. Si vous créez une base de données, vous pouvez définir l’option de chaînage de propriétés entre bases de données pour la nouvelle base de données à l’aide de l’instruction CREATE DATABASE .

    Définir cross db ownership chaining sur 1 n’est pas recommandé, sauf si toutes les bases de données hébergées par l’instance de SQL Server doivent participer au chaînage de propriété entre bases de données et que vous êtes conscient des implications de sécurité de ce paramètre.

Vérifier l’état du chaînage de propriétés entre bases de données

Pour déterminer l’état actuel du chaînage des propriétés des bases de données croisées, exécutez la requête suivante :

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Un résultat de 1 indique que le chaînage de propriété entre bases de données est activé.

Contrôler le chaînage des propriétés inter-bases de données

Avant d’activer ou désactiver le chaînage de propriétés inter-bases de données :

  • Vous devez être membre du rôle serveur fixe sysadmin pour activer ou désactiver le chaînage des propriétés des bases de données croisées.

  • Avant de désactiver le chaînage de propriétés inter-bases de données sur un serveur de production, testez entièrement toutes les applications, y compris les applications tierces, pour vous assurer que les modifications n’affectent pas les fonctionnalités de l’application.

  • Vous pouvez modifier l’option cross db ownership chaining pendant l’exécution du serveur si vous spécifiez RECONFIGURE avec sp_configure.

  • Si vous avez des bases de données qui nécessitent un chaînage de propriétaires entre bases de données, la pratique recommandée consiste à désactiver l’option cross db ownership chaining pour l’instance à l’aide de sp_configure ; ensuite, activez le chaînage de propriétaires entre bases de données pour chaque base de données qui en a besoin avec l’instruction ALTER DATABASE.

Risque de sécurité

L’activation du chaînage de propriétés inter-bases de données dans SQL Server introduit une vulnérabilité de sécurité potentielle. Lorsque cette fonctionnalité est active, un utilisateur de base de données local disposant de privilèges élevés peut exploiter le chaînage des propriétés pour élever les autorisations et éventuellement obtenir un accès sysadmin .

Vous devez éviter d’activer le chaînage de propriétés inter-bases de données au niveau de l’instance et de restreindre son utilisation aux bases de données approuvées et associées uniquement.