I'm copying packages from one server to another. When the package is of the type Integration Services Package it's easy to move but when it is T-SQL, I don't know how to move it.
I've moved all packages of the type Integration Services Package now, I'm left with the T-SQL type.
I'm not using a code based method, I'm using the SSIS interface to move the packages over.
I have 15 jobs that use T-SQL within them and no packages. I want to move them all over.
Transfer Job Task
You can use Transfer Job Task to copy SQL agent Job from a server to another one
The Transfer Jobs task transfers one or more SQL Server Agent jobs between instances of SQL Server.
The Transfer Jobs task can be configured to transfer all jobs, or only specified jobs. You can also indicate whether the transferred jobs are enabled at the destination.
Transfer Jobs Task
There are plenty of articles found online, as example:
Transfer SQL Server Jobs Task and Transfer SQL Server Logins Task in SSIS
Generate Scripts via SSMS
You can simply generate SQL scripts and execute them on the other server:
How can I move SQL Server Agent Jobs to different systems?
Related
I have a question that might be very basic.
If I have a SSIS package where I have the Transfer DB task to transfer a database from a server with a SQL Server 2016 Instance to another server with an Instance SQL Server 2019,
Do I need to install SSIS for each instance on each server?
Do I need to create the catalog in both source and destination instances? or is it enough to create it only on the source instance? or it has to be on the destination?
Thanks!
SSIS is an ETL tool, so you'll install SSIS on the server that you want to designate as your ETL server. There are several common scenarios for where that server is located.
A stand-alone ETL server, which is neither the source nor the target of the current ETL job you're working on.
A separate ETL server that is an instance on the same server as either your current source or your current destination.
Your current source server
Your current destination server
You'll have to decide which scenario makes the most sense in your environment. At my current gig, we have a few dedicated ETL boxes, and we cluster the jobs on them by subject matter.
Previously, I worked in an environment where 10% of the ETL was importing data and 90% was manipulating it on one server. In that situation, it made sense to have the SSIS stuff all on the destination server so that we weren't moving data over the wire to transform it.
As your situation evolves, and you use more and more SSIS, you might change your mind. That's fine. It's not a trivial thing to change, but it's also not set in stone once you plunk SSIS down someplace.
Company is setting up new instances of SQL Server and because I have many SSIS jobs, the idea was to setup a dedicated SSIS server. It seems to be a relatively common practice and makes a lot of sense. You're removing the resources needed for SSIS off the main database server versus how we've done it historically which is to store the packages in a directory on the main database server and having SSIS compete with the same resources as the actual database. Here's where I am confused.
I was told by our DBA to place a copy of the SSIS package on a file share directory on the SSIS server. Then using the SQL Agent on the database server, create a job to run the package like normal where Package Source = "File System" and Package location being the file share directory and file name on the SSIS server. Problem is I don't see how that kind of setup accomplishes the goal of removing the execution of the package off the main database server. Won't the main database server still be executing the package thus impacting performance and all we're accomplishing is using the SSIS server as an external drive or place to store the actual .dtsx files?
The situation is that I have two DB servers with SQL Server, I need to transfer the data from Server A to Server B automatically every night.
So according to sql server data transfer from one server to another server, I created an SSIS project. And it manage to transfer data with good performance. But the question is, how do I export the project into SSIS package and run it every night?
I assume you are still running it from Visual Studio. To schedule it daily you will need to do the below,
Deploy your project to a SQL Server
Create an Agent job and schedule it.
Found a good article, sharing that with you here.
https://www.mssqltips.com/sqlservertutorial/9069/deploy-and-schedule-an-sql-server-integration-services-ssis-package-step-by-step/
You can either store the package as in the file system or in the SSIS catalog. I would say that storing it in the SSIS catalog is the best way to go here.
Before you deploy your package to the SSIS catalog you need to make sure that integration services is installed on your server as well as that the SSIS catalog has been created.
How to create ssis catalog
If all above is OK then proceed and deploy your package and create an agent job. Please notice that you need to set up permissions for the sql agent account so it can access your databases.
I need to build connectivity between Influx and a SQL Server database to transfer data from Influx to SQL Server periodically.
Ideally I would like to have a stored procedure in SQL Server which connects with Influx and gets the required data. This procedure will be scheduled using a SQL Server Agent Job.
Will appreciate any answers regarding the possibilities to achieve the requirement.
Start with the SSIS Data Streaming Destination. This will enable you to have a view in SQL Server that returns the results of running a package.
An SSIS package, in turn, can connect to data sources without loading drivers in the SQL Server process, or can run custom .NET code to interop, or orchestrate running external processes that generate files, and then return the file contents.
So whatever the mechanism of data extract from influxdb turns out to be, an SSIS package using the Data Streaming Destination can be an adapter for you to read that data from inside SQL Server.
I have 6 ssis packages. All packages are for loading flat files into sql server table. I have created a sql server agent job to automate the flat file load process and put all packes exxecution in different steps. If the first file fails to load into the SQL server table, all the succeeding steps (packages) should not execute. Can I create a transaction to in sql server agent to do this?
Thank you for your help and time.
Change your job step to "Quit the job reporting failure" for the On Failure setting. No need for transactions at all.