El proceso de mezcla no pudo crear una nueva generación en ‘Publisher’

For English version visit this link The merge process was unable to create a new generation at the ‘Publisher’
 
Ayer realizamos un update masivo de 1 millón de registros en una tabla de la BBDD de réplica, después del update, hicimos que un equipo replicara, y vimos que en la primera publicación fallaba después de unos 2000 segundos, dándonos el siguiente error:
 
“El proceso de mezcla no pudo crear una nueva generación en ‘Publisher’. Para solucionar el problema, reinicie la sincronización con registro de historial detallado y especifique un archivo de salida para escribir en él.” 
  Read more of this post
Advertisements

Proceso de marcha atrás para una migración fallida de Instancia en Cluster SQL Server

For English version visit this link Rollback process for a failed SQL Server Cluster Instance migration
 
Pongamos un caso práctico en el que haya que migrar una instancia SQL Server de producción que esta en un Cluster Windows Server 2003 a un Cluster Windows Server 2008.
 
 Uno de los primeros pasos cuando migramos es apagar el servicio de Cluster SQL y borrar el nombre del Cluster SQL del directorio activo, puesto que sino el Cluster Windows Server 2008 que creemos encontrará un nombre duplicado cuando intente crear el Cluster SQL, aquí nos encontraremos con un problema si en mitad de la migración hubiera que dar marcha atrás puesto que el servicio SQL Server en el Cluster Windows Server 2003 no iniciaría.
  Read more of this post

Cambiar automáticamente el valor de “Max Server Memory” si ocurre un Failover

For English version visit this link Automatic change “Max Server Memory” value if a Failover occurs
 
En uno de nuestros entornos, tenemos un cluster de dos nodos activo-activo con una instancia SQL Server en cada uno.
 Durante esta semana, sufrimos una caida del servicio en uno de los nodos, esto provocó que se realizara un failover al nodo que quedaba disponible. El problema que nos encontramos es que el nodo tenía solamente 25GB de RAM y el valor de “Max Server Memory” asignado a cada instancia era de 20GB, por lo que corriamos el riesgo de que si las dos instancias empezaban a necesitar RAM llegaria un momento que el sistema operativo Windows perdería rendimiento.
  Read more of this post

Error al actualizar tabla con columna rowguid

For English version visit this link Error updating table with rowguidcol
 
En uno de nuestros entornos, tenemos dos BBDD SQL Server 2008 R2 alineadas entre si por replica Peer to Peer, y a su vez cada BBDD tiene creada una replicación de Mezcla con varios subscriptores.
 
Cuando tratamos de realizar un update en un artículo/tabla que está en la publicación de Mezcla y en la publicación Peer to Peer nos muestra el siguiente error:
  Read more of this post

Forma rápida de crear un instalador de SQL Server 2008 R2 con SP1 integrado (Slipstream)

For English version visit this link Quick way to create a SQL Server 2008 R2 installer with integrated SP1 (Slipstream)
 
Con la funcionalidad Slipstream podemos integrar los Service Pack o Cumulative Updates al instalador de SQL Server, con esto ahorramos mucho tiempo, sobre todo cuando hay que hacer múltiples instalaciones.
 
La guía que he creado es una modificación de How to slipstream SQL Server 2008 R2 and a SQL Server 2008 R2 Service Pack 1 (SP1), a la que añado un fichero .bat que nos ahorra mucho tiempo.
 
Esta guía es para la versión en Inglés de SQL Server 2008 R2.
  Read more of this post

¿Cómo saber que tablas están replicadas?

For English version visit this link How to know which tables are replicated?
 
A veces es necesario conocer todas las tablas que están replicadas en una BBDD, para ello utiliza estos scripts, ejecutar en la BBDD que este replicada:
--Que tablas están publicadas en Réplica de Mezcla y sus subscriptores
SELECT
b.name AS [Table],
DB_NAME() AS PublisherDB,
a.subscriber_server AS Subscriber,
a.db_name AS SubscriberDB
from sysmergesubscriptions a, sysmergearticles b
where a.pubid=b.pubid
order by a.subscriber_server

--Que tablas están publicadas en Réplica Transaccional y sus subscriptores
SELECT
a.name AS [Table],
is_published AS is_tran_published,
DB_NAME() AS PublisherDB,
c.srvname AS Subscriber,
c.dest_db AS SubscriberDB
FROM sys.tables a
INNER JOIN dbo.sysarticles b ON a.object_id = b.objid
INNER JOIN dbo.syssubscriptions c ON b.artid = c.artid
WHERE is_published = 1

Error Resolutor de Conflictos

For English version visit this link Conflict Resolutor Error
 
Hemos encontrado un error en la replicación de tipo Mezcla que paso a describir:
 
Cuando un subscriptor SQL Server 2005 Express replica contra un publicador SQL Server 2008 R2 con una publicación con artículos filtrados, la opción use_partition_groups en true y contiene un artículo con un resolutor de conflictos distinto al default, ocurre el siguiente error:
 
The process could not initialize ‘Microsoft SQLServer Stored Procedure Resolver’. Verify that the component is registered correctly
 
Se ha probado a subir el SQL Server 2008 R2 a SP1 CU2 que es el último que ha salido, así como se ha probado a subir SQL Server 2005 Express a SP4 CU3 y el error se sigue reproduciendo.
El error no se produce si el subscriptor es SQL Server 2008 R2 RTM.
 
Ha sido reportado a Microsoft y han reconocido que es un bug, el cual esta arreglado en Denali, pero por el momento no hay fecha para el fix en 2008 R2.