Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se describe cómo administrar columnas de identidad en SQL Server 2014 mediante SQL Server Management Studio o Transact-SQL. Cuando las inserciones de suscriptor se replican de nuevo en el publicador, las columnas de identidad deben administrarse para evitar la asignación del mismo valor de identidad tanto en el suscriptor como en el publicador. La replicación puede administrar automáticamente los intervalos de identidad, o puede optar por controlarlos manualmente. Para obtener información sobre las opciones de administración de intervalos de identidades proporcionadas por la replicación, consulte Replicación de columnas de identidad.
Antes de empezar
Recomendaciones
Al publicar una tabla en más de una publicación, debe especificar las mismas opciones de administración de intervalos de identidad para ambas publicaciones. Para obtener más información, vea "Publicar tablas en más de una publicación" en Publicar datos y objetos de base de datos.
Para crear un número de incremento automático que se puede usar en varias tablas o que se puede llamar desde aplicaciones sin hacer referencia a ninguna tabla, consulte Números de secuencia.
Uso de SQL Server Management Studio
Especifique una opción de administración de columnas de identidad en la pestaña Propiedades del cuadro de diálogo Propiedades del artículo -<Artículo> del Asistente para nueva publicación. Para obtener más información sobre el uso de este asistente, vea Crear una publicación. En el asistente de Nueva Publicación:
Si selecciona Combinar publicación o Publicación transaccional con suscripciones de actualización en la página Tipo de publicación , seleccione Administración automática o manual de intervalos de identidades (automática, predeterminada). Una vez publicada la tabla, la propiedad no se puede modificar, pero se pueden modificar otras propiedades relacionadas.
Si selecciona otros tipos de publicación, la gestión del rango de identidades debe configurarse manualmente.
Modifique los intervalos de identidad y los umbrales en la pestaña Propiedades de Propiedades de Artículo -<Artículo>, que está disponible en el cuadro de diálogo de Propiedades de Publicación - <Publicación>. Para obtener más información sobre cómo obtener acceso a este cuadro de diálogo, vea Ver y modificar propiedades de publicación.
Para especificar una opción de administración de columnas de identidad
Si el publicador ejecuta una versión de SQL Server anterior a SQL Server 2005, en la página Tipo de publicación del Asistente para nueva publicación, seleccione Combinar publicación o Publicación transaccional con suscripciones de actualización.
En la página Artículos , seleccione una tabla con una columna de identidad.
Haga clic en Propiedades del artículoy, a continuación, haga clic en Establecer propiedades del artículo de tabla resaltado.
En la pestaña Propiedades del cuadro de diálogo Propiedades del artículo - <artículo>, en la sección Administración de rangos de identidad, establezca la propiedad Administrar automáticamente rangos de identidad en Automático o Manual (para publicadores que ejecutan SQL Server 2005 o posterior), o True o False (para publicadores que ejecutan una versión de SQL Server anterior a SQL Server 2005).
Si seleccionó Automático o True en el paso 4, escriba los valores de las opciones de la tabla siguiente. Para obtener más información sobre cómo se usan estas opciones de configuración, vea la sección "Asignar intervalos de identidad" de Replicar columnas de identidad.
Opción Importancia Descripción Tamaño del rango del publicador Valor entero para el tamaño del intervalo (por ejemplo, 20000). Consulte la sección "Asignar intervalos de identidad" de Replicar columnas de identidad. Tamaño del intervalo de suscriptores Valor entero para el tamaño del intervalo (por ejemplo, 10000). Consulte la sección "Asignar intervalos de identidad" de Replicar columnas de identidad. Porcentaje de umbral de intervalo Valor entero para el umbral de porcentaje (por ejemplo, el 90 es equivalente al 90 por ciento). Porcentaje de valores de identidad totales usados en un nodo antes de asignar un nuevo intervalo de identidades.
Nota: Este valor debe especificarse, pero solo lo usan: suscriptores que usan suscripciones de actualización en cola; y suscriptores para combinar publicaciones que ejecutan SQL Server Compact o versiones anteriores de otras ediciones de SQL Server. Para obtener más información, vea la sección "Asignación de intervalos de identidad" de Replicar columnas de identidad.Siguiente valor inicial del intervalo Valor entero. Solo lectura. Valor en el que se iniciará el siguiente intervalo. Por ejemplo, si el intervalo actual es 5001-6000, este valor será 6001. Valor máximo de identidad Valor entero. Solo lectura. Valor más grande de la columna de identidad. Determinado por el tipo de datos base de la columna. Incremento Valor entero. Solo lectura. Cantidad por la que el número de la columna de identidad debe aumentar o disminuir para cada inserción: normalmente se establece en 1. Haz clic en Aceptar.
Para modificar los intervalos de identidad y los umbrales después de publicar una tabla
En la página Artículos del cuadro de diálogo Propiedades de la publicación : <publicación> , seleccione una tabla con una columna de identidad.
Haga clic en Propiedades del artículoy, a continuación, haga clic en Establecer propiedades del artículo de tabla resaltado.
En la pestaña Propiedades del cuadro de diálogo Propiedades del artículo : <artículo> , en la sección Administración de intervalos de identidades , escriba los valores de una o varias de las siguientes propiedades: Tamaño del intervalo de publicador, Tamaño del intervalo de suscriptor y Porcentaje de umbral de intervalo.
Haz clic en Aceptar.
Haga clic en Aceptar en el cuadro de diálogo Propiedades de la publicación - <Publicación> .
Uso de Transact-SQL
Puede usar procedimientos almacenados de replicación para especificar las opciones de administración de intervalos de identidad cuando se crea un artículo.
Para habilitar la administración automática de intervalos de identidades al definir artículos para una publicación transaccional
En el publicador de la base de datos de publicación, ejecute sp_addarticle. Si la tabla de origen que se publica tiene una columna de identidad, especifique un valor de auto para @identityrangemanagementoption, el intervalo de valores de identidad asignados al publicador para @pub_identity_range, el intervalo de valores de identidad asignados a cada suscriptor para @identity_range y el porcentaje de valores de identidad totales usados antes de asignar un nuevo intervalo de identidades para @threshold. Para obtener más información sobre cómo definir artículos, vea Definir un artículo.
Nota:
Asegúrese de que el tipo de datos de la columna de identidad es lo suficientemente grande como para admitir el intervalo total de identidades que se asignan a todos los suscriptores.
Para deshabilitar la administración automática de intervalos de identidades al definir artículos para una publicación transaccional
En el publicador de la base de datos de publicación, ejecute sp_addarticle. Especifique un valor manual para @identityrangemanagementoption. Para obtener más información sobre cómo definir artículos, vea Definir un artículo.
Asigne intervalos a columnas de artículo de identidad en el suscriptor para evitar generar conflictos para actualizar suscriptores. Para obtener más información, consulte la sección sobre la asignación de intervalos para la administración manual de intervalos de identidad en el tema Replicar columnas de identidad.
Para habilitar la administración automática de intervalos de identidades al definir artículos para una publicación de combinación
En el publicador de la base de datos de publicación, ejecute sp_addmergearticle. Si la tabla de origen que se publica tiene una columna de identidad, especifique un valor de auto para @identityrangemanagementoption, el intervalo de valores de identidad asignados a una suscripción de servidor para @pub_identity_range, el intervalo de valores de identidad asignados al publicador y cada suscripción de cliente para @identity_range, y el porcentaje de valores de identidad totales usados antes de asignar un nuevo intervalo de identidades para @threshold. Para obtener más información sobre cuándo se asignan nuevos intervalos de identidades, consulte Asignación de intervalos de identidad en el tema Replicar columnas de identidad. Para obtener más información sobre cómo definir artículos, vea Definir un artículo.
Nota:
Asegúrese de que el tipo de datos de la columna de identidad es lo suficientemente grande como para admitir el intervalo total de identidades que se asignan a todos los suscriptores, especialmente para suscriptores con suscripciones de servidor.
Para desactivar la gestión automática de rangos de identidad al definir artículos para una publicación de fusión
En el editor de la base de datos de publicación, ejecute sp_addmergearticle. Especifique uno de los siguientes valores para @identityrangemanagementoption:
manual — Los intervalos de identidad deben asignarse de forma manual para la actualización de suscriptores.
none : las columnas de identidad del publicador no se definirán como columnas de identidad en el suscriptor.
Para obtener más información sobre cómo definir artículos, vea Definir un artículo.
Asigne intervalos a las columnas de artículos de identidad en el suscriptor para evitar generar conflictos al actualizar suscriptores.
Para cambiar la configuración automática de gestión de rangos de identidad de un artículo existente en una publicación instantánea o transaccional
En la base de datos de publicación del publicador, ejecute sp_helparticle y anote el valor de identityrangemanagementoption en el conjunto de resultados. Si este valor es 0, la administración automática del intervalo de identidades no está habilitada.
Si el valor de identityrangemanagementoption en el conjunto de resultados es 1, cambie la configuración de la siguiente manera:
Para cambiar los intervalos de identidad asignados, ejecute sp_changearticle en el publicador de la base de datos de publicación. Especifique un valor de identity_range o pub_identity_range para @property y el nuevo valor de intervalo para @value.
Para cambiar el umbral en el que se asignan nuevos intervalos, ejecute sp_changearticle en el publicador de la base de datos de publicación. Especifique un valor de umbral para @property y el nuevo valor de umbral para @value.
Para cambiar la configuración de gestión automática de intervalos de identidad de un artículo existente en una publicación de combinación
En la base de datos de publicación del publicador, ejecute sp_helpmergearticle y anote el valor de identity_support en el conjunto de resultados. Si este valor es 0, la administración automática del intervalo de identidades no está habilitada.
Si el valor de identity_support en el conjunto de resultados es 1, cambie la configuración de la siguiente manera:
Para cambiar los intervalos de identidad asignados, ejecute sp_changemergearticle en el publicador de la base de datos de publicación. Especifique un valor de identity_range o pub_identity_range para @property y el nuevo valor de intervalo para @value.
Para cambiar el umbral en el que se asignan nuevos intervalos, ejecute sp_changemergearticle en el publicador de la base de datos de publicación. Especifique un valor de umbral para @property y el nuevo valor de umbral para @value. Para obtener más información sobre cuándo se asignan nuevos intervalos de identidades, consulte Asignación de intervalos de identidad en el tema Replicar columnas de identidad.
Para deshabilitar la administración automática del intervalo de identidades, ejecute sp_changemergearticle en el publicador de la base de datos de publicación. Especifique un valor de identityrangemanagementoption para @property y manual o ninguno para @value.
Véase también
Replicación transaccional entre pares
Conceptos de procedimientos almacenados del sistema de replicación
Replicar columnas de identidad