Impossible de renommer la table car elle est publiée pour la réplication

Sur cette page

La mise à jour d'une source de données Devolutions Server avec la réplication SQL Server activée renvoie le message d'erreur suivant :

Microsoft.Data.SqlClient.SqlException (0x80131904) : Impossible de renommer la table car elle est publiée pour la réplication.

Solution

  1. Exécuter cette requête SQL et voir s'il retourne 1038 :

SELECT DatabaseVersion FROM dbo.DatabaseInfo
  1. S'il retourne 1038, alors exécuter cette requête :

if   exists (select * FROM dbo.DatabaseInfo where DatabaseVersion = 1038)

 AND exists (SELECT  1 FROM sys.indexes i INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id WHERE i.object_id = OBJECT_ID(N'dbo.LogMessage') AND i.name = 'PK_LogMessage' AND c.name = 'ID' AND type_desc = 'CLUSTERED')

BEGIN

	drop table dbo.LogMessage;

END

GO

if   exists (select * FROM dbo.DatabaseInfo where DatabaseVersion = 1038)

 AND exists (SELECT  1 FROM sys.indexes i INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id WHERE i.object_id = OBJECT_ID(N'dbo.LogMessage_Archive') AND i.name = 'PK_LogMessage_Archive' AND c.name = 'ID' AND type_desc = 'CLUSTERED')

BEGIN

	drop table dbo.LogMessage_Archive;

END

GO
  1. Redémarrer la mise à jour de la source de données.

Devolutions Forum logo Donnez-nous vos commentaires