Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I'm familiar with SSMS, but I've never used .net, c# or visual studio (been doing other things: Assembler, c, unix, vi, oracle, etc).

I'm trying to figure out basic 2012 SSIS ETL (no BI or data warehouse) and can't find anything that explains how all of these fit together:

catalog
solution
project
package any others?

Say I just want to build a simple test using SSIS, import a file into a table, which of the above are required, and in what order do I create them?

Also, do you have any good links to basic SSIS 2012 ETL overviews and/or how to articles.

share|improve this question
    
I'm just curious here but have you tried Bing.com, tinyurl.com/ln8aoce Anything you just typed in this question could have been used to find the resources you are seeking online. –  Shawn Melton Jul 11 '13 at 5:25
    
@Shawn Melton, I prefer google, but yes I have done some reading on this. The first bing search result, begins with There is now a SSIS 2012 version of the "Creating a Simple ETL Package Tutorial". The tutorial and lesson packages work with the AdventureWorksDW2012 database. And, the tutorial includes a new Lesson 6 that shows you how to convert a project to the project deployment model and replace configuration values with parameters. where's the article to explain the relationship between catalog, solution, project, package, etc? –  c64rulz Jul 11 '13 at 5:47
    
Good point. There is not much documentation put out yet online for SSIS package design in SQL 2012 that I have found. I think, mainly because the normal tool used previous (BIDS) went away and they have integrated it with Visual Studio 2012. To get the assistance you are needing I would probably look for a book because that is going to have the most detail and step-by-step explanation. –  Shawn Melton Jul 11 '13 at 17:58
3  
@billinkc That looks like a useful answer. Voting to reopen. –  Mark Storey-Smith Jul 12 '13 at 20:21
    
thanks to the open minded people that voted to reopen this question. Every forum seems to have a bunch "quick close" knee jerk reaction people, nice to see they were foiled on this question. –  c64rulz Jul 17 '13 at 2:38

1 Answer 1

up vote 15 down vote accepted

Projects now have two flavours based on their deployment model: package based (classic) or project based (new). Package is available from 2005 - 2012. During development, you develop solutions that solve business problems. Problem is, once you're outside of Visual Studio/BIDS/SSDT, the wholistic concept goes away. Project model creates an .ispac file, which is more akin to an C library-3/4 of an assembly is no good, you must have it all. Those .ispac files upload to special SSISDB catalog which is new in 2012

The SSISDB is a dedicated catalog for hosting Project deployment model projects in SQL Server. Organization is Folders that you create. A folder can have 2 item types in it: Projects and Environments. A project is an SSIS project. There can be many in a single folder or just one. An Environment is the 2012 approach to configuration/parameterization of packages. Environments can be many or just one per folder. There is no automatic linkage between an Environment and a project's parameters or connection managers. An environment may be used across projects in multiple folders.

Projects in folders in the Integration Services Catalog can have manual, hard coded configuration applied to them or you can use an Environment to supply those configurations. The difference can be subtle. Assume 2 different SSIS projects that reference the Sales database. Same resource. You could either use the Configure option and manually define the server per environment (dev, test, prod) per project, or you create 1 Environment that defines the value for the Sales server. Then tell each project to re-use the same resource for configuration. That server goes belly up, one change fixes all.

From SSISDB folders, projects, environments explanation

Integration Services Catalog

Getting the nomenclature sorted out would have probably helped me get this stuff straight.

Integration services catalog

1. SSISDB

The SSISDB is the catalog where all the 2012+ SSIS packages will be deployed, if you're using the new Project deployment model. It will always be named SSISDB for SQL Server 2012.

Right click options
  • Active Operations - Lists all currently running SSIS packages with an option to Stop the selected package.
  • Create Folder - Creates a folder with an optional description
  • Start PowerShell - Self explanatory
  • Reports - A variety of native reports about package executions.
  • Delete - This deletes the SSISDB catalog. Doing this will result in having to recreate the catalog and a loss of all your history.
  • Refresh - Self explanatory
  • Properties - Contains information about the default logging settings and the project versioning.

2. Folder

A folder contains Project(s) and, optionally, Environment(s).You must create a folder. The deployment wizard will not automagically create one for you. You may call it whatever you like. You may have all of your SSIS projects under a single folder, have a 1:1 mapping between projects and folders or anything in between. Folders are only 1 level deep - No nesting

Right click options
  • Start PowerShell - Self explanatory
  • Reports - All Executions, All Validations
  • Delete - This deletes the folder, assuming there are no Projects or Environments below it.
  • Refresh - Self explanatory
  • Properties - Contains the name, version and a description.

3. Projects

This is automatically created when a folder is created.

Right click options
  • Deploy Project - IS Dpeloyment Wizard
  • Import Packages - Integration Services Project Conversion Wizard
  • Start PowerShell - Self explanatory
  • Reports - Only Custom Reports are available
  • Refresh - Self explanatory

I just want to build a simple test using SSIS, import a file into a table, which of the above are required, and in what order do I create them?

You would need only to create a single package to handle moving data from a file into a table. You can execute it from Visual Studio which requires none of the above "stuff." However, in a SOX/SAS 70 world situation, you are probably going to have insufficient permissions to perform the load in a production environment (separation of duties). At that point, you'd need to plan for how the packages will be deployed, how you will modify environment specific values (Sales server is on sqldev/sqltest/sqlprod), how the packages will get launched (scheduled vs event drive vs at will), etc. That's when you'd probably want to deploy to the 2012 Integration Services catalog. It isn't a requirement though, you can run project deployment model packages from a .ispac, but it's not as convenient an option.

The order you create them is 1. Create a project in Visual Studio/SQL Server Data Tools (BI) 1. Create a folder in Integration Services catalog 2. Deploy a project 3. Create an Environment (optional) 4. Configure the project (either link to an Environment or manually set the values) 5. Run the package in SSMS by right clicking run, click the checkbox to ensure configuration values have been applied

Also, do you have any good links to basic SSIS 2012 ETL overviews and/or how to articles

My go to writeup on getting SSIS under your belt is Andy Leonard's series on SSC, Stairway to Integration Services. He's a good author and he looks good too (as he would put it). Focus on learning the essentials of SSIS itself and then you should be able to understand the finery of the 2012 deployment or at least figure out specifically what questions you have.

share|improve this answer
    
thanks so much for the excellent answer! you are the MAN! –  c64rulz Jul 17 '13 at 2:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.