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.
Exécuter cette requête SQL et voir s'il retourne 1038 :
SELECT DatabaseVersion FROM dbo.DatabaseInfo
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
Redémarrer la mise à jour de la source de données.