Microsoft разпространява Microsoft SQL Server 2008 Service Pack 1 (SP1) и Microsoft SQL Server 2008 R2 поправя като един файл за изтегляне. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишния SQL Server 2008 SP1 и SOL Server 2008 R2 Fix Release.
Симптоми
Обмислете следния сценарий:
-
Разрешете проследяването на промени на таблица в SQL Server 2008 или в SQL Server 2008 R2.
-
Изпълнявате заявка, използваща функцията CHANGETABLE , заедно с аргумента last_sync_version , за да се върне информацията за проследяване на промените, които са възникнали в таблицата.
-
Bigint стойност се предава като аргумент last_sync_version .
Например можете да изпълните следната заявка, след като разрешите проследяването на промените на таблица:
SELECT * FROM CHANGETABLE(changes dbo.t1, 2222222222) as ct
При този сценарий изпълнението на заявката е неуспешно и получавате следната информация:
MSG 1080, ниво 15, щат 1, линия 1Глобалният целочислена стойност стойността на bigint е извън диапазона.
Забележки
-
Типът на аргумента last_sync_version е дефиниран като bigint. Следователно заявката се очаква да се изпълни успешно.
-
стойността за bigint е контейнер, който представя стойността на bigint , която се предава като аргумента last_sync_version .
Решение
Информация за сборна актуализация
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 Service Pack 2
Корекцията за този проблем е издадена за първи път в кумулативната актуализация 4 за SQL Server 2008 Service Pack 2. За повече информация относно този пакет с кумулативна актуализация щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2527180 Кумулативна актуализация на пакета 4 за SQL Server 2008 Service Pack 2Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички актуални корекции и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 Fix. Microsoft препоръчва да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
2402659 SQL Server 2008 изгражда, които са издадени след инсталирането на SQL Server 2008 Service Pack 2 Спешните корекции за Microsoft SQL Server 2008 се създават за определени сервизни пакети на SQL Server. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 2 към инсталация на SQL Server 2008 Service Pack 2. По подразбиране всяка актуална корекция, която се предоставя в сервизния пакет на SQL Server, е включена в следващия сервизен пакет на SQL Server.
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Корекцията за този проблем е издадена за първи път в сборна актуализация 13. За повече информация как да получите тази кумулативна актуализация на пакета за SQL Server 2008 SP1, щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2497673 Кумулативна актуализация на пакета 13 за SQL Server 2008 Service Pack 1 Забележка Тъй като компилациите са кумулативни, всяко ново съобщение за корекция съдържа всички поправки и всички корекции на защитата, които са били включени в предишното издание на SQL Server 2008 SP1. Препоръчваме ви да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
970365 SQL Server 2008 изгражда, които са издадени след SQL Server 2008 Service Pack 1 е издадена
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Заобиколно решение
За да заобиколите този проблем, създайте променлива от тип bigintи след това прехвърлите променливата като last_sync_version аргумента на функцията CHANGETABLE . Например можете да изпълните успешно следната заявка:
DECLARE @v3 bigint = 2222222222SELECT * FROM CHANGETABLE(changes dbo.t1, @v3 ) as ct
Повече информация
За повече информация относно функцията CHANGETABLE за преговаряне – SQL посетете следния уеб сайт на Microsoft Development NETWORK (MSDN):
Обща информация за функцията CHANGETABLE за преговаряне – SQL