

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.

# Obtention d’informations dans le catalogue système Babelfish
<a name="babelfish-query-database"></a>

Vous pouvez obtenir des informations sur les objets de base de données stockés dans votre cluster Babelfish en interrogeant la plupart des mêmes vues système que celles utilisées dans SQL Server. Chaque nouvelle version de Babelfish prend en charge davantage de vues système. Pour obtenir la liste des vues disponibles actuellement, consultez le tableau [SQL Server system catalog views](#system-catalog-table). 

Ces vues système fournissent des informations issues du catalogue système (`sys.schemas`). Dans le cas de Babelfish, ces vues contiennent à la fois des schémas système SQL Server et PostgreSQL. Pour interroger Babelfish au sujet d’informations sur le catalogue système, vous pouvez utiliser le port TDS ou le port PostgreSQL, comme illustré dans les exemples suivants.
+ **Interrogez le port T-SQL à l’aide de `sqlcmd` ou d’un autre client SQL Server**.

  ```
  1> SELECT * FROM sys.schemas
  2> GO
  ```

  Cette requête renvoie les schémas système SQL Server et Aurora PostgreSQL, comme illustré dans l’exemple suivant.

  ```
  name      
  ---------------------------------------------------------
  demographic_dbo          
  public                                                    
  sys                           
  master_dbo
  tempdb_dbo
  ...
  ```
+ **Interrogez le port PostgreSQL à l’aide de `psql` ou `pgAdmin`**. Cet exemple utilise la métacommande de schémas de liste `psql` (`\dn`) :

  ```
  babelfish_db=> \dn
  ```

  La requête renvoie le même jeu de résultats que celui renvoyé par `sqlcmd` sur le port T-SQL.

  ```
          List of schemas
               Name              
  ------------------------------
  
   demographic_dbo           
  
   public                       
   sys                          
   master_dbo                   
   tempdb_dbo                   
  ...
  ```

## Catalogues système SQL Server disponibles dans Babelfish
<a name="babelfish-query-database.system-catalogs"></a>

Le tableau suivant fournit les vues SQL Server actuellement implémentées dans Babelfish. Pour plus d’informations sur les catalogues système dans SQL Server, consultez [Vues de catalogue système (Transact-SQL)](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/catalog-views-transact-sql?view=sql-server-ver16) dans la documentation Microsoft.<a name="system-catalog-table"></a>


| Nom de la vue | Description ou limite Babelfish (le cas échéant) | 
| --- | --- | 
| `sys.all_columns` | Toutes les colonnes de toutes les tables et vues | 
| `sys.all_objects` | Tous les objets de tous les schémas | 
| `sys.all_sql_modules` | L’union de `sys.sql_modules` et `sys.system_sql_modules` | 
| `sys.all_views` | Toutes les vues de tous les schémas | 
| `sys.columns` | Toutes les colonnes des tables et vues définies par l’utilisateur | 
| `sys.configurations` | Prise en charge de Babelfish limitée à une seule configuration en lecture seule. | 
| `sys.data_spaces` | Contient une ligne pour chaque espace de données. Il peut s’agir d’un groupe de fichiers, d’un schéma de partition ou d’un groupe de fichiers de données FILESTREAM. | 
| `sys.database_files` | Vue par base de données contenant une ligne pour chaque fichier d’une base de données telle qu’elle est stockée dans la base de données elle-même. | 
| `sys.database_mirroring` | Pour plus d’informations, consultez [sys.database\$1mirroring](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-database-mirroring-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL.  | 
| `sys.database_principals` | Pour plus d’informations, consultez [sys.database\$1principals](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-database-principals-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.database_role_members` | Pour plus d’informations, consultez [sys.database\$1role\$1members](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-database-role-members-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.databases` | Toutes les bases de données de tous les schémas | 
| `sys.dm_exec_connections` | Pour plus d’informations, consultez [sys.dm\$1exec\$1connections](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-connections-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.dm_exec_sessions` | Pour plus d’informations, consultez [sys.dm\$1exec\$1sessions](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-sessions-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL.  | 
| `sys.dm_hadr_database_replica_states` | Pour plus d’informations, consultez [sys.dm\$1hadr\$1database\$1replica\$1states](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-hadr-database-replica-states-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.dm_os_host_info` | Pour plus d’informations, consultez [sys.dm\$1os\$1host\$1info](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-host-info-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.endpoints` | Pour plus d’informations, consultez [sys.endpoints](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-endpoints-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.indexes` | Pour plus d’informations, consultez [sys.indexes](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-indexes-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.languages` | Pour plus d’informations, consultez [sys.languages](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-fulltext-languages-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL.  | 
| `sys.schemas` | Tous les schémas | 
| `sys.server_principals` | Tous les identifiants et rôles | 
| `sys.sql_modules` | Pour plus d’informations, consultez [sys.sql\$1modules](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.sysconfigures` | Prise en charge de Babelfish limitée à une seule configuration en lecture seule. | 
| `sys.syscurconfigs` | Prise en charge de Babelfish limitée à une seule configuration en lecture seule. | 
| `sys.sysprocesses` | Pour plus d’informations, consultez [sys.sysprocesses](https://docs.microsoft.com/en-us/sql/relational-databases/system-compatibility-views/sys-sysprocesses-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.system_sql_modules` | Pour plus d’informations, consultez [sys.system\$1sql\$1modules](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-system-sql-modules-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.table_types` | Pour plus d’informations, consultez [sys.table\$1types](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-table-types-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 
| `sys.tables` | Toutes les tables d’un schéma | 
| `sys.xml_schema_collections` | Pour plus d’informations, consultez [sys.xml\$1schema\$1collections](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-xml-schema-collections-transact-sql?view=sql-server-ver16) dans la documentation Microsoft Transact-SQL. | 

PostgreSQL implémente des catalogues système semblables aux vues du catalogue d’objets SQL Server. Pour obtenir la liste complète des catalogues système, consultez [System Catalogs](https://www.postgresql.org/docs/current/catalogs.html) dans la documentation PostgreSQL.

## Exportations DDL prises en charge par Babelfish
<a name="babelfish-ddl-exports"></a>

Dans les versions 2.4.0 et 3.1.0 de Babelfish, Babelfish prend en charge les exportations DDL à l’aide de divers outils. Par exemple, vous pouvez utiliser cette fonctionnalité de SQL Server Management Studio (SSMS) pour générer les scripts de définition de données pour différents objets dans une base de données Babelfish pour Aurora PostgreSQL. Vous pouvez ensuite utiliser les commandes DDL générées dans ce script pour créer les mêmes objets dans une autre base de données Babelfish pour Aurora PostgreSQL ou SQL Server. 

Babelfish prend en charge les exportations DDL pour les objets suivants dans les versions spécifiées.


| Liste d’objets | 2.4.0 | 3.1.0 | 
| --- | --- | --- | 
| Tables d’utilisateurs | Oui | Oui | 
| Clés primaires | Oui | Oui | 
| Clés étrangères | Oui | Oui | 
| Contraintes uniques | Oui | Oui | 
| Index | Oui | Oui | 
| Contraintes de validation | Oui | Oui | 
| Vues | Oui | Oui | 
| Procédures stockées | Oui | Oui | 
| Fonctions définies par l’utilisateur | Oui | Oui | 
| Fonctions à valeur tabulaire | Oui | Oui | 
| Triggers | Oui | Oui | 
| Types de données définis par l’utilisateur | Non | Non | 
| Types de tables définis par l’utilisateur | Non | Non | 
| Utilisateurs | Non | Non | 
| Connexions | Non | Non | 
| Séquences | Non | Non | 
| Roles | Non | Non | 

### Limitations liées à l'exportation DDLs
<a name="babelfish-ddl-exports-limitations"></a>
+ **Utilisez des trappes d'échappement avant de recréer les objets avec le script DDL exporté DDLs**. Babelfish ne prend pas en charge toutes les commandes du script DDL exporté. Utilisez des trappes de secours pour éviter les erreurs causées lors de la recréation des objets à partir des commandes DDL dans Babelfish. Pour plus d’informations sur les trappes de secours, consultez [Gestion du traitement des erreurs Babelfish avec des trappes de secours](babelfish-strict.md).
+ **Objets contenant des contraintes CHECK avec des clauses COLLATE explicites** : les scripts contenant ces objets générés à partir d’une base de données SQL Server ont des classements différents mais équivalents à ceux de la base de données Babelfish. Par exemple, quelques classements, tels que sql\$1latin1\$1general\$1cp1\$1cs\$1as, sql\$1latin1\$1general\$1cp1251\$1cs\$1as et latin1\$1general\$1cs\$1as, sont générés sous la forme latin1\$1general\$1cs\$1as, qui est le classement Windows le plus proche.