KB2518808-FIX: "uttryck: (pCopySrc-Command) <= (int) cmdLength" visas när du lägger till en kolumn i en tabell som publicerats i en transaktions publicering i SQL Server 2008 R2

Microsoft distribuerar Microsoft SQL Server 2008 R2-korrigeringsfiler som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den tidigare versionen av SQL Server 2008 R2.

Symptom

Tänk dig följande situation:

  • Du skapar en transaktions publicering i SQL Server 2008 R2.

  • Du lägger till en tabell som en artikel i publikationen.

  • Du initierar transaktions publiceringen och du skapar den första ögonblicks bilden.

  • Du försöker att köra en fråga för att lägga till en ny kolumn i tabellen. Du försöker till exempel köra följande fråga för att lägga till kolumnen <kolumn namn> i <tabell namn> tabell:

    Alter table <table name> add <column name> int null

I det här scenariot körs inte frågan och du får ett fel meddelande av följande slag:

Plats: replschema. cpp: 1305Expression: (pCopySrc-Command) <= (int) cmdLengthSPID: <SPID>process-ID: <process-ID>

Meddelande 4902, nivå 16, tillstånd 1, rad 2Cannot hitta objektet <tabell namn> eftersom det inte finns eller om du inte har behörighet. När det här problemet uppstår loggas följande fel meddelande i SQL Server-fellogg filen.

Eller så kan följande fel meddelande visas:

Meddelande 3624, nivå 20, State 1, procedur sp_replflush, kontroll av rad 1A-system misslyckades. Mer information finns i fel loggen för SQL Server. Vanligt vis orsakas ett kontroll fel av ett program fel eller skadade data. Överväg att köra DBCC CHECKDB för att kontrol lera att databasen är skadad. Om du har kommit överens om att skicka dump till Microsoft under installationen skickas en mini-dumpning till Microsoft. En uppdatering kan vara tillgänglig från Microsoft i senaste Service Pack eller i en QFE-teknik från teknisk support.

Dessutom loggas följande poster i fel loggen:

2011-03-25 08:56:14.71 spid55 error: 17066, allvarlighets grad: 16, State: 1.2011-03-25 08:56:14.71 spid55 SQL Server Assertion: File: <replschema. cpp>, Line = 1305 misslyckades Assertion = ' (pCopySrc-Command) <= (int) cmdLength '. Det här felet kan vara tidsrelaterat. Om felet kvarstår efter att du har kört instruktionen kan du använda DBCC CHECKDB för att kontrol lera databasens strukturella integritet eller starta om servern för att säkerställa att data strukturer i minnet inte är skadade. 2011-03-25 08:56:14.92 spid55 fel: 3624, allvarlighets grad: 20, State: 1.2011-03-25 08:56:14.92 spid55 en kontroll av systemkontroll Mer information finns i fel loggen för SQL Server. Vanligt vis orsakas ett kontroll fel av ett program fel eller skadade data. Överväg att köra DBCC CHECKDB för att kontrol lera att databasen är skadad. Om du har kommit överens om att skicka dump till Microsoft under installationen skickas en mini-dumpning till Microsoft. En uppdatering kan vara tillgänglig från Microsoft i senaste Service Pack eller i en QFE-teknik från teknisk support.

Lösning

Kumulativ uppdaterings information

SQL Server 2008 R2 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1 för SQL Server 2008 R2 Service Pack 1. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2544793 Kumulativt uppdaterings paket 1 för SQL Server 2008 R2 Service Pack 1Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2567616 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 Service Pack 1 släpptes SQL Server 2008 R2 Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 7. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:

2507770 Kumulativt uppdaterings paket 7 för SQL Server 2008 R2 Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

981356 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 släpptes

Lösning

Undvik det här problemet genom att ändra tabell namnet så att det innehåller färre än 8 tecken.

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×