Symptomen
In een transactionele replicatie in een Microsoft SQL Server, een artikel in een SQL-query is een lege tekenreeks in een doeltabel (@destination_table = N ' ') in een Transact-SQL-instructie. In dit geval wordt de volgende foutberichten worden weergegeven in de opgegeven locaties:
-
In de Snapshot agent:
Waarde kan niet leeg zijn. Naam: strObjectName
-
In de agent voor logboekweergave:
Het proces kan niet worden uitgevoerd 'sp_replcmds' op 'SERVER'
-
In het foutenlogboekbestand:
Bevestiging van SQL Server: Bestand: < replrowset.cpp >, regel = 2853 mislukt Assertion = 'dwColLen'.
Opmerking Deze fout kan zijn timing is gerelateerd. Als de fout blijft optreden nadat u de instructie opnieuw uitvoeren, gebruikt u DBCC CHECKDB aan de database voor de structurele integriteit controleren. Of opnieuw opstarten van de server om ervoor te zorgen dat gegevens in het geheugen structuren niet beschadigd zijn. Een dump-bestand is gemaakt in de map \Log de details van de bevestiging bevat.
Opmerking De tweede en derde fouten worden geactiveerd alleen als de publicatie is de optie direct synchroniseren is ingeschakeld.
Oorzaak
Dit probleem treedt op omdat een lege tekenreeks niet de naam van een geldige bestemming in tabel is.
Tijdelijke oplossing
U kunt dit probleem omzeilen, stelt u de naam van een geldige bestemming in tabel of de naam van de tabel ongeldig doel verwijderen.