Microsoft разпространява корекциите на Microsoft SQL Server 2008 като един файл за изтегляне. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички горещи поправки и всички корекции на защитата, които са били включени в предишната SQL Server 2008 корекция издание.
Симптоми
На компютър, на който се изпълнява Microsoft SQL Server 2008, имате един или повече от следните проблеми, когато създавате свързан сървър с помощта на доставчика на SQL Native Client (Sqlncli.dll).Забележка: Тези проблеми възникват и в Microsoft SQL Server 2005 Service Pack 3 (SP3). Обаче актуалната корекция в тази статия не се отнася за SQL Server 2005 SP3.
Брой 1
Обмислете следния сценарий:
-
В SQL Server Management Studio отваряте прозореца Нов свързан сървър и създавате свързан сървър с помощта на една от следните настройки:
-
SQL Native Client доставчик с тип сървър като SQL Server
-
доставчик на SQL Native Client (не SQL Native Client 10) с тип сървър като друг източник на данни
-
Доставчик на OLE база данни на Microsoft за SQL Server с тип сървър като друг източник на данни
-
-
Разгънете каталога Свързани сървъри в SQL Server Management Studio, за да видите свързаните сървъри.
В този случай услугата SQL Server се изключва неочаквано или мини-вторично файл се генерира многократно в папката за регистриране на грешки на SQL Server. Този проблем продължава, докато услугата SQL Server бъде спряна. Освен това SQL Server Management Studio съобщава следната грешка:TITLE: Microsoft SQL Server Management Studio------------------------------Failed за извличане на данни за това искане. (Microsoft.SqlServer.Management.Sdk.Sfc)За помощ щракнете върху: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476------------------------------ДОПЪЛНИТЕЛНА ИНФОРМАЦИЯ:Възникна изключение при изпълнение на команда или партида Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)------------------------------Timeout изтече. Периодът на изчакване, изтекъл преди завършването на операцията или сървърът не отговаря. (Microsoft SQL Server, Грешка: -2)Забележка: Този проблем не възниква, ако изпълните заявка свързан сървър, когато използвате SQL Native Client доставчик с тип сървър като SQL Server.
Брой 2
Обмислете следния сценарий:
-
Създавате свързан сървър с помощта на Microsoft OLE DB доставчик за ODBC драйвери.
-
ODBC източникът на данни се създава с помощта на доставчик на SQL Native Client с тип сървър като друг източник на данни.
В този случай свързаният сървър не връща резултати.
Решение
Корекцията за този проблем е издадена за първи път в сборна актуализация 7 за SQL Server 2008 Service Pack 1. За повече информация относно този сборен пакет щракнете върху следния номер на статия в базата знания на Microsoft: -
979065Кумулативен пакет за актуализация 7 за SQL Server 2008 Service Pack 1 NoteBecause компилациите са кумулативни, всяка нова версия на корекция съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишните SQL Server 2008 корекция издание. Препоръчваме да помислите за прилагането на най-новата корекция версия, която съдържа тази актуална корекция. За повече информация щракнете върху следния номер на статия в базата знания на Microsoft: -
970365Компилации на SQL Server 2008, които са издадени след издаването на SQL Server 2008 Service Pack 1 Microsoft SQL Server 2008 горещи поправки за конкретни SQL Server сервизни пакети. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 1 за инсталиране на SQL Server 2008 Service Pack 1. По подразбиране всяка актуална корекция, предоставена в SQL Server сервизен пакет е включен в следващия SQL Server сервизен пакет.
Повече информация
Можете да потвърдите версията на Sqlncli.dll и Sqlservr.exe файлове, като изпълните следната заявка:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
Ако използвате Microsoft SQL Server 2008 Service Pack 1 (SP1) или по-нови версии на Microsoft SQL Server 2008, заявката ще върне следната информация за версията:
-
Файлът Sqlncli.dll ще има версия по-нова от 9.0:3207.0.
-
Файлът Sqlservr.exe ще има версия по-късна или равна на 10.0:2531.0, но по-стара от 10.0:2766.0.
Ако използвате Microsoft SQL Server 2008 RTM или по-нови версии на SQL Server 2008 RTM, заявката ще върне следната информация за версията:
-
Файлът Sqlncli.dll ще има версия, по-нова от версия 9.0:3207.0.
-
Файлът на Sqlservr.exe ще има версия по-късна или равна на 10.0:1600.0, но по-стара от 10.0:1835.0.
Заобиколно решение
За да заобиколите тези проблеми, следвайте тези стъпки:Заобиколно решение 1:1. Изтриване на проблемния свързан сървър.2. Създайте нов свързан сървър с помощта на доставчика на SQL Server Native Client 10.0 (SQLNCLI10). За да направите това: a. Щракнете с десния бутон върху Свързани сървъри и изберете Нов свързан сървър. B. Изберете Друг източник на данни и изберете SQL Server Native Client 10.0 за Доставчик.Заобиколно решение 2:
-
Създайте подключ от системния регистър с име "SQLNCLI" в следния път:
HKLM\Software\Microsoft\DataAccess
-
Създайте запис от REG_DWORD тип в системния регистър с име "SQLOSPartitioning" под този подключ.
-
Задайте стойността на този запис на 0x0.
Статут
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".
Повече информация
|
Софтуер за правила |
Заглавие на правило |
Описание на правилото |
Версии на продукти, спрямо които се изчислява правилото |
|
System Center Advisor |
SQL Server липсва актуализация KB979779 за предотвратяване на повреда на паметта на SQL native client |
Доставчик на SQL Native Client, който отговаря на SQL Server 2005, присъства на този сървър. Тази по-стара версия на SQLNCLI.dll може да бъде потенциално заредена в SQL Server 2008 и SQL Server 2008 R2 при изброяване на доставчици и създаване на свързани сървъри. Конкретните компилации на SQL Server 2008 и SQL Server 2008 R2 могат да изпитат проблеми и увисва, когато създавате или използвате свързан сървър, създаден с този засегнат SQLNCLI.dll. Актуализирайте засегнатите екземпляри на SQL Server 2008 и SQL Server 2008 R2 с необходимите корекции или избягвайте използването на тази SQLNCLI.dll при създаване на свързани сървъри. |
Препратки
За повече информация относно модела на постъпково обслужване за SQL Server щракнете върху следния номер на статия в базата знания на Microsoft:
935897 Моделът на постъпково обслужване е наличен от екипа на SQL Server да предостави горещи поправки за съобщени проблемиЗа повече информация относно схемата за именуване за SQL Server актуализации щракнете върху следния номер на статия в базата знания на Microsoft:
822499Нова схема за именуване на пакети за актуализацияна софтуер за Microsoft SQL Server за повече информация относно терминологията на софтуерната актуализация щракнете върху следния номер на статия в базата знания на Microsoft:
824684 Описание на стандартната терминология, която се използва за описване на актуализациите на софтуера на Microsoft