以与 SSISDB 不同的用户身份执行 SSIS 包

2023-12-26

我们要求用户使用代理帐户并引用输入参数来执行 SSIS 包。

下面演示了用于调用包执行的语法...

DECLARE @ExportID INT = 1;
DECLARE @ExecutionID INT;

EXECUTE AS [proxy_account]  

EXEC [SSISDB].[catalog].[create_execution]
    @folder_name = 'DW',  
    @project_name = 'DW_ETL',  
    @reference_id = NULL,  
    @use32bitruntime = 1,  
    @execution_id = @ExecutionID OUTPUT;

EXEC [SSISDB].[catalog].[set_execution_parameter_value]  
    @execution_id = @ExecutionID,  
    @object_type = 30,  
    @parameter_name = 'ExportID',  
    @parameter_value = @ExportID;

EXEC [SSISDB].[catalog].[start_execution]  
    @execution_id = @ExecutionID;

REVERT

这导致出现以下错误消息:

当前的安全上下文无法恢复。请切换到调用“执行方式”的原始数据库并重试。

跟踪代码,发现以下代码SSISDB.catalog.start_execution and SSISDB.internal.prepare_execution存储过程

EXECUTE AS CALLER
...  
REVERT

这导致该语句失败,因为它覆盖了尝试指定的代理帐户。通过注释掉 REVERT 语句SSISDB.catalog.start_execution and SSISDB.internal.prepare_execution,代码以代理帐户成功执行。

我并不热衷于绕过开发人员出于某种原因而放入的代码,但我需要一种方法来通过存储过程作为代理帐户执行该语句,并且此方法有效。任何人都可以建议使用替代版本是否会产生任何后果SSISDB.catalog.start_execution and SSISDB.internal.prepare_execution不引用 REVERT 的存储过程?

Thanks,

Ian


要以与 SSISDB 不同的用户身份执行 SSIS 包,您需要利用 SQL Server 代理中的某些功能。

您需要创建一个对 SSIS 数据库具有 db_datareader 访问权限的凭据。您需要设置一个有权执行集成服务包的代理。

最后,一旦您完成了这些先决条件设置,您就可以创建一个 SQL Server 代理作业,该作业以您设置的任何代理帐户的身份从 Integration Services 目录运行您的 SSIS 包。

这是一篇文章,提供了有关如何设置我上面描述的内容的更详细方法:https://www.mssqltips.com/sqlservertip/2163/running-a-ssis-package-from-sql-server-agent-using-a-proxy-account/ https://www.mssqltips.com/sqlservertip/2163/running-a-ssis-package-from-sql-server-agent-using-a-proxy-account/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以与 SSISDB 不同的用户身份执行 SSIS 包 的相关文章

随机推荐

  • Selenium 2 WebDriver NoClassDefFoundErrorS

    我正在与Selenium 2 WebDriver在 Eclipse 中一切正常 但是 当我想在没有 Eclipse 的情况下测试我的 WebDriver 测试用例时 会发生许多丢失的类 首先它开始于 NoClassDefFoundError
  • 使用 Scala 读取 Excel 文件

    我正在编写一个快速测试 使用电子表格中的数据注册用户 想法是转到网站 gt 单击注册 gt 读取Excel行A1和B1的电子邮件和密码 gt 在注册网站上使用此数据 gt 完成注册 gt 注销 gt 使用A2和B2行中的信息注册新用户 gt
  • UICollectionView不显示图片[重复]

    这个问题在这里已经有答案了 我正在显示所有目录中的图片 但是它不显示图片 我将 NSLog 放入代码中 以便我可以找出哪些代码正在运行 并且我只在日志中得到 j 我在日志中没有看到 a 你觉得哪里不对 void viewDidLoad su
  • 更新 Spacy 的内置 NER 模型而不是覆盖

    我正在使用 Spacy 的内置模型en core web lg并想使用我的自定义实体来训练它 在这样做的同时 我面临两个问题 它会用旧数据覆盖新的训练数据 并导致无法识别其他实体 例如 训练之前 它可以识别 PERSON 和 ORG 但是训
  • importxml google 电子表格 - 新 Google 表格中出现“无法解析 xml 内容”错误

    我试图从谷歌电子表格上的链接获取一些详细信息 Link http www justdial com Gurgaon Travel Agents ct 302 http www justdial com Gurgaon Travel Agen
  • Silverlight 3 中的剪贴板支持

    我正在考虑开发一个在 DataGrid 中显示大量信息的 Silverlight 应用程序 我希望以某种方式让用户能够通过剪贴板将其复制到 Excel 中 这在 Silverlight 3 中可能实现吗 不可以 SL3 中不提供此功能 请阅
  • 我需要在 BlackBerry Webworks 应用程序中嵌入 > 4MB 的内容文件(适用于 BlackBerry 6/7)。我有什么选择?

    我正在开发一个内容丰富的 Webworks 应用程序 为了使应用程序有用 它需要维护一个本地内容数据库 SQL 形式大约 4MB 进一步减少数据库的唯一方法是删除整个内容类别 我最初的想法是 我将 SQL 文件嵌入到应用程序中 就像 CSS
  • 如何以编程方式滚动到 WinRT 中文本框的底部?

    我正在为 WinRT 编写一个简单的应用程序 但我无法找到一种在代码中自动滚动到文本框底部的方法 我正在将日志信息写入文本框 并希望它滚动 以便最新的条目在框中可见 但似乎没有任何效果 以下是我尝试过的一些事情 将文本框放置在 Scroll
  • Kafka - 代理:消息大小太大

    I get Message size too large当我尝试发送超过 1 Mb 大小的消息时出现异常 当我尝试生成消息时 该错误出现在我的客户端应用程序中 经过一番谷歌搜索后 我发现应该更改设置以增加最大消息大小 嗯 我在 kafka
  • Popover segue 到静态单元 UITableView 导致编译错误

    我目前有一个带有两个视图控制器的应用程序 第一个是具有嵌入式表视图的视图控制器 该表视图具有动态单元格 第二个是带有静态单元格的表视图控制器 如果我通过选择动态表的单元格之一将 Segue 添加到静态表视图控制器 使用 Push 或 Mod
  • 在 Netbeans 中更快地搜索文件

    是否有现有的插件或调整可以加速 Netbeans 中的 转到文件 搜索 与 Eclipse 相比 Netbeans 搜索速度太慢 特别是如果有多个大型项目 I know I can use CTRL O for Go To Type but
  • fopen什么时候会失败?

    在我的 PHP 代码中 我打开一个文件并向其中附加文本 我使用这段代码 ourFileHandle fopen ourFileName a or die can t open file 当加载 PHP 页面时会发生这种情况 现在如果两个人同
  • 如何从程序中删除日志调试语句

    我在用boost log作为我的 C 程序的记录器 在开发过程中我经常这样使用它 例如 define LOG severity BOOST LOG SEV boost logger get severity define LOG ERR L
  • 学习嵌入式编程的最佳平台? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我可以在生产中使用 IOSurface 框架录制屏幕吗

    如果我使用 IOSurface 框架制作我的应用程序的视频 苹果会拒绝我的应用程序吗 是的 如果您链 接 IOSurface Apple 将拒绝您的应用程序 商店中的一些项目正在使用它 但他们可能会在运行时加载它 iOS 应用 Displa
  • Swift 2 将 Json 解析为数组的可选

    我正在从网络服务获取国家 地区列表 收到后我用这段代码来处理它 if let json try NSJSONSerialization JSONObjectWithData data options as NSDictionary trig
  • 在 AWS Step Functions 中,可以使用静态字符串格式化参数值吗?

    在 AWS Step Functions 中 我们可以使用以下语法将之前步骤中的参数用作输入 Parameters Details weight product weight unit grams 举个例子 说product weight
  • Swift 中的 PerformSelector 的替代品?

    The performSelector方法族在 Swift 中不可用 https developer apple com library prerelease ios documentation swift conceptual build
  • SQLSTATE[HY000]:一般错误:Laravel 发生 2053 错误

    首先 我的环境是LAMP M代表MariaDB 整个错误是 SQLSTATE HY000 General error 2053 SQL UPDATE Demos SET Hit ifnull Hit 0 1 WHERE id 27 模型中的
  • 以与 SSISDB 不同的用户身份执行 SSIS 包

    我们要求用户使用代理帐户并引用输入参数来执行 SSIS 包 下面演示了用于调用包执行的语法 DECLARE ExportID INT 1 DECLARE ExecutionID INT EXECUTE AS proxy account EX