我正在使用VS 2017 SSDT 15.9.20创建一个SSIS包。包最初是在安装SSDT的服务器A中创建的,SQL服务器驻留在Server A中。因此,我在server A中创建了包,我在Server A中创建了一个SQL作业,并直接链接到运行DTSX文件而不部署它。
我的包做什么:
在服务器A中,我的包将在C:\Users\xxx\Documents\myproj\excelfile.xls位置读取excel,并在C:\User\xxx\Documents\myproj\file\文件夹中创建excel工作表。
部署:
现在,我想将这个包部署到ServerB。我的包将在\ServerB\S:\Documents\myproj\excelfile.xls位置读取excel,并在\ServerB\S:\Documents\myproj\file\文件夹中创建excel工作表。
我的问题:
我对SSIS很陌生。所以请不要结束这个问题,如果有人能帮我解决这些问题,那就太好了。谢谢!
发布于 2020-03-27 20:47:53
在不了解SQL版本的情况下,我将给出两个答案:
应该部署我的项目来创建dtsx文件吗?我的项目文件夹中已经有一个dtsx文件。我不能仅仅将该文件移动到服务器B并更改连接字符串和路径吗?它会那样工作吗?
小于SQL 2012的版本:将dtsx文件从项目复制到目标服务器上的文件夹。在SQL代理作业的配置中,或通过使用包配置,可以更改连接字符串:
版本更大的SQL 2012:在目标服务器上创建ssis目录:
右键单击项目并使用向导部署到目标服务器。如上所述,可以在SQL代理中修改连接字符串,也可以使用参数:
第二,我一开始似乎更多的工作,但有无数的好处,这是首选的做事方式。
SSIS部署工具不适合我从服务器A。它不确定目标servers.How可以轻松部署吗?如何更改目标路径?
遵循上述任何一种部署方法。包部署(将文件复制到文件夹)在以后的版本中仍然有效,但是管理起来不那么容易,而且为您做的事情也更少,比如保护配置和设置日志记录。
server安装了SSDT,而
数据库驻留在同一台服务器上。但是目标服务器B是数据库服务器,其中没有SSDT。我将在服务器B的SQL服务器中安排一个作业,调用我的dtsx包并执行它。
SSDT与SSIS没有关系,但是Integration确实有关系。 SSDT是一个开发人员工具,实际上只应该安装在开发人员机器上,以便创建包和测试。最好不要在服务器上出现这种情况,因为它鼓励开发人员在那里进行开发,并让开发人员登录到服务器,就像他们的笔记本电脑一样。Integration是Server附带的服务,用于执行包。如果要从SQL代理执行包,则需要将此服务添加到实例中。这个链接解释了这一点,并给出了在本地安装SSDT的指导:
https://stackoverflow.com/questions/60889955
复制相似问题