我们有一个SQL Server作业,用于将数据从一个sql server传输到其他sql server m / c.Both m / c位于不同的位置。目前我们使用的是Linked server,但它的性能非常慢。 因此我们考虑使用SSIS传输数据。在POC测试阶段,SSIS给了我满意的结果。但我仍然对此有一些疑问,
作为替代路径,我可以将SQLBulkCopy与IDatareader一起使用。 提前谢谢..
答案 0 :(得分:1)
最好的方法是使用单独的应用程序来启动SSIS包。此控制台应用程序将能够从设置文件中读取加密密码并对其进行解密以便执行(用于插入连接字符串)。
然后,您的控制台应用程序可以遍历程序包中的所有连接管理器,并根据连接管理器的名称为每个管理器应用正确的连接字符串。
您需要引用SQL Server SDK程序集才能使其正常工作。此外,必须在将执行此应用程序的每台计算机上安装SQL Server Integration服务,否则SSIS将无法运行。
这是另一个问题的链接,该问题涉及如何以编程方式从.NET执行dtsx / SSIS包。 Can you run an SSIS task from .net?
答案 1 :(得分:1)
我建议你使用Windows受信任的身份验证,因为连接字符串中不需要登录或密码,也没有包密码,因为没有敏感信息。你真的应该停止使用SQL Server登录(而不是Windows登录),除非你有充分的理由。
两个SQL Server都需要属于同一个域,并且您需要将SQL Agent帐户设置为可以访问所需数据库的Windows帐户。