Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска.
Симптомы
На компьютере, на котором выполняется Microsoft SQL Server 2008 возникают одно или несколько из следующих проблем при создании связанного сервера с помощью поставщика собственного клиента SQL (Sqlncli.dll).
Примечание. Эти проблемы также возникают в Пакет обновления 3 (SP3) для Microsoft SQL Server 2005. Однако исправление, описанное в данной статье неприменимы к SQL Server 2005 с пакетом обновления 3.
Проблема 1
Рассмотрим следующий сценарий:
-
В среде SQL Server Management Studio откройте окно новый связанный сервер и создать связанный сервер, используя один из следующих вариантов настройки:
-
Поставщик собственного клиента SQL с Тип сервераSQL Server
-
Поставщик собственного клиента SQL (не SQL собственного клиента 10) Тип сервера , что другие источники данных
-
Поставщик Microsoft OLE DB для SQL Server Тип сервера , что другие источники данных
-
-
Разверните каталог Связанных серверов в среде SQL Server Management Studio для просмотра связанных серверов.
В этом случае неожиданного завершения работы службы SQL Server или мини-дамп повторно создается в папке журнала ошибок SQL Server. Такая ситуация будет повторяться до остановки службы SQL Server. Кроме того среда SQL Server Management Studio выводит следующее сообщение об ошибке:
Название: Microsoft SQL Server Management Studio
------------------------------
Не удается получить данные для этого запроса. (Microsoft.SqlServer.Management.Sdk.Sfc)
Для получения справки, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
Возникло исключение во время выполнения инструкции Transact-SQL или пакета. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает. (Microsoft SQL Server, ошибка: -2)
Примечание. Эта проблема не возникает при выполнении запроса к связанному серверу при использовании поставщика собственного клиента SQL в SQL ServerТип сервера .
Проблема 2
Рассмотрим следующий сценарий:
-
Создание связанного сервера с помощью поставщика Microsoft OLE DB для драйверов ODBC.
-
Источник данных ODBC создается с помощью поставщик собственного клиента SQL Server типа в другом источнике данных.
В этом случае связанный сервер не возвращает результатов.
Решение
Исправление этой уязвимости первого выпуска накопительного обновления 7 для SQL Server 2008 Пакет обновления 1. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:-
979065 Накопительный пакет обновления 7 для SQL Server 2008 Пакет обновления 1
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:-
970365 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 1
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 1 для установки SQL Server 2008 Пакет обновления 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'
Если Пакет обновления 1 (SP1) для SQL Server 2008 или более поздней версии 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.
Временное решение
Чтобы обойти эти проблемы, выполните следующие действия.
Workaround 1:
1. Удалите связанный сервер при сбое.
2. Создание нового связанного сервера с помощью поставщика 10.0 собственного клиента SQL Server (SQLNCLI10). Чтобы сделать...
а. Щелкните правой кнопкой мыши Связанные серверы и выберите Связанный сервер.
б. выберите другой источник данных и выберите 10.0 собственного клиента SQL Server для поставщика.
Workaround 2:
-
Создайте раздел реестра с именем «SQLNCLI» по следующему адресу:
HKLM\Software\Microsoft\DataAccess
-
Создайте запись реестра типа REG_DWORD, с именем «SQLOSPartitioning» в него.
-
Значение этой записи значение 0x0.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".
Дополнительные сведения
Правила программы |
Название правила |
Описание правила |
Версии продуктов, для которых вычисляется правило |
Советник по System Center |
Чтобы предотвратить повреждение памяти собственный клиент SQL SQL Server отсутствует обновление KB979779 |
На этом сервере присутствует поставщик собственного клиента SQL, который соответствует 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 щелкните следующий номер статьи базы знаний Майкрософт:
935897 добавочных модель обслуживания доступна из группы SQL Server для предоставления исправления для проблем, о которых сообщалось в
Дополнительные сведения о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499 Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Для получения дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт