Выполнение пакета служб SSIS с проверкой подлинности SQL - PullRequest
0 голосов
/ 15 января 2019

У меня есть пакет служб SSIS, который общается с удаленным сервером по HTTP. Я выполняю пакет служб SSIS с помощью хранимой процедуры в моей базе данных (SQL Server 2012), которая вызывается с веб-сервера. Веб-сервер подключается к базе данных с помощью аутентификации Windows. Теперь мне нужно запустить хранимую процедуру (и, следовательно, пакет служб SSIS) с клиента, который не поддерживает проверку подлинности Windows. Пакет служб SSIS достаточно сложен, поэтому переход на другое решение невозможен.

В пакете служб SSIS передаются сложные переменные. Хранимая процедура, которая запускает пакет, выглядит примерно так:

CREATE PROCEDURE [dbo].[SSISPackage]
    @Parameter1 XML
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @execution_id BIGINT
    EXEC [SSISDB].[catalog].[create_execution] 
      @package_name=N'Package.dtsx',
      @execution_id=@execution_id OUTPUT,
      @folder_name=N'API',
      @project_name=N'APIProject',
      @use32bitruntime=False,
      @reference_id=Null

    EXEC [SSISDB].[catalog].[set_execution_parameter_value] 
      @execution_id,
      @object_type=30,
      @parameter_name=N'Parameter1',
      @parameter_value=@Parameter1

    EXEC [SSISDB].[catalog].[start_execution] @execution_id     
END

Из того, что я читал, невозможно запускать пакеты служб SSIS с пользователями, аутентифицированными с использованием аутентификации SQL Server.

Мои вопросы:

  1. Можно ли как-то повысить привилегию пользователя SQL до пользователя Windows-auth, а затем выполнить хранимую процедуру.
  2. Существуют ли типичные подходы к решению этой проблемы (например, CLR, таблица очередей, вызов командной строки для пакета)?

1 Ответ

0 голосов
/ 15 января 2019

Я не думаю, что вы можете выполнить это с использованием аутентификации SQL Server, вы получите следующее исключение:

Операция не может быть запущена учетной записью, использующей проверку подлинности SQL Server. Запустите операцию с учетной записью, использующей проверку подлинности Windows

Существует множество обходных путей, проверьте следующие ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...