KB2518808-FIX: "Expression: (pCopySrc-Command) <= (INT) cmdLength" грешка при добавяне на колона към таблица, публикувана в публикация за сделка в SQL Server 2008 R2

Microsoft разпространява Microsoft SQL Server 2008 R2 поправя като един файл за изтегляне. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 R2.

Симптоми

Обмислете следния сценарий:

  • Можете да създадете публикация за сделка в SQL Server 2008 R2.

  • Можете да добавите таблица като статия в публикацията.

  • Инициализирате публикацията за сделка и генерирате първоначалната снимка.

  • Опитвате се да изпълните заявка, за да добавите нова колона в таблицата. Например се опитвате да изпълните следната заявка, за да добавите <име на колона> на колоната <име на таблица> таблица:

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

В този случай заявката не се изпълнява и получавате съобщение за грешка, подобно на следното:

Местоположение: replschema. CPP: 1305Expression: (pCopySrc-Command) <= (INT) cmdLengthSPID: <SPID>процеса ИД: <процес ИД>

MSG 4902, Level 16, State 1, Line 2Cannot намери обекта <име на таблицата> , защото не съществува или нямате разрешения. Когато възникне този проблем, се записва следното съобщение за грешка в регистрационния файл за грешки на SQL Server.

Или може да се натъкнете на следната малко по-различна грешка:

MSG 3624, Level 20, State 1, процедура sp_replflush, проверка на системата на линия 1A е неуспешна. Проверете регистрационния файл за грешки на SQL Server за подробни данни. Обикновено неуспешно твърдение е причинено от софтуерна грешка или повреда на данни. За да проверите за повреда на база данни, обмислете изпълнението на DBCC CHECKDB. Ако сте се съгласили да изпращате дъмпове на Microsoft по време на инсталирането, ще бъде изпратено мини сметище на Microsoft. Възможно е да има налична актуализация от Microsoft в последния сервизен пакет или в QFE от техническа поддръжка.

Освен това следните записи се записват в регистрационния файл за грешки:

2011-03-25 08:56:14.71 spid55 грешка: 17066, тежест: 16; щат: 1.2011-03-25 08:55:14.71 spid55 SQL Server: файл: <replschema. CPP>, Line = 1305 неуспешно твърдение = (pCopySrc-Command) <= (INT) cmdLength ' '. Тази грешка може да е свързана с времето. Ако грешката все още е неуспешна след повторно изпълнение на командата, използвайте DBCC CHECKDB, за да проверите базата данни за структурна цялост или рестартирайте сървъра, за да се гарантира, че структурата на данните в паметта не е повредена. 2011-03-25 08:56:14.92 spid55 грешка: 3624, тежест: 20; щат: 1.2011-03 Проверете регистрационния файл за грешки на SQL Server за подробни данни. Обикновено неуспешно твърдение е причинено от софтуерна грешка или повреда на данни. За да проверите за повреда на база данни, обмислете изпълнението на DBCC CHECKDB. Ако сте се съгласили да изпращате дъмпове на Microsoft по време на инсталирането, ще бъде изпратено мини сметище на Microsoft. Възможно е да има налична актуализация от Microsoft в последния сервизен пакет или в QFE от техническа поддръжка.

Решение

Информация за сборна актуализация

SQL Server 2008 R2 сервизен пакет 1

Корекцията за този проблем е издадена за първи път в сборна актуализация 1 за SQL Server 2008 R2 Service Pack 1. За повече информация как да получите тази сборна актуализация, щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:

2544793 Кумулативна актуализация на пакета 1 за SQL Server 2008 R2 Service Pack 1Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички поправки и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 R2. Препоръчваме ви да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2567616 SQL Server 2008 R2 изгражда, които са издадени след SQL Server 2008 R2 Service Pack 1 е издадена SQL Server 2008 R2 Корекцията за този проблем е издадена за първи път в сборна актуализация 7. За повече информация как да получите тази кумулативна актуализация на пакета за SQL Server 2008 R2, щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:

2507770 Кумулативна актуализация на пакета 7 за SQL Server 2008 R2 Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички поправки и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 R2. Препоръчваме ви да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

981356 SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2

Заобиколно решение

За да заобиколите този проблем, променете името на таблицата така, че да съдържа по-малко от 8 знака.

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×