【问题标题】:SSIS writing window username instead of service account while loggingSSIS在记录时写入窗口用户名而不是服务帐户
【发布时间】:2017-08-11 09:33:25
【问题描述】:

我已经使用 BIDS 实现了一个 SSIS 2008 包。我的包目前将异常和信息记录到数据库中。我正在通过 SQL 作业运行包。我已将作业配置为使用服务帐户运行。我面临的问题是,在写入日志时,我看到我的 Windows 凭据写入用户名列而不是服务帐户凭据。我正在使用我的 Windows 凭据通过 SSMS 运行该作业。有人告诉我,乔布斯将通过任何 DBA 人员运行,他们可能不会使用服务帐户登录。

以下是我作为服务帐户运行作业所遵循的步骤。

  1. 创建了一个以服务帐号为身份的凭据。
  2. 已创建与凭据关联的代理。
  3. 已将作业配置为使用代理帐户。

以下是我的包中的连接字符串。我已经删除了 Integrated Security=SSPI;并提供了服务帐户的用户名和密码,但收到一条错误消息,提示登录错误。

<DTS:Property DTS:Name="ConnectionString">Data Source=xxxxxxxxx;User ID=;Initial Catalog=xxxxxx;Provider=SQLNCLI10.1;Integrated Security=SSPI;Application Name=xxxxxx-{452DA0BD-2ACF-4780-9DB0-5A64ABB406A1}xxxxxx\xxxxxx.xxxxxxx;Auto Translate=False;</DTS:Property>

我注意到的另一件事是包中的创建者名称是我的 Windows 用户名。我尝试更新它,但没有成功。

使用事件处理程序记录错误

事件处理程序

dtscConfig 文件中的连接字符串

Data Source=xxx\xxx;Initial Catalog=xxx;Provider=SQLNCLI10.1;Integrated Security=SSPI;Application Name=xxx\xxxxxxx;Auto Translate=False;

【问题讨论】:

  • 包里面ProtectionLevel属性的值是多少?另外,您的 AD 帐户是 SQLAgent Roles 的成员吗?
  • 谁是 sqljob 的所有者,也可以分享一下你是如何输入用户名的
  • 包的保护级别是DontSaveSensitive
  • 将 sql 作业设置为作为服务帐户运行。
  • 使用事件处理程序处理错误。更新了帖子以显示

标签: sql-server ssis


【解决方案1】:

我已经解决了这个问题。我将 system:username 参数传递给已解决问题的存储过程

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多