У меня есть пакет служб SSIS, который я хочу запустить в SQL Серверный агент T- SQL, использующий хранимую процедуру, поскольку у меня есть проблема с разрешениями, описанная в моем другом посте:
Использование Прокси для предоставления SQL Server Agent windows учетных данных для доступа к azure db не работает (все еще не решено)
Я создал контрольный пример, описанный ниже:
1. Пакет SSIS для запуска: вставьте строку в Azure базу данных
2.Script для выполнения пакета:
/* Create the execution object */
DECLARE @execution_id BIGINT
EXEC [SSISDB].[catalog].[create_execution]
@package_name = N'Package.dtsx'
, @project_name = N'test'
, @folder_name = N'test'
, @use32bitruntime = False
, @reference_id = NULL
, @execution_id = @execution_id OUTPUT
/* System parameters */
EXEC [SSISDB].[catalog].[set_execution_parameter_value]
@execution_id
, @object_type = 50 -- System parameter
, @parameter_name = N'SYNCHRONIZED'
, @parameter_value = 1
/* Execute the package */
EXEC [SSISDB].[catalog].[start_execution] @execution_id
/* Check package status, and fail script if the package failed
IF 7 <> (SELECT [status] FROM [SSISDB].[catalog].[executions] WHERE execution_id = @execution_id)
RAISERROR('The package failed. Check the SSIS catalog logs for more information', 16, 1)
PS: с этим кодом проблем нет. Он был успешно выполнен при запуске его в запросе.
3.Создание задания
Владелец: DOMAIN \ USER_NAME
Шаг (только один шаг):
Type: T-SQL
3.1 Database: master
Advanced --> run as user: blank
Error message:
"Executed as user: DOMAIN\LAPTOP-4I64GKE3$. The package failed. Check the SSIS catalog logs
for more information [SQLSTATE 42000] (Error 50000). The step failed"
3.2 Database: master
Advanced --> run as user: dbo
Error message:
"Executed as user: dbo. The server principal "sa" is not able to access the database
"SSISDB" under the current security context. [SQLSTATE 08004] (Error 916). The step
failed."
3.3 Database: SSISDB
Advanced --> run as user: blank
Error message:
"Executed as user: DOMAIN\LAPTOP-4I64GKE3$. The package failed. Check the SSIS catalog logs
for more information [SQLSTATE 42000] (Error 50000). The step failed"
3.4 Database: SSISDB
Advanced --> run as user: dbo
Error message:
"Executed as user: dbo. The operation cannot be started by an account that uses SQL Server
Authentication.
Start the operation with an account that uses Integrated Authentication.
[SQLSTATE 42000] (Error 27123) The operation cannot be started by an account that uses SQL
Server Authentication.
Start the operation with an account that uses Integrated Authentication.
[SQLSTATE 42000] (Error 27123) The operation cannot be started by an account that uses SQL
Server Authentication.
Start the operation with an account that uses Integrated Authentication.
[SQLSTATE 42000] (Error 27123). The step failed."
Конец тестового примера.
Кажется, что только подход с подходом 3.4 немного ближе к моей цели, но не уверен, что делать дальше.
Должен ли я попробовать другой комбинации или я должен создать пользователя имеет windows аутентификацию?
Любая идея помогает