命令行:D:\Test\ETL\InS\InS\Package.dtsx /DestServer iws-pc-19 /DestUser username /DestPassword password /COPY SQL;Test /Q
/Q表示若存在Test包则先将其删除
创建作业后要将包配置添加进来,包配置中只添加connectionString即可,当连接的数据库发生改变是更新下包配置就可以了 另外把sql server代理的登录帐户改为管理员 进行包配置时将该包的 ProtectionLevel 属性设置更改为DontSaveSensitive。
个人猜想,如果ConnectionString、InitialCatalog,、Name、Password、ServerName、UserName这些属性同时存在时,则以InitialCatalog,、Name、Password、ServerName、UserName配置的属性优先,否则以ConnectionString属性为准
3.使用存储过程或者sql语句调用包
可以从 xp_cmdshell 提示符下运行 dtexec。以下示例显示如何运行名为 UpsertData.dtsx 的包并忽略返回代码:
EXEC xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'
以下示例显示如何运行相同的包并捕获返回代码:
DECLARE @returncode intEXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'
3、在sqlserver2008的配置工具中,配置相关服务的启动方式,启动账户等。比如integration services的启动账户为Local Syster
sqlAgent的启动账户是可以是管理员,假如管理员名称为:administrator。
4、接下来的工作就是在sqlserver中的设置了,我们首先需要创建一个凭据如User1,并且这个凭据和我们刚才指定的管理员账户DavidZhang相关联,然后我们设置这个登录的管理员的相关信息使之和我们刚才创建的凭据关联起来,并且指定该管理员账户所对应的数据库映射及其服务器角色等。
5、接下来我们创建代理账户Package Account,使得新建的代理账户和我们刚才所创建的凭据相关联起来。
6、最后我们在SQL代理下面创建作业,启动代理服务的账户就选择我们刚才所创建的代理账户Package Account就可以了。
7、一步步的完成最后就可以直接运行了。
dtexec.exe /FILE "C:\_work\SSISPackages\ProtectionLevelTest\ProtectionLevelTest\AgentTesting.dtsx" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V /CONSOLELOG NCOSGXMT
参考:http://www.docin.com/p-251155987.html
http://technet.microsoft.com/zh-cn/library/ms162820.aspx
http://technet.microsoft.com/zh-cn/library/dd440760
http://www.cnblogs.com/gudujianxiao/archive/2012/07/17/2594869.html