Корпорація Майкрософт розповсюджує виправлення Microsoft SQL Server 2008 як один файл, який можна завантажити. Оскільки виправлення сукупні, кожен новий випуск містить усі виправлення та всі виправлення системи безпеки, які входили в попередній випуск виправлення SQL Server 2008 року.
Ознаки
На комп'ютері під керуванням Microsoft SQL Server 2008 виникає одна або кілька з наведених нижче проблем під час створення зв'язаного сервера за допомогою постачальника SQL Native Client (Sqlncli.dll).Примітка. Ці проблеми також виникають у Microsoft SQL Server 2005 із пакетом оновлень 3 (SP3). Однак, виправлення в цій статті не застосовується до SQL Server 2005 пакетом оновлень 3.
Проблема 1
Розглянемо такий сценарій:
-
У SQL Server Management Studio відкрийте вікно Новий зв'язаний сервер і створіть зв'язаний сервер за допомогою однієї з наведених нижче настройок.
-
постачальник SQL Native Client із типом сервераяк SQL Server
-
постачальник SQL Native Client (не SQL Native Client 10) із типом сервера як інше джерело даних
-
Постачальник баз даних MICROSOFT OLE для 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------------------------------ADDITIONAL INFORMATION:Під час виконання оператора або пакета Transact-SQL стався виняток. (Microsoft.SqlServer.ConnectionInfo)------------------------------Timeout завершився. Проміжок часу очікування минув до завершення операції або сервер не відповідає. (Microsoft SQL Server, помилка: -2)Примітка. Ця проблема не виникає, якщо ви виконуєте запит зв'язаного сервера під час використання постачальника SQL Native Client з типом сервераяк SQL Server.
Проблема 2
Розглянемо такий сценарій:
-
Створення зв'язаного сервера за допомогою постачальника баз даних OLE Microsoft для драйверів ODBC.
-
Джерело даних ODBC створюється за допомогою постачальника SQL Native Client із типом сервера як інше джерело даних.
У цьому випадку зв'язаний сервер не повертає результатів.
Спосіб вирішення
Виправлення цієї проблеми вперше випущено в сукупному пакеті оновлень 7 для пакета оновлень 1 SQL Server 2008. Щоб отримати додаткові відомості про цей пакет сукупного оновлення клацніть номер статті в базі знань Microsoft Knowledge Base: -
979065Сукупний пакет оновлень 7 для пакета SQL Server 2008 із пакетом оновлень 1 ПриміткаПомить, що збірки сукупні, кожен новий випуск виправлення містить усі виправлення та всі виправлення системи безпеки, які входили в попередній випуск виправлення SQL Server 2008 року. Радимо застосувати останній випуск виправлення, який містить це виправлення. Щоб отримати додаткові відомості, клацніть номер статті в базі знань Microsoft Knowledge Base: -
970365Збірки SQL Server 2008 року, випущені після випуску пакета оновлень 1 SQL Server 2008 microsoft SQL Server 2008, створюються для певних пакетів оновлень SQL Server. Потрібно застосувати виправлення SQL Server 2008 з пакетом оновлень 1 до інсталяції пакета оновлень 1 SQL Server 2008. За промовчанням будь-які виправлення, які надаються в 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 із пакетом оновлень 1 (SP1) або новішої версії Microsoft SQL Server 2008, запит поверне такі відомості про версію:
-
Файл Sqlncli.dll матиме версію, пізнішу за 9.0:3207.0.
-
Файл Sqlservr.exe матиме версію пізніше або дорівнюватиме 10.0:2531.0, але раніше 10.0:2766.0.
Якщо ви використовуєте RTM-версію Microsoft SQL Server 2008 або новішу версію RTM SQL Server 2008, запит поверне такі відомості про версію:
-
Файл 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, перелічених у розділі "Стосується".
Додаткові відомості
|
Програмне забезпечення для правил |
Заголовок правила |
Опис правила |
Версії продуктів, для яких обчислюється правило |
|
Помічник системного центру |
SQL Server бракує KB979779 оновлення, щоб запобігти пошкодженню пам'яті власного клієнта SQL |
На цьому сервері існує постачальник 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 Knowledge Base:
935897 Інкрементна модель обслуговування доступна в команді SQL Server, щоб доставити виправлення для повідомлених проблем. Щоб отримати додаткові відомості про схему іменування для оновлень SQL Server, клацніть номер статті в базі знань Microsoft Knowledge Base:
822499Нова схема іменування для пакетівоновлення програмного забезпечення Microsoft SQL Server. Щоб отримати додаткові відомості про термінологію оновлення програмного забезпечення, клацніть номер статті в базі знань Microsoft Knowledge Base:
824684 Опис стандартної термінології, яка використовується для опису оновлень програмного забезпечення Microsoft