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.schemas2>
GOEsta 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
opgAdmin
. En este ejemplo se utiliza el metacomando de esquemas de listaspsql
(\dn
):babelfish_db=>
\dnLa 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)
Nombre de la vista | Descripción o limitación de babelfish (si procede) |
---|---|
|
Todas las columnas de todas las tablas y vistas |
|
Todos los objetos de todos los esquemas |
|
La unión de |
|
Todas las vistas de todos los esquemas |
|
Todas las columnas de tablas y vistas definidas por el usuario |
|
Compatibilidad con Babelfish limitada a una configuración de solo lectura. |
|
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. |
|
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. |
|
Para obtener información, consulte sys.database_mirroring |
|
Para obtener información, consulte sys.database_principals |
|
Para obtener información, consulte sys.database_role_members |
|
Todas las bases de datos de todos los esquemas |
|
Para obtener información, consulte sys.dm_exec_connections |
|
Para obtener información, consulte sys.dm_exec_sessions |
|
Para obtener información, consulte sys.dm_hadr_database_replica_states |
|
Para obtener información, consulte sys.dm_os_host_info |
|
Para obtener información, consulte sys.endpoints |
|
Para obtener información, consulte sys.indexes |
|
Para obtener información, consulte sys.languages |
|
Todos los esquemas |
|
Todos los inicios de sesión y roles |
|
Para obtener información, consulte sys.sql_modules |
|
Compatibilidad con Babelfish limitada a una sola configuración de lectura. |
|
Compatibilidad con Babelfish limitada a una configuración de solo lectura. |
|
Para obtener información, consulte sys.sysprocesses |
|
Para obtener información, consulte sys.system_sql_modules |
|
Para obtener información, consulte sys.table_types |
|
Todas las tablas de un esquema |
|
Para obtener información, consulte sys.xml_schema_collections |
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
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 | Sí | Sí |
Claves principales | Sí | Sí |
Claves externas | Sí | Sí |
Restricciones únicas | Sí | Sí |
Índices | Sí | Sí |
Restricciones de comprobación | Sí | Sí |
Vistas | Sí | Sí |
Procedimientos almacenados | Sí | Sí |
Funciones definidas por el usuario | Sí | Sí |
Funciones con valores de tabla | Sí | Sí |
Desencadenadores | Sí | Sí |
Tipos de datos definidos por el usuario | No | No |
Tipos de tablas definidas por el usuario | No | No |
Usuarios | No | No |
Inicios de sesión | No | No |
Secuencias | No | No |
Roles | No | No |
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.