Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Причини

Розглянемо таку ситуацію:

  • Зв'язаний сервер налаштовано на локальний сервер і віддаленого сервера, що обидва вони мають Microsoft SQL Server 2012 немає копій.

  • Локальний сервер налаштовано, за допомогою одного зіставлення, наприклад, без урахування регістру зіставлення.

  • Віддалений сервер, має об'єкт, який налаштовано в різних зіставлення з локального сервера, наприклад сортування з урахуванням регістру.

  • Підключення здійснюється від Microsoft JDBC-драйвер для SQL Server, також драйвер ODBC для Microsoft SQL Server, SQL бази даних OLE постачальник або SQL, Native Client локального сервера.

  • Драйвер виконує оновлення запит Transact-SQL, як використовувати оператор, який викликає sp_prepexec , збережені процедури на локальний сервер.

  • Запит оновлення в таблиці, на віддаленому сервері. Пакет оновлень містить стовпець об'єкт, який використовує інший зіставлення з локального сервера.

У цьому випадку може спостерігатися зниження продуктивності виконання запиту. Якщо встановити план виконання запиту на оновлення, може відображатися віддаленого сканування буде виконано на віддаленому сервері таблиці без фільтрації. Таким чином, цей запит може виконувати багато читає під час сканування віддаленого таблиці і потім завантажує, усі рядки на локальний сервер.

Наприклад, запит підготовлено локального сервера, на якому інстальовано за промовчанням, без урахування регістру співставлення і віддаленого сервера, має таблиця містить стовпець, який враховується T1 . Оновлення, перевірить усі рядки T1.
DECLARE @p1 INTEXEC sp_prepexec @p1 output, N'@P0 NVARCHAR(16), @P1 NVARCHAR(16)',
N'UPDATE RemoteServer.RemoteDatabase.dbo.T1 SET COL1=@P0 WHERE COL2=@P1',
N'a', N'a'
SELECT @p1

Причина

Ця проблема виникає в тому, що запит готовий оновлення сканування віддаленого таблиці під час зіставлення не відповідає на обох серверів.

Нові накопичувальне оновлення для SQL Server, містить усі виправлення, і усі виправлення безпеки, які входять до складу попередній сукупний пакет оновлень. Перевірте останній сукупний пакет оновлень для SQL Server:


Відомості про виправленняВиправлення доступне від корпорації Майкрософт. Проте, це виправлення призначене тільки для вирішення проблеми, описаної в цій статті. Застосовуйте це виправлення лише до систем, які зазнають цієї конкретної проблеми.

Якщо Виправлення доступне для завантаження, є розділ "Виправлення доступне для завантаження" на початку цієї статті бази знань. Якщо цей розділ не відображається, надішліть запит до клієнтської служби та підтримки Microsoft, щоб отримати виправлення.

Примітка. Якщо виникають додаткові проблеми, або потрібно виявлення проблем, можливо, доведеться створити окремий запит на обслуговування. Звичайні кошти на технічну підтримку будуть застосовуватися для додаткових питань і проблем, які не пов'язані з цим виправленням. Повний список телефонів служби підтримки користувачів і технічної підтримки, або створити окремий запит на обслуговування відвідайте веб-сайт корпорації Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримітка. У формі "Виправлення доступне для завантаження" відображається список мов, для яких це виправлення доступне. Якщо потрібна мова не відображається, то виправлення недоступне для даної мови.

Попередні вимогиЩоб застосувати це виправлення, слід SQL Server 2012, що інстальовано.

Інформація про реєстрЗміни до реєстру, після застосування цього виправлення не потрібно.

Відомості про заміну виправленьЦе виправлення не замінює жодних інших виправлень.


Стан

Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

Виправлення помилок

Для тимчасового рясніє цю проблему, скористайтесь одним із наведених нижче способів:

  • Не використовуйте готові оператори у вихідному коді клієнтського застосунку. Ви можна використати нерегламентованих звітів або викликаються оператори, наприклад, збережених процедур, якщо драйвер, підтримує ці інтерфейси.

  • Використовуйте відповідні зіставлення обох серверів.

Додаткові відомості

Щоб увімкнути прапор трасування, додавання параметрів запуску -T4199 або DBCC TRACEON(4199,-1) перш ніж готовий звіт, складений щоб увімкнути поведінку.

Скористайтеся одним із наведених нижче способів Увімкнення прапор трасування:

  • Перед початком SQL Server, використання Microsoft Диспетчер конфігурацій SQL Server, такі випадки, клацніть правою кнопкою миші та додайте параметр запуску -T4199 так, щоб він залишається перезавантаження та на всіх підключень до екземпляра в майбутньому.

  • Динамічно, Увімкніть параметр під час виконання, після того, як служба запускається і глобальний для всіх підключень, "(-1)." Переконайтеся, що звільнити кеш процедури, якщо ви плануєте робити тестування ключ, які ввімкнуто або вимкнуто.

    Увімкніть параметр за допомогою такого глобальний та динамічно:
    DBCC TRACEON(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE
    Вимкніть настройку за допомогою такого глобальний та динамічно:
    DBCC TRACEOFF(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE


Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×