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.schemas2>
GOQuesta 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
opgAdmin
. In questo esempio viene utilizzato il meta-comando degli schemi di elencopsql
(\dn
):babelfish_db=>
\dnLa 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)
Nome della vista | Descrizione o limitazione Babelfish (se presente) |
---|---|
|
Tutte le colonne di tutte le tabelle e tutte le viste |
|
Tutti gli oggetti in tutti gli schemi |
|
L'unione di |
|
Tutte le visualizzazioni in tutti gli schemi |
|
Tutte le colonne in tabelle e viste definite dall'utente |
|
Supporto Babelfish limitato a una singola configurazione di sola lettura. |
|
Contiene una riga per ogni spazio dati. Può essere un filegroup, uno schema di partizione o un filegroup di dati FILESTREAM. |
|
Una vista per database contenente una riga per ogni file di un database come archiviato nel database stesso. |
|
Per informazioni, consulta sys.database_mirroring |
|
Per informazioni, consulta sys.database_principals |
|
Per informazioni, consulta sys.database_role_members |
|
Tutti i database in tutti gli schemi |
|
Per informazioni, consulta sys.dm_exec_connections |
|
Per informazioni, consulta sys.dm_exec_sessions |
|
Per informazioni, consulta sys.dm_hadr_database_replica_states |
|
Per informazioni, consulta sys.dm_os_host_info |
|
Per informazioni, consulta sys.endpoints |
|
Per informazioni, consulta sys.indexes |
|
Per informazioni, consulta sys.languages |
|
Tutti gli schemi |
|
Tutti gli accessi e i ruoli |
|
Per informazioni, consulta sys.sql_modules |
|
Supporto Babelfish limitato a una singola configurazione di sola lettura. |
|
Supporto Babelfish limitato a una singola configurazione di sola lettura. |
|
Per informazioni, consulta sys.sysprocesses |
|
Per informazioni, consulta sys.system_sql_modules |
|
Per informazioni, consulta sys.table_types |
|
Tutte le tabelle in uno schema |
|
Per informazioni, consulta sys.xml_schema_collections |
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)
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 | 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ì |
Trigger | 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 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.