

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Recupero di informazioni dal catalogo di sistema Babelfish
<a name="babelfish-query-database"></a>

Puoi ottenere informazioni sugli oggetti di database archiviati nel cluster Babelfish eseguendo query su molte delle stesse viste di sistema utilizzate in SQL Server. Ogni nuova versione di Babelfish aggiunge supporto per ulteriori viste di sistema. Per un elenco delle viste attualmente disponibili, consulta la tabella [SQL Server system catalog views](#system-catalog-table). 

Queste viste di sistema forniscono informazioni dal catalogo di sistema (`sys.schemas`). Nel caso di Babelfish, queste viste contengono entrambi gli schemi di sistema SQL Server e PostgreSQL. Per eseguire query su Babelfish per informazioni sul catalogo di sistema, puoi utilizzare la porta TDS o la porta PostgreSQL, come illustrato negli esempi seguenti.
+ **Esegui query sulla porta T-SQL utilizzando `sqlcmd` o un altro client SQL Server**.

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

  Questa query restituisce gli schemi di sistema SQL Server e Aurora PostgreSQL, come mostrato di seguito.

  ```
  name      
  ---------------------------------------------------------
  demographic_dbo          
  public                                                    
  sys                           
  master_dbo
  tempdb_dbo
  ...
  ```
+ **Esegui query sulla porta PostgreSQL utilizzando `psql` o `pgAdmin`**. In questo esempio viene utilizzato il meta-comando degli schemi di elenco `psql` (`\dn`):

  ```
  babelfish_db=> \dn
  ```

  La query restituisce lo stesso set di risultati restituito da `sqlcmd` sulla porta T-SQL.

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

## Cataloghi di sistema SQL Server disponibili in Babelfish
<a name="babelfish-query-database.system-catalogs"></a>

Nella tabella seguente sono disponibili le viste SQL Server attualmente implementate in Babelfish. Per ulteriori informazioni sui cataloghi di sistema in SQL Server, consulta [System Catalog Views (Transact-SQL)](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/catalog-views-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft.<a name="system-catalog-table"></a>


| Nome della vista | Descrizione o limitazione Babelfish (se presente) | 
| --- | --- | 
| `sys.all_columns` | Tutte le colonne di tutte le tabelle e tutte le viste | 
| `sys.all_objects` | Tutti gli oggetti in tutti gli schemi | 
| `sys.all_sql_modules` | L'unione di `sys.sql_modules` e `sys.system_sql_modules` | 
| `sys.all_views` | Tutte le visualizzazioni in tutti gli schemi | 
| `sys.columns` | Tutte le colonne in tabelle e viste definite dall'utente | 
| `sys.configurations` | Supporto Babelfish limitato a una singola configurazione di sola lettura. | 
| `sys.data_spaces` | Contiene una riga per ogni spazio dati. Può essere un filegroup, uno schema di partizione o un filegroup di dati FILESTREAM. | 
| `sys.database_files` | Una vista per database contenente una riga per ogni file di un database come archiviato nel database stesso. | 
| `sys.database_mirroring` | Per informazioni, consulta [sys.database\$1mirroring](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-database-mirroring-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL.  | 
| `sys.database_principals` | Per informazioni, consulta [sys.database\$1principals](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-database-principals-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL. | 
| `sys.database_role_members` | Per informazioni, consulta [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) nella documentazione di Microsoft Transact-SQL. | 
| `sys.databases` | Tutti i database in tutti gli schemi | 
| `sys.dm_exec_connections` | Per informazioni, consulta [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) nella documentazione di Microsoft Transact-SQL. | 
| `sys.dm_exec_sessions` | Per informazioni, consulta [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) nella documentazione di Microsoft Transact-SQL.  | 
| `sys.dm_hadr_database_replica_states` | Per informazioni, consulta [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) nella documentazione di Microsoft Transact-SQL. | 
| `sys.dm_os_host_info` | Per informazioni, consulta [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) nella documentazione di Microsoft Transact-SQL. | 
| `sys.endpoints` | Per informazioni, consulta [sys.endpoints](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-endpoints-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL. | 
| `sys.indexes` | Per informazioni, consulta [sys.indexes](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-indexes-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL. | 
| `sys.languages` | Per informazioni, consulta [sys.languages](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-fulltext-languages-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL.  | 
| `sys.schemas` | Tutti gli schemi | 
| `sys.server_principals` | Tutti gli accessi e i ruoli | 
| `sys.sql_modules` | Per informazioni, consulta [sys.sql\$1modules](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL. | 
| `sys.sysconfigures` | Supporto Babelfish limitato a una singola configurazione di sola lettura. | 
| `sys.syscurconfigs` | Supporto Babelfish limitato a una singola configurazione di sola lettura. | 
| `sys.sysprocesses` | Per informazioni, consulta [sys.sysprocesses](https://docs.microsoft.com/en-us/sql/relational-databases/system-compatibility-views/sys-sysprocesses-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL. | 
| `sys.system_sql_modules` | Per informazioni, consulta [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) nella documentazione di Microsoft Transact-SQL. | 
| `sys.table_types` | Per informazioni, consulta [sys.table\$1types](https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-table-types-transact-sql?view=sql-server-ver16) nella documentazione di Microsoft Transact-SQL. | 
| `sys.tables` | Tutte le tabelle in uno schema | 
| `sys.xml_schema_collections` | Per informazioni, consulta [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) nella documentazione di Microsoft Transact-SQL. | 

PostgreSQL implementa cataloghi di sistema simili alle viste del catalogo oggetti di SQL Server. Per l'elenco completo dei cataloghi di sistema, consulta [System Catalogs (Cataloghi di sistema)](https://www.postgresql.org/docs/current/catalogs.html) nella documentazione di PostgreSQL.

## Esportazioni DDL supportate da Babelfish
<a name="babelfish-ddl-exports"></a>

A partire dalle versioni 2.4.0 e 3.1.0, Babelfish supporta le esportazioni DDL utilizzando vari strumenti. Ad esempio, puoi utilizzare questa funzionalità di SQL Server Management Studio (SSMS) per generare gli script di definizione dei dati per vari oggetti in un database Babelfish per Aurora PostgreSQL. Quindi puoi utilizzare i comandi DDL generati in questo script per creare gli stessi oggetti in un altro database Babelfish per Aurora PostgreSQL o SQL Server. 

Babelfish supporta le esportazioni DDL per i seguenti oggetti nelle versioni specificate.


| Elenco di oggetti | 2.4.0 | 3.1.0 | 
| --- | --- | --- | 
| Tabelle dell'utente | Sì  | Sì | 
| Chiavi primarie | Sì  | Sì | 
| Chiavi esterne | Sì  | Sì | 
| Vincoli univoci | Sì  | Sì | 
| Indici | Sì  | Sì | 
| Vincoli check | Sì  | Sì | 
| Visualizzazioni | Sì  | Sì | 
| Stored procedure | Sì  | Sì | 
| Funzioni definite dall'utente | Sì  | Sì | 
| Funzioni con valori tabellari | Sì  | Sì | 
| Triggers | Sì  | Sì | 
| Tipi di dati definiti dall'utente | No | No | 
| Tipi di tabella definiti dall'utente | No | No | 
| Utenti | No | No | 
| Accessi | No | No | 
| Sequenze | No | No | 
| Roles | No | No | 

### Limitazioni relative ai file esportati DDLs
<a name="babelfish-ddl-exports-limitations"></a>
+ **Utilizzate le vie di fuga prima di ricreare gli oggetti con quelli esportati DDLs**: Babelfish non supporta tutti i comandi nello script DDL esportato. Usa gli escape hatch per evitare errori causati durante la ricreazione degli oggetti dai comandi DDL in Babelfish. Per ulteriori informazioni sugli escape hatch, consulta [Gestione degli errori di Babelfish con escape hatch](babelfish-strict.md).
+ **Oggetti contenenti vincoli CHECK con clausole COLLATE esplicite**: gli script con questi oggetti generati da un database SQL Server hanno regole di confronto diverse ma equivalenti a quelle del database Babelfish. Ad esempio, alcune raccolte, come sql\$1latin1\$1general\$1cp1\$1cs\$1as, sql\$1latin1\$1general\$1cp1251\$1cs\$1as e latin1\$1general\$1cs\$1as vengono generate come latin1\$1general\$1cs\$1as, che è la regola di confronto di Windows più vicina.