Recupero di informazioni dal catalogo di sistema Babelfish - Amazon Aurora

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

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.

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

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) nella documentazione di Microsoft.

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_mirroring nella documentazione di Microsoft Transact-SQL.

sys.database_principals

Per informazioni, consulta sys.database_principals nella documentazione di Microsoft Transact-SQL.

sys.database_role_members

Per informazioni, consulta sys.database_role_members nella documentazione di Microsoft Transact-SQL.

sys.databases

Tutti i database in tutti gli schemi

sys.dm_exec_connections

Per informazioni, consulta sys.dm_exec_connections nella documentazione di Microsoft Transact-SQL.

sys.dm_exec_sessions

Per informazioni, consulta sys.dm_exec_sessions nella documentazione di Microsoft Transact-SQL.

sys.dm_hadr_database_replica_states

Per informazioni, consulta sys.dm_hadr_database_replica_states nella documentazione di Microsoft Transact-SQL.

sys.dm_os_host_info

Per informazioni, consulta sys.dm_os_host_info nella documentazione di Microsoft Transact-SQL.

sys.endpoints

Per informazioni, consulta sys.endpoints nella documentazione di Microsoft Transact-SQL.

sys.indexes

Per informazioni, consulta sys.indexes nella documentazione di Microsoft Transact-SQL.

sys.languages

Per informazioni, consulta sys.languages 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_modules 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 nella documentazione di Microsoft Transact-SQL.

sys.system_sql_modules

Per informazioni, consulta sys.system_sql_modules nella documentazione di Microsoft Transact-SQL.

sys.table_types

Per informazioni, consulta sys.table_types nella documentazione di Microsoft Transact-SQL.

sys.tables

Tutte le tabelle in uno schema

sys.xml_schema_collections

Per informazioni, consulta sys.xml_schema_collections 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) nella documentazione di PostgreSQL.

Esportazioni DDL supportate da Babelfish

Dalle versioni Babelfish 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
Chiavi primarie
Chiavi esterne
Vincoli univoci
Indici
Vincoli check
Visualizzazioni
Stored procedure
Funzioni definite dall'utente
Funzioni con valori tabellari
Trigger
Tipi di dati definiti dall'utente NoNo
Tipi di tabella definiti dall'utente NoNo
Utenti NoNo
Accessi NoNo
Sequenze NoNo
Roles NoNo

Limitazioni con le DDL esportate

  • Usa gli escape hatch prima di ricreare gli oggetti con le DDL esportate: 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.

  • 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_latin1_general_cp1_cs_as, sql_latin1_general_cp1251_cs_as e latin1_general_cs_as vengono generate come latin1_general_cs_as, che è la regola di confronto di Windows più vicina.