Solución de errores de réplica de resumen
No modifique directamente los datos de la base de datos de resumen
Ivanti implementa la réplica de SQL Server como réplica transaccional de dirección única, del editor al suscriptor. Si modifica los datos "replicados" el suscriptor, esas modificaciones no se replicarán en el editor. No sólo eso, el editor no conocerá las modificaciones. Si desea revertir esos cambios, deberá utilizar el Monitor de réplica de SQL Server e invalidar la instantánea del editor y forzar una instantánea nueva.
Error de réplica ProductSnapshot después de actualizar las versiones Endpoint Manager.
Si ve este mensaje de error:
El proceso no ha podido copiarse masivamente en la tabla '"dbo"."PRODUCTSnapshot"'
El problema es que la vista ReplProductV del servidor central actualizado no está sincronizado con la tabla ProductSnapshot antigua de la base de datos de resumen.
Para solucionar este error, la vista debe coincidir con el esquema. Ejecute sp_help en la vista y la tabla y asegúrese de que las columnas "Nullable" coinciden. Es muy probable que las columnas que no estén sincronizadas sean la de Versión y ProductGUID. Puede modificar la table en la base de datos de resumen (pero deberá modificar también las vistas de cada servidor central sin actualizar):
altere la tabla productsnapshot altere la versión de la columna nvarchar9255) a null
altere la tabla productsnapshot altere la la columna productguid nvarchar(255) a not null
O puede modificar la vista del servidor central actualizado. Para modificar la vista, deberá detener la réplica de esa vista desde el diálogo de propiedades de la publicación local.
Error de réplica Tamaño de campo demasiado grande
Si ve este error en el monitor de réplica, el problema es que los esquemas de la vista del servidor central y de la tabla del servidor de resumen no coinciden. Aunque puede ser que la longitud de las columnas no coincidan, normalmente es problema del atributo NOT NULL de la columna. Todas las definiciones de columna entre Repl<tablename>V en el servidor central y el nombre de tabla del rollup deben coincidir.
Si el error muestra una lista de tablas que termina con Snapshot, esa tabla se utiliza como tabla temporal en el servidor central. La vista correspondiente del servidor central no contendrá la palabra "Snapshot" (es decir, ProductSnapshot = ReplProductV).
Errores de réplica con las tablas ISA e IDE
Problema: Cuando se utiliza una versión más antigua (o actualizada) de la base de datos Ivanti, es posible que se generen errores de réplica con las tablas ISA e IDE. El nombre de las columnas de identidad de las tablas ISA e IDE se modificó en 2011.
Resolución: Cuando se ejecuta la réplica, deberá eliminar las suscripciones y artículos de las tablas ISA e IDE. Altere las vistas y utilice los nombres de columna de identidad antiguos de la cláusula SELECCIONAR. Cree los índices CLÚSTER ÚNICO para las vistas y vuelva a agregar los artículos y los filtros de artículos. Actualice la suscripción. Para terminar, puede hacer clic manualmente en iniciar desde la ventana estado de Snapshot Agent o esperar a que snapshot agent detecte los cambios. Consulte el Monitor de réplica para ver si los datos se han replicado correctamente.
Utilice la cadena de comandos siguiente para solucionar el problema. Asegúrese de que utiliza el nombre del abonado y de la base de datos (<your subscriber server name> y <your subscriber database name>) en los procedimientos sp_dropsubscription.
--Elimine la suscripción y el artículo de la tabla ISA
sp_dropsubscription 'LDMS', 'ISACSO', '<your subscriber server name>', '<your subscriber database name>'
Ir
sp_droparticle @publication = 'LDMS', @article='ISACSO'
Ir
--Altere la vista de la tabla ISA y utilice la columna ISAPorts_Idn antigua de la lista seleccionada.
altere la VISTA [dbo].[ReplISAV] (Computer_Idn, ISA_IDN, DeviceNum, Descripción, Designación, Ubicación, Fabricante, Tipo, COREGUID)
CON SCHEMABINDING COMO
SELECCIONAR isnull((b.Computer_Idn + 2097152), b.Computer_Idn) Computer_Idn, isnull(cast(b.ISAPorts_IDN como int), cast(0 como int)) ISAPorts_IDN, isnull(b.DeviceNum, 0) DeviceNum, b.Descripción, b.Designación, b.Ubicación, b.Fabricante, b.Tipo, isnull(cast(a.SYSTEMGUID como uniqueidentifier), cast(cast(0 como binario) como uniqueidentifier)) COREGUID
DESDE dbo.METASYSTEMS a, dbo.ISA b
DONDE a.SYSTEM_IDN = 0
IR
--Recree el índice de clústeres
cree un índice de clústeres único PKReplISAV en ReplISAV (CoreGuid, Computer_Idn, ISA_Idn)
Ir
--Vuelva a agregar el artículo y el filtro a la publicación
sp_addarticle @publication = 'LDMS', @article='ISACSO', @source_object='ReplISAV', @destination_table='ISA', @type='indexed view logbased', @sync_object='ReplISAV', @pre_creation_cmd='delete', @schema_option=0x00, @status=24, @ins_cmd='CALL sp_LDins_ISA', @del_cmd='CALL sp_LDdel_ISA', @upd_cmd='MCALL sp_LDupd_ISA', @fire_triggers_on_snapshot='FALSE'
Ir
sp_articlefilter @publication = 'LDMS', @article='ISACSO', @filter_name='CoreGuidISA', @filter_clause='CoreGuid = cast(''C192290A-8FAC-4ABF-8183-D6B911ACFE73'' como uniqueidentifier)'
Ir
--Elimine la suscripción y el artículo de la tabla IDE
sp_dropsubscription 'LDMS', 'ISACSO', '<your subscriber server name>', '<your subscriber database name>'
Ir
sp_droparticle @publication = 'LDMS', @article='IDECSO'
Ir
--Altere la vista de la tabla IDE y utilice la columna IDEPorts_Idn antigua de la lista seleccionada.
ALTERE LA VISTA [dbo].[ReplIDEV] (Computer_Idn, IDE_IDN, DeviceNum, Descripción, Designación, Ubicación, Fabricante, Tipo, ProdName, COREGUID)
CON SCHEMABINDING COMO
SELECCIONAR isnull((b.Computer_Idn + 2097152), b.Computer_Idn) Computer_Idn, isnull(cast(b.IDEPorts_IDN como int), cast(0 como int)) IDEPorts_IDN, isnull(b.DeviceNum, 0) DeviceNum, b.Descripción, b.Designación, b.Ubicación, b.Fabricante, b.Tipo, isnull(cast(a.SYSTEMGUID como uniqueidentifier), cast(cast(0 como binario) como uniqueidentifier)) COREGUID
DESDE dbo.METASYSTEMS a, dbo.IDEb
DONDE a.SYSTEM_IDN = 0
IR
--Recree el índice de clústeres
cree un índice de clústeres único PKReplIDEV en ReplIDEV (CoreGuid, Computer_Idn, IDE_Idn)
Ir
--Vuelva a agregar el artículo y el filtro a la publicación
sp_addarticle @publication = 'LDMS', @article='IDECSO', @source_object='ReplIDEV', @destination_table='IDE', @type='indexed view logbased', @sync_object='ReplIDEV', @pre_creation_cmd='delete', @schema_option=0x00, @status=24, @ins_cmd='CALL sp_LDins_IDE', @del_cmd='CALL sp_LDdel_IDE', @upd_cmd='MCALL sp_LDupd_IDE', @fire_triggers_on_snapshot='FALSE'
Ir
sp_articlefilter @publication = 'LDMS', @article='IDECSO', @filter_name='CoreGuidIDE', @filter_clause='CoreGuid = cast(''C192290A-8FAC-4ABF-8183-D6B911ACFE73'' como uniqueidentifier)'
Ir
-- Actualice la suscripción.
sp_refreshsubscriptions @publication='LDMS'
Ir