KB2216489 — ИСПРАВЛЕНО: сообщение об ошибке при попытке запуска пакета служб SSIS, содержащего компонент назначения SQL Server в задаче потока данных

Применяется к
Windows 7 Windows Vista SQL Server Management Studio SQL Server 2008 R2 SQL Server 2008 R2 Service Pack 1

Проблема

Рассмотрим следующий сценарий.

  • Вы создаете пакет служб SQL Server 2008 Integration Services R2 (SSIS) с компонентом назначения SQL Server в задаче "Поток данных".

  • Вы попытаетесь запустить этот пакет в системах, где включен контроль учетных записей (например, в Windows Vista или Windows 7), используя один из следующих способов:

    • Business Intelligence Development Studio (BIDS)
    • Обозреватель объектов SQL Server Management Studio (SSMS)
    • DTExec.exe
    • DTExecUI.exe

В этом сценарии может появиться сообщение об ошибке, похожее на следующее:

Примечание

[Место назначения SQL Server] Ошибка: не удалось подготовить массовую вставку SSIS для вставки данных.

[ССС. Pipeline] Ошибка: компонент "SQL Server Destination" не прошел этап предварительного выполнения и вернул код ошибки 0xC0202071."

Невозможно массовое копирование данных. Вам может потребоваться запустить этот пакет от имени администратора.

Заметки

  • Эти ошибки не возникают, если пакет запускается с использованием встроенной учетной записи администратора, созданной при установке операционной системы. Но это сообщение будет отображаться для всех остальных пользователей, включая тех, кто является членом группы локальных администраторов.
  • Проблема не возникает при выполнении того же пакета служб SSIS, что и задание агент SQL Server.
  • Второе сообщение об ошибке появляется только после установки SQL 2008 с пакетом обновления 2 (SP2).

Причина

Эта проблема возникает в системах, где включен UAC. Когда приложение (например, службы SSIS) запускается учетной записью, которая является членом группы "Администраторы", оно получает два маркера безопасности: маркер с низкими разрешениями и маркер с повышенными разрешениями. Маркер elevated-permissions используется только в том случае, если приложение явно запускается под учетной записью администратора с помощью параметра "Запуск от имени администратора ". По умолчанию служба SSIS всегда использует маркер низких разрешений, что приводит к сбою при подключении службы SSIS к компоненту назначения SQL Server.

Примечание. Если используется учетная запись, которая не входит в локальную группу "Администраторы", контроль учетных записей не отображается.

Решение

Сведения о пакете обновления для SQL Server 2008 R2

Чтобы устранить эту проблему, скачайте последний пакет обновления для SQL Server 2008 R2. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:

2527041 Как получить последний пакет обновления для SQL Server 2008 R2

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Эта проблема была впервые устранена в SQL Server 2008 R2 с пакетом обновления 1 (SP1) для SQL Server 2008 R2.

Временное решение

Обойти эту проблему можно одним из описанных ниже способов.

  • Если вы запускаете пакет из SSMS, BIDS или DTExecUI.exe, запустите эти средства из учетной записи администратора. Для этого нажмите кнопку "Пуск", наведите указатель мыши на пункт "Все программы", затем — SQL Server 2005 или SQL Server 2008, щелкните правой кнопкой мыши используемое средство и выберите команду "Запуск от имени администратора". Это запустит приложение с повышенными разрешениями встроенной учетной записи администратора, и пакет будет успешно выполнен.

    Аналогично, если вы запускаете пакет с помощью DTExec.exe, запустите его из командной строки с повышенными привилегиями. Для этого нажмите кнопку "Пуск", "Все программы", " Стандартные", щелкните правой кнопкой мыши пункт "Командная строка" и выберите "Запуск от имени администратора".

    Примечание. Если вы не входите в систему как администратор, вам будет предложено указать учетную запись администратора. В ответ введите имя администратора и пароль в диалоговом окне "Контроль учетных записей", а затем нажмите кнопку "ОК".

  • Замените компоненты назначения SQL Server в задачах потока данных, которые не выполняются, компонентами назначения OLE DB, указывающими на тот же диспетчер подключений SQL Server.

  • Используйте учетную запись, которая не является членом локальной группы "Администраторы", после назначения разрешения на создание глобальных объектов этой учетной записи.

    Для этого выполните указанные ниже действия.

    1. Нажмите кнопку "Пуск", наведите указатель мыши на пункт "Администрирование", а затем выберите пункт "Локальная политика безопасности".
    2. Разверните Локальные политики и щелкните Назначение прав пользователя.
    3. В области сведений дважды щелкните Создание глобальных объектов.
    4. В диалоговом окне "Параметры локальной политики безопасности " нажмите кнопку "Добавить".
    5. В диалоговом окне "Выбор пользователей или группы " щелкните учетные записи пользователей, которые нужно добавить, нажмите кнопку "Добавить" и нажмите кнопку "ОК" два раза.