Exportar (0) Imprimir
Expandir todo

Instrucciones y limitaciones de la federación

Actualizado: abril de 2014

En este tema se describen las instrucciones y limitaciones de las federaciones en Base de datos SQL de Microsoft Azure. Las instrucciones y las limitaciones generales se tratan en las secciones siguientes.

ImportantImportante
La implementación actual de Federaciones se retirará con los niveles de servicio Web y Business. Tenga en cuenta la implementación de soluciones de particionamiento personalizado para conseguir la máxima escalabilidad, flexibilidad y rendimiento. Para obtener más información sobre el particionamiento personalizado, vea Ampliar Bases de datos SQL de Azure.

Las federaciones pueden contener tanto tablas federadas como tablas de referencia. Las tablas federadas son tablas creadas con la cláusula FEDERATED ON que contienen una columna asociada a la clave de distribución para la federación contenedora. Las tablas de referencia son tablas dentro de una federación que no se crearon con la cláusula FEDERATED ON y no tienen una asociación especial con la clave de distribución de la federación. Para obtener más información acerca de la creación de tablas, vea CREATE TABLE.

Las tablas federadas tienen las limitaciones siguientes:

  • La columna de federación de la tabla federada solo puede contener datos que se ajusten al miembro de la federación el intervalo bajo incluido y el alto excluido.

  • El tipo de datos de la columna de federación debe coincidir exactamente con el tipo de datos que se indica en la definición de la federación.

  • Todos los índices únicos y clúster en la tabla federada deben contener la columna de federación. El orden en el que la columna de federación aparece en el índice puede diferir del ordinal de la clave en la federación.

  • Los valores de la columna de federación no se pueden actualizar a valores fuera del intervalo de miembros de la federación.

  • La columna de federación no puede ser una columna calculada persistente o no persistente.

  • No se admiten vistas indizadas en miembros de la federación.

  • Las columnas de federación no pueden admitir valores NULL.

  • Todas las restricciones de clave externa en las tablas federadas tienen que incluir la columna de federación tanto en las tablas a las que se hacen referencia como a las que se refieren, en el mismo ordinal en la clave externa. Las tablas de referencia no pueden tener relacionas de clave externa con tablas federadas. Las tablas federadas pueden tener relacionas de clave externa con tablas de referencia sin restricciones.

  • Puede quitar tablas creadas con la cláusula FEDERATED ON de la forma habitual. También puede usar ALTER TABLE para cambiar todas las propiedades de una tabla federada excepto atributos de la federación como la clave de federación. Para convertir una tabla de referencia en una tabla federada o una tabla federada en una tabla de referencia, debe crear tablas nuevas con las propiedades deseadas y quitar la tabla existente.

  • Cuando una tabla se marca con STATISTICS_NORECOMPUTE, las operaciones de federación como SPLIT no invalidan ni vuelven a calcular las estadísticas. Esto podría ocasionar problemas con los planes de ejecución después de llevarse a cabo operaciones de volver a particionar como SPLIT.

  • Los miembros federados no admiten la propiedad identity

  • Los miembros federados no admiten el tipo de datos timestamp y rowversion.

Todos los metadatos de tablas generales para tablas federadas están disponibles a través de vistas de sistema estándar. Hay disponibles propiedades específicas de federación a través de sys.federated_table_columns.

Las tablas de referencia no se distribuyen automáticamente en todos los miembros de la federación. Aunque las tablas de referencia se pueden replicar a través de los miembros de una federación de forma manual, no hay ningún proceso de replicación automática.

Las tablas de referencia suelen contener información de compatibilidad con las consultas de las tablas federadas de modo que no haya que realizar consultas con varias bases de datos. Por ejemplo, aunque la información de los clientes puede federarse y dividirse entre varias bases de datos miembros, no se consigue ningún beneficio federando la información de referencia del estado y el código postal. Sin embargo, puede ser conveniente almacenar una copia de la información de estado y código postal en cada miembro de la federación para que las consultas no tengan que abarcar varias bases de datos.

Geography y geometry no se pueden usar como tipo de datos de la columna sobre la que se federa una tabla; sin embargo, pueden formar parte de la tabla federada. No hay ninguna otra limitación respecto al uso de datos espaciales con federaciones.

Después de una operación SPLIT o DROP, los índices espaciales siguen siendo coherentes y están intactos en los miembros de la federación de destino.

El tipo hierarchyid no se puede usar como tipo de datos de la columna sobre la que se federa una tabla; sin embargo, puede formar parte de la tabla federada. No hay ninguna otra limitación respecto al uso de hierarchyid con federaciones.

Después de una operación SPLIT o DROP, los índices de hierarchyid siguen siendo coherentes y están intactos en los miembros de la federación de destino.

Las conexiones a una federación se realizan a través de la instrucción USE FEDERATION. Esta instrucción enruta automáticamente la conexión con el miembro correcto dentro de una federación y elimina la necesidad de conocer el nombre de la base de datos física al obtener acceso a los datos. Al especificar la clave de distribución de la federación y un valor, se establecerá una conexión a la base de datos miembro correspondiente dentro de la federación.

La autenticación y la autorización a una base de datos que contiene una federación se lleva a cabo de la forma habitual. Los inicios de sesión y los usuarios determinan la conectividad; los roles administran la agrupación de entidades de seguridad. Sin embargo, las entidades de seguridad dentro de una base de datos que contiene una federación tienen como ámbito únicamente la base de datos raíz de la federación y no se aplican automáticamente a los miembros de la federación. Para obtener más información acerca de los usuarios y los roles, vea Administrar federaciones de base de datos (Base de datos SQL de Azure).

No se puede realizar una copia de una base de datos que contiene federaciones. Se producirá un error en la creación de una federación si hay una operación de copia de base de datos activa en la base de datos. La copia de la base de datos tampoco se puede realizar en los miembros de la federación.

Las operaciones de federación no se aplican a la cuota raíz de la federación. Si la base de datos raíz supera la cuota, podrá seguir realizando operaciones SPLIT y DROP. De la misma manera, si se supera la cuota de tamaño de un miembro de la federación, se pueden seguir realizando operaciones SPLIT y DROP siempre y cuando la operación no supere la cuota de la base de datos de destino.

Al completarse las operaciones de nueva creación de particiones como SPLIT y DROP, se quitan conexiones. Esto significa que las propiedades de conexión como las opciones SET, los valores de nivel de aislamiento de transacción o las variables también se restablecen. La operación SPLIT crea una nueva base de datos física, lo que significa que las siguientes propiedades de Transact-SQL no se pueden mantener en las operaciones SPLIT.

 

Transact-SQL Limitaciones de compatibilidad de Base de datos SQL Compatibilidad en bases de datos con federaciones

Tipo de datos timestamp y rowversion

Base de datos SQL no puede conservar los valores timestamp y rowversion no confirmados de la base de datos actual (DBTS) en las conmutaciones por error.

Los tipos de datos timestamp y rowversion no se admiten en los miembros de la federación.

Las funciones relacionadas con timestamp y rowversion como @@dbts devuelven valores cuando no existe ningún valor timestamp y rowversion en una base de datos especificada.

SYSUTCDATETIME(),SYSDATETIMEOFFSET(),SYSDATETIME(),getdate(), getutcdate()current_timestamp

Base de datos SQL puede notificar los valores timestamp y rowversion del equipo local, y las veces que se producen en el futuro o en el pasado entre conmutaciones por error.

Se admiten con las mismas restricciones en las operaciones de nueva creación de particiones.

DATABASE_PRINCIPAL_ID()

Se garantiza que los SID de las entidades de seguridad son iguales entre los miembros de la federación y la raíz de la federación para un nombre de la entidad especificado. Sin embargo, los identificadores de las entidades de seguridad pueden cambiar después de operaciones de nueva creación de particiones como DROP.

Propiedad IDENTITY de columnas

La propiedad IDENTITY no se admite en los miembros de una federación. Las funciones relacionadas con Identity como IDENT_CURRENT, IDENT_SEED, IDENT_INCR y SCOPE_IDENTITY siempre devuelven NULL porque no pueden existir columnas de identidad en los miembros de una federación.

OBJECT_ID y funciones relacionadas que trabajan con objetos definidos por el usuario; object_id(…), object_name(object_id), type_id(…), type_name(type_id)

El object_id de cualquier objeto puede cambiar para los objetos definidos por el usuario después de una operación de nueva creación de particiones como DROP.

Se admiten todas las configuraciones de base de datos de Base de datos SQL de Azure; sin embargo, los cambios al valor de una opción en la base de datos raíz de la federación no cambiarán la opción de ningún miembro de la federación.

Vea también

Mostrar:
© 2014 Microsoft