【问题标题】:SSIS: Configuration of Dynamic Connection String Integrated Security ModeSSIS:动态连接字符串集成安全模式的配置
【发布时间】:2019-10-26 01:56:20
【问题描述】:

设置

在本地环境中,我们使用带有用户名和密码的 SQL 身份验证来连接数据库。我创建了一个项目连接管理器,它的表达式绑定到项目属性,用户名和密码设置为敏感。

在开发服务器上,当 SSIS 运行时,它需要使用 AD 帐户。我可能需要为 SQL 代理创建凭据/代理,但现在我以用户身份登录并通过 SQL 执行包。

问题

在 SSIS 项目本身中,我尝试配置一个动态连接字符串,以在一种情况下使用集成安全性,在另一种情况下使用 SQL 帐户。我只是不知道该怎么做。我尝试过的事情:

1- 创建了一个布尔“UseIntegratedSecurity”参数。在连接字符串中,使用该布尔值与表达式一起设置IntegratedSecurity=SSPI 或不设置,并且还使用表达式单独设置连接字符串的其他属性。不行,说无法建立连接字符串。

2- 创建一个布尔值“UseIntegratedSecurity”参数,并将我的连接字符串写成(丑陋的)类似:@[$Project::IntegratedSecurity] ? "Data Source="+@[$Project::SqlServerName]+";Initial Catalog="+@[$Project::SqlServerDatabase]+";Provider=SQLNCLI11.1;Auto Translate=False;Integrated Security=SSPI;" : "Data Source="+@[$Project::SqlServerName]+";Initial Catalog="+@[$Project::SqlServerDatabase]+";Provider=SQLNCLI11.1;Auto Translate=False;User ID="+@[$Project::SqlServerUsername]+";Password=" + @[$Project::SqlServerPassword]

它不起作用,因为 SqlServerUserName 和 SqlServerPassword 是敏感的,所以它拒绝了。

3- 尝试为 ConnectionString、服务器、数据库、用户、密码设置项目参数并将它们全部设置。在本地工作,但在服务器上,我得到“无效的授权规范”。

想法? 谢谢

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    您需要处理在一个环境中必须使用 SQL 身份验证,而在另一个环境中 - AD 身份验证的情况。
    这可以在SSIS Catalog Environment 变量的帮助下完成。创建项目文件时,Visual Studio 会自动为每个 OLEDB 连接管理器创建以下所谓的项目连接参数:

    • CM..ConnectionString
    • CM..InitialCatalog
    • CM..Password Created as sensitive param
    • CM..ServerName
    • CM..UserName

    OLEDB 就是一个例子,SSIS 为其他连接管理器类型创建了类似的参数。 重要的事实,您不必创建额外的项目参数。提到的参数是在正在构建的项目中创建的,并且存在于所有项目中。

    我们创建指定连接字符串、数据库名称(初始目录)、服务器名称等的环境变量。好事 - 首先应用连接字符串变量,然后使用其他变量进行修改。
    有关这些参数的更多详细信息,请参见 MS Docs。

    如果与您的情况相似,在开发环境中 - 使用 SQL Auth 为 SQL Auth 定义 Conn 字符串,并在相应的变量中指定用户名和密码。在使用 SSPI 的 QA 环境中 - 为 SSPI 重新设计了连接字符串,用户名和密码环境变量为空。

    【讨论】:

    • 完美,我会试试的。我想我错过了关于它们应用顺序的部分,这种不确定性让我感到困惑。我会回复你的:-D
    • @Tipx,重要的事实 - 您不必创建额外的项目参数。提到的参数是在正在构建的项目上创建的,并且存在于所有项目中。这很重要。
    • 一个问题。如果我不创建项目参数,开发人员在VS本地运行时如何配置它?我删除了 CM 的表达式,他们直接配置了 CM?我试试看!
    • 工作就像一个魅力!我认为那个故事的整个关键是你明确指出“这很重要”的部分。 :-
    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 2011-06-24
    • 1970-01-01
    相关资源
    最近更新 更多