this question has been asked before in different flavours, but I cant find a satisfactory answer.
We are an MS based shop and we have plenty of SQL 2016 databases. We also use SSIS 2016 a lot and in my area we exclusively use the catalog (SSISDB) deployment model.
A lot of our SSIS ETLs arent just simple loads or extracts. They are part of nightly batches. They run on a scheduler. A typical batch could be something like this
- run SSIS project A
- pick up some files produced by A
- ftp them somewhere and archive the originals
- pickup some other files and put them somewhere
- then run SSIS project B processing the above
- etc
Our batch scripts are typically python and we use DtExec to run the ETls. Our scheduler machine where the python scripts reside is never the same machine as the SSISDB or SSIS machine. We use DtExec to call out to the remote DB servers and invoke the ETLs.
The scheduler machine itself is not a DB server and does not have SQL 2016 installed only SSMS 2016 which gives us 32bit DtExec.
But now it appears I also need 64bit DtExec and it appears I will only get that if I install Integration Services on the scheduler box also.
This is a problem because of licensing and plus I dont want another SSIS service instance running there. It wont be used for anything anyway. I just want 64 bit client tools like DtExec.
The question is basically how do I get 64bit DtExec onto a machine that is not a SQL Server or even an Integration Services server. How do I get 64bit DtExec on a simple client machine?
Edit: On another note do I really need 64bit DtExec to run SSIS in 64bit mode on 64bit server? Surely thats a remote invocation and it shouldnt matter how many bits the DtExec client was compiled under?
Thank you for reading
Carsten