【问题标题】:SSIS Deployment Error while deploying packages into SQL Server将包部署到 SQL Server 时出现 SSIS 部署错误
【发布时间】:2020-11-04 00:30:59
【问题描述】:

我正在尝试将 SSIS 包从 Visual Studio 2019 部署到 MS SQL Server 2016,我遇到了如下所示的部署错误:

““在执行用户定义的例程或聚合“deploy_project_internal”期间发生 .NET Framework 错误:System.ComponentModel.Win32Exception:客户端未持有所需的权限。”

经过几个小时的调试发现错误其实是来自SQL Server。 SQL Server 无法从 SSISDB“[catalog].[check_schema_version]”运行存储过程。

因此,我们意识到运行 SQL Server 的当前服务帐户具有某些特权。因此,我们创建了一个新的本地管理员帐户并提供了所有权限。

• 根据 Microsoft 的建议,我们在以下配置中添加了 SQl 服务器服务帐户和 SQL 服务器集成服务帐户: o 编辑了 DCOM 配置属性并提供了以下组件服务的本地启动和本地激活权限

 Microsoft SQL Server Integration Services 11.0、Microsoft SQL Server Integration Services 12.0 和 Microsoft SQL Server Integration Services 13.0

o 我们进一步扩展了两个服务帐户的权限,如下所示:

   Log on as a service .
   Permission to write to application event log.
   Impersonate a client after authentication.
   Adjust memory quotas for a process

以下是尚未添加的两个组策略:

   Bypass traverse checking 
   Replace a process-level token

我想知道这是否能解决问题,并请提出我们在此处遗漏的任何内容来解决问题。

【问题讨论】:

  • 如果你创建一个 SSIS 项目的“hello world”级别和类似级别的包,将它部署到服务器,它工作吗?这可以帮助消除它是否特定于您部署的项目或更一般的东西。是否有其他 SSIS 项目在此服务器上部署和运行?这个未能部署的新项目是否专门针对 SQL Server 2016?默认设置为 2019 年。
  • Billink,感谢检查,我试图部署的是一个简单的 SSIS 包。服务器上没有部署其他项目。这是我们第一次尝试将 SSIS 包部署到 SQL Server 上。 SSDT 工具与安装的 SQL Server 匹配。如前所述,在 sql server 中运行 check schema version 存储过程时也是如此

标签: sql sql-server deployment ssis service-accounts


【解决方案1】:

在实施破坏 WinRM 的新安全策略(禁用“允许通过 WinRM 进行远程服务器管理”)后,我遇到了这个问题。即使回滚更改后,我也无法部署 SSIS 包。我最终通过从安装盘运行“修复”SQL 选项然后重新启动服务器来解决问题。之后,部署工作正常。

【讨论】:

  • 关于此事的有用答案,但我建议您添加更多上下文。尤其是您最初从带有损坏的 WinRM 的 SSIS 部署中收到的错误消息。如果策略及其回滚仅带来 WinRM 的更改(并且仅此而已),您还应该准确。
【解决方案2】:

将新服务帐户添加到列出的组策略后,部署成功。

【讨论】:

  • 在 windows server 2016 中我无法编辑“替换进程级令牌”策略,我该如何解决?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多