Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion des différences de propriété des objets après la mise à niveau
Les versions 4.6 et ultérieures ainsi que les versions 5.2 et ultérieures de Babelfish incluent une modification de la gestion de la propriété des objets via le point de terminaison TDS. Lorsque vous créez des objets via le point de terminaison TDS, ils appartiennent désormais au propriétaire du schéma plutôt qu’à l’utilisateur actuel. Ce changement de propriétaire peut affecter le comportement des autorisations pour les nouveaux objets par rapport aux objets existants lorsque vous effectuez une mise à niveau à partir de versions antérieures à 4.6 ou 5.2.
Pour résoudre ces différences de propriété, Babelfish fournit la fonction sys.generate_alter_ownership_statements(). Cette fonction génère des instructions SQL qui alignent la propriété des objets sur la propriété du schéma.
Veillez à tenir compte des limites suivantes concernant la propriété des objets :
-
Les utilisateurs disposant d’autorisations CREATE accordées via le point de terminaison PostgreSQL ne peuvent pas créer d’objets via le point de terminaison TDS dans ces schémas.
-
Il n’est pas recommandé de modifier les autorisations liées aux objets T-SQL via le point de terminaison PostgreSQL. Cela peut entraîner un comportement T-SQL incorrect.
-
Les autorisations d’accès peuvent différer entre les anciens et les nouveaux objets en raison de l’incompatibilité de leur propriété. Prenons l’exemple d’un schéma appartenant à
sch_ownet incluant des objets appartenant àdbo. Dans ce cas, les objets appartenant àdboqui ont été créés avant la mise à niveau peuvent avoir des autorisations d’accès différentes par rapport aux objets appartenant àsch_owncréés après la mise à niveau. Cela peut affecter les opérations telles que SELECT et INSERT.
Si votre cluster de bases de données inclut des objets créés dans les versions de Babelfish antérieures à 4.6 ou 5.2, pensez à en aligner la propriété.
Pour remédier aux différences de propriété des objets
-
Connectez-vous à la base de données
babelfish_dbde votre cluster de bases de données à l’aide du point de terminaison PostgreSQL. -
Exécutez la commande suivante :
SELECT * from sys.generate_alter_ownership_statements();Cela génère une liste d’instructions SQL destinées à normaliser la propriété des objets.
-
Exécutez d’abord les instructions générées dans un environnement de test pour valider leur effet avant de les appliquer à votre environnement de production.
Nous vous recommandons d’exécuter ces instructions pour obtenir un modèle de propriété des objets cohérent dans l’ensemble de votre base de données.