Obtención de información del catálogo del sistema de Babelfish - Amazon Aurora

Obtención de información del catálogo del sistema de Babelfish

Puede obtener información sobre los objetos de base de datos que están almacenados en su clúster de Babelfish mediante la consulta de muchas de las mismas vistas del sistema que se utilizan en SQL Server. Cada nueva versión de Babelfish agrega compatibilidad con más vistas del sistema. Para ver una lista de las vistas disponibles actualmente, consulte la tabla SQL Server system catalog views.

Estas vistas del sistema proporcionan información del catálogo del sistema (sys.schemas). En el caso de Babelfish, estas vistas contienen esquemas de sistema tanto de SQL Server como de PostgreSQL. Para consultar la información del catálogo del sistema en Babelfish, puede utilizar el puerto de TDS o el puerto de PostgreSQL, como se muestra en los siguientes ejemplos.

  • Consulte el puerto T-SQL mediante sqlcmd u otro cliente de SQL Server.

    1> SELECT * FROM sys.schemas 2> GO

    Esta consulta devuelve los esquemas del sistema de SQL Server y Aurora PostgreSQL, como se muestra a continuación.

    name --------------------------------------------------------- demographic_dbo public sys master_dbo tempdb_dbo ...
  • Consultar el puerto de PostgreSQL mediante psql o pgAdmin. En este ejemplo se utiliza el metacomando de esquemas de listas psql (\dn):

    babelfish_db=> \dn

    La consulta devuelve el mismo conjunto de resultados que el que devuelve sqlcmd en el puerto de T-SQL.

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

Catálogos del sistema de SQL Server disponibles en Babelfish

En la tabla siguiente encontrará las vistas de SQL Server implementadas actualmente en Babelfish. Para obtener más información sobre los catálogos del sistema en SQL Server, consulte System Catalog Views (Transact-SQL) (Vistas del catálogo del sistema [Transact-SQL]) en la documentación de Microsoft.

Nombre de la vista Descripción o limitación de babelfish (si procede)

sys.all_columns

Todas las columnas de todas las tablas y vistas

sys.all_objects

Todos los objetos de todos los esquemas

sys.all_sql_modules

La unión de sys.sql_modules y sys.system_sql_modules

sys.all_views

Todas las vistas de todos los esquemas

sys.columns

Todas las columnas de tablas y vistas definidas por el usuario

sys.configurations

Compatibilidad con Babelfish limitada a una configuración de solo lectura.

sys.data_spaces

Contiene una fila para cada espacio de datos. Puede ser un grupo de archivos, un esquema de particiones o un grupo de archivos de datos FILESTREAM.

sys.database_files

Una vista por base de datos que contiene una fila por cada archivo de una base de datos tal y como se almacena en la propia base de datos.

sys.database_mirroring

Para obtener información, consulte sys.database_mirroring en la documentación de Microsoft Transact-SQL.

sys.database_principals

Para obtener información, consulte sys.database_principals en la documentación de Microsoft Transact-SQL.

sys.database_role_members

Para obtener información, consulte sys.database_role_members en la documentación de Microsoft Transact-SQL.

sys.databases

Todas las bases de datos de todos los esquemas

sys.dm_exec_connections

Para obtener información, consulte sys.dm_exec_connections en la documentación de Microsoft Transact-SQL.

sys.dm_exec_sessions

Para obtener información, consulte sys.dm_exec_sessions en la documentación de Microsoft Transact-SQL.

sys.dm_hadr_database_replica_states

Para obtener información, consulte sys.dm_hadr_database_replica_states en la documentación de Microsoft Transact-SQL.

sys.dm_os_host_info

Para obtener información, consulte sys.dm_os_host_info en la documentación de Microsoft Transact-SQL.

sys.endpoints

Para obtener información, consulte sys.endpoints en la documentación de Microsoft Transact-SQL.

sys.indexes

Para obtener información, consulte sys.indexes en la documentación de Microsoft Transact-SQL.

sys.languages

Para obtener información, consulte sys.languages en la documentación de Microsoft Transact-SQL.

sys.schemas

Todos los esquemas

sys.server_principals

Todos los inicios de sesión y roles

sys.sql_modules

Para obtener información, consulte sys.sql_modules en la documentación de Microsoft Transact-SQL.

sys.sysconfigures

Compatibilidad con Babelfish limitada a una sola configuración de lectura.

sys.syscurconfigs

Compatibilidad con Babelfish limitada a una configuración de solo lectura.

sys.sysprocesses

Para obtener información, consulte sys.sysprocesses en la documentación de Microsoft Transact-SQL.

sys.system_sql_modules

Para obtener información, consulte sys.system_sql_modules en la documentación de Microsoft Transact-SQL.

sys.table_types

Para obtener información, consulte sys.table_types en la documentación de Microsoft Transact-SQL.

sys.tables

Todas las tablas de un esquema

sys.xml_schema_collections

Para obtener información, consulte sys.xml_schema_collections en la documentación de Microsoft Transact-SQL.

PostgreSQL implementa catálogos de sistemas similares a las vistas de catálogo de objetos de SQL Server. Para obtener una lista completa de catálogos de sistemas, consulte System Catalogs en la documentación de PostgreSQL.

Exportaciones DDL compatibles con Babelfish

En las versiones 2.4.0 y 3.1.0 de Babelfish, Babelfish admite la exportación de DDL con varias herramientas. Por ejemplo, puede utilizar esta funcionalidad de SQL Server Management Studio (SSMS) para generar los scripts de definición de datos para diversos objetos de una base de datos Babelfish para Aurora PostgreSQL A continuación, puede utilizar los comandos DDL generados en este script para crear los mismos objetos en otra base de datos Babelfish para Aurora PostgreSQL o SQL Server.

Babelfish permite exportaciones de DDL para los siguientes objetos en las versiones especificadas.

Lista de objetos 2.4.0 3.1.0
Tablas de usuario
Claves principales
Claves externas
Restricciones únicas
Índices
Restricciones de comprobación
Vistas
Procedimientos almacenados
Funciones definidas por el usuario
Funciones con valores de tabla
Desencadenadores
Tipos de datos definidos por el usuario NoNo
Tipos de tablas definidas por el usuario NoNo
Usuarios NoNo
Inicios de sesión NoNo
Secuencias NoNo
Roles NoNo

Limitaciones con los DDL exportados

  • Utilice escotillas de escape antes de volver a crear los objetos con los DDL exportados: Babelfish no admite todos los comandos del script de DDL exportado. Utilice escotillas de escape para evitar los errores que se producen al volver a crear los objetos con los comandos de DDL en Babelfish. Para obtener más información acerca de las escotillas de escape, consulte Administración de la gestión de errores de Babelfish con escotillas de escape.

  • Objetos que contienen restricciones CHECK con cláusulas COLLATE explícitas: los scripts con estos objetos generados desde una base de datos SQL Server tienen intercalaciones diferentes pero equivalentes a las de la base de datos Babelfish. Por ejemplo, algunas intercalaciones, como sql_latin1_general_cp1_cs_as, sql_latin1_general_cp1251_cs_as y latin1_general_cs_as, se generan como latin1_general_cs_as, que es la intercalación de Windows más cercana.