deployment to another server - ssis

How to deploy the SSIS package to another server ? What are the steps to be done for deployment in an another server ?

We use configurations (ours are in the datbase but it's simpler to start with file configurations.). I n the menu for SSIS choose configurations and set them up for dev and create a file. Test to amke sure the configurations work porperly. Then open the file and save a qa version after editing for the qa locations and a prod version after editing for the prod locations.
Then copy the config file to it's designated locatoin and the SSIS packa ge to it's designated location (again we use files for this not directly in SSMS although I think you can use SSMS if it is set up for this.)
THen schedule a job telling it to run the package.

Related

Cannot Open DataFile SSIS Package via SSMS

Background
Created package in BIDS.
Deployed to SSMS
Package writes files to a CSV file in a network fileserver.
The default name of the package's flat file destination is $path\workcsvout.csv
Package derives filename from an expression
Issue
When I configure and run from SSMS, it fails with Error DFT -Extract to File:Error:Cannot open the datafile "........\DerivedFilename.
Troubleshooting
Verified the file exists in directory - used flat file destination temp filename, before derived filename - still failed
changed name to file it was trying to open - still failed
I am running job from my login in SSMS, via SSISDB - Projects - Package - .dtsx package - Execute
See pictures below and advise if more information is needed.
Thanks
Ensure Visual Studio isn't open after attempting to either run the package directly from the Integration Services Catalog as I have found that VS can hang onto a connection to the files you are writing to and it can throw similar errors.
Ensure the account configured for the package has sufficient permissions in all the areas it needs to write to.
After VS is closed and permissions are all set in step 2, try executing the package directly inside the Integration Services Catalog in SSMS. If this works, move to step 4. If this doesn't work, troubleshoot the errors and ensure security is all setup properly and you are executing the package with the same account.
If you are here, I will assume you want to schedule the package. Ensure that the owner is the same account used in step 2. Check the "Run As" account in Step in the job, if that account is not the same as step 2 then you either need to make it the same or give that account the same access as the account used in step 2.
I went through this troubleshooting process and it solved my issue. I also was building files on a general UNC file path like \servername\folder\folder without needing to do any local business with \servername\d$\folder\folder that other people recommend.
I would check to make sure that your SQL Server service account has full rights to the landing folder.
After experiencing the same issue as you, I finally checked the folder permissions that were created for our SQL Server service account. Come to find out that it was missing the "Full Control" and "Modify" folder permissions. Once I granted these to our service account, the issue went away.
Folder Permissions Dialog Box
Troubleshooting:
Can you try to create file on local and then move the file using File System Task.
I was trying to pump the data which is in csv file.
Closing the visual studio and closing the csv file which was opened in another machine resolved the problem

Is it possible to export/import all connections within SSIS?

Does SSIS 2012 allow to export all connections of a project for a further import into another project?
In 2012 SSIS projects, you now have 2 options. The classic, pre 2012 way which is referred to as Package Deployment Model. The new, default, model is the Project Deployment Model. This answer focuses on the Project Deployment model.
Before you begin any manual edits of files, use a version control system. While you can edit XML by hand, you need to have a safe recovery point in case you pooch the files.
In SSIS 2012, you can have Connection Managers scoped to packages as you've always done or they can now be a shared, project wide connection. Project connection managers show up in every package in SSDT, whether you need them or not. They are prefaced with (project).
If you've created a package Connection Manager that you wish to make into a project resource, simply right click on the CM and select Convert to Project Connection.
One caveat if you reverse that, the Convert to Package Connection is only going to create that CM in the current package. That's not such a hassle when it's 2 or 3 packages, but when it's 20ish, that gets tedious.
A Project Connection Manager has a physical file associated with it. In your project's folder, there will be .conmgr file for each connection manager. That defines the connection all the packages share. However, packages only "know" about the connection manager because of data in the .dtproj file.
If I wanted to re-use an existing project connection manager in a new project, I'd need to copy that file into my new projects folder. After that, I'd have to edit the .dtproj file and add that file's name in between the ConnectionManagers tag
<DeploymentModelSpecificContent>
<Manifest>
...
<SSIS:ConnectionManagers>
<SSIS:ConnectionManager SSIS:Name="PackageCM.conmgr" />
</SSIS:ConnectionManagers>
Now when SSDT opens the project file up, you should have a project CM exposed.
I don't think there's import/export connections utility in SSIS. You could, however, create package configuration file and include your connection managers in it. Then you can edit the file to run your package on different environment, or use values in it to update configuration file of another package.
resource:
http://msdn.microsoft.com/en-us/library/ms141132.aspx
Right click on the connection. Copy the connection Manager and paste in required package

Overridding SSIS Environment variable

I have set up a Package Configuration where the Configuration Type is (Indirect XML Configuration File). Where the Environment Variable is pointing to the C:\SSIS\MasterConfig\MasterConfig.dtsConfig file.
This working great and allows easy migration from Test to UAT to Production.
The problem is in our Development environment where each developer has their own DB. I am trying to set up an Agent Job for each developer where the Agent Job would override the Master Configuration File. The agent job command line is":
/FILE "C:\SSIS\Packages\Developer1\LoadPackage.dtsx" /CONFIGFILE
"C:\SSIS\Packages\Developer1\Developer1_Config.dtsConfig" /X86
/CHECKPOINTING OFF /REPORTING E
Using 2008 R2.
I was expecting that the /CONFIGFILE
"C:\SSIS\Packages\Developer1\Developer1_Config.dtsConfig" would be
used in stead of the C:\SSIS\MasterConfig\MasterConfig.dtsConfig file.
Only the Master Config file is being used. Any ideas?
The problem you are running into is covered under Defining a Configuration Approach for Integration Services Packages Basically, the command line configuration is being applied but then overwritten by the design time value.
I'm not sure what your solution would be though. Semi-similar situation here except we had to deal with multi-instanced boxes (dev and test shared a physical host). To get around that, we skipped the environment variable bit and decided that design-time value would always point to dev. Test, UAT and PROD would only be running packages via SQL Agent so our jobs explicitly define the connection string to the configuration resource. Yours is a backwards scenario though, design-time values is fine everywhere but dev.
Here's what we do.
All variables are named the same whether it points to Production, QA or Dev (or even to local). What we change are the variable values pointing to the config files.
We create config files that have all of the appropriate connection information for each box. So we'll have at least 3 separate config files for each database. We name them DB_Prod.config, DB_QA.config, DB_Dev.config, and then DB_Joe_local.config (if you want to have one that points to your local db.
We then create .bat files that sets our variables to the right environment. I have 3 different ones, one for QA, one for dev, and one for my local environment.
the environment variables are ll named things like DB1_adonet, DB1_ole, AS400, etc. With no indication of QA, prod, etc.
It's a slight pain in the ass to set up, but once you start using it, the only issue is remembering what enviroment you've set yourself to. Also, you need to remember that you need to open and close dev studio between environment changes as the values are cached. Also, if you happen to run a package localy, it will use your environment variable values, and not the box you are running it from.
Final note, we have all of the config files checked into TFS. Makes for easy distribution of files.

Pull files from FTP using SSIS package and save to folder?

I have FTP location having 2-3 folders from there i need to pull some files on daily bases using SSIS package please help.
for example:
FTP Detail
Server: ftp.abc.com:21
User: user1
Pwd: pass1
then there is a folder called Mydata and file named price(Date)
now i what to pull that file on my local machine C:\
how can I do this using SSIS?
I'd start with adding an FTP Connection Manager to your package. You will most likely want to create two variables in your package, User and Password and configure the FTP connection manager's expressions tab to use them. Reason being, you may run into issues with running the package via SQL Agent and you will need to supply those values via external configuration. Example 1 of said issue but it's a common problem
Click test and verify the connection manager is working fine.
Next step is to drop an FTP task on your control flow and see if you can master pulling 1 file down. That operation will be "Receive files"
While looking for a good image, I stumbled across this article and that should more than cover everything you will need to know about Using the FTP Task in SSIS 2008

How to export WAS 6.1 server Configuration

Is there a way in which I can export my server settings from WAS (running under RAD 6) such that other developers will be able to use the same script to set up their environment?
To do this manually in RAD 6.x, simply right-click the server name in the "Server" view and choose one of:
Export server configuration to server
Import server configuration from server
The choice of wording here is potentially confusing. An import takes a configuration from the already-configured server and imports it into your workspace as a Configuration Archive (.car) file. An export asks for the location of a Configuration Archive (which must be in your workspace) and exports the settings it contains onto your server.
Yes, I agree that this sounds completely backwards.
Fortunately, the names are much more sensible in RAD 7.x. The options are:
Server configuration -> Backup...
Server configuration -> Restore...
These behave just as you'd imagine (Backup creates an archive file and Restore imports settings from an existing archive file.)
Important note: This process will not export service integration buses. However, I have had success including buses with the following steps:
Export a CAR file
Rename to .zip file for easy viewing
Manually copy the following files from your server profile into the archive:
cells/<cell_name>/buses/*
cells/<cell_name>/nodes/<node-name>/servers/server1/sib-engines.xml
Rename the archive back to .car
Note that this process is probably highly dependent on my specific configuration, but seems worth mentioning, since it has saved me a lot of trouble.
Another tip: Any files and folders you place inside the CAR will be dumbly copied into your profile directory whenever restoring a server configuration from that archive. This is convenient, because you can include necessary third-party libraries in the CAR file and reference them via WAS variables relative to your profile directory, resulting in one less thing for developers to download or configure.
You can export and import the profile with all its configuration using AdminTask export and import commands with the wsadmin scripting tool. If you are really serious also at the same time about how you release the applications to production environments you should probably create wsadmin scripts for deploying all your required settings in any case.
Also you might want to consider distributing virtual machines or simply copying the server installation otherwise from a reference installation.