SSIS Configuration (sql server 2005, 2008)
XML Configuration in SSIS Package
Parent Package Configuration in SSIS
Package Windows Registry Configuration in SSIS
Package System Variable Configuration in SSIS Package
SQL Server Configuration in SSIS Package
all inside the circles can be stored in the SQL Server table SSISConfiguration.!!!!
From 2012…,2014.. the whole project can be configured (also individual packages configured )
With the package deployment we also have project deployment
For project deployment not all the above configs not available, packages will be deployed in SSIS Catelog, parameters were
introduced in deployment, 2 types of parameters, one is package level parameter and the other is project level parameter
SSIS catalog has logging where you can go and check logging can be checked, versioning of SSIS packages are available in this
we can query
What is configuration? It is a way to make your packages dynamic, once you developed a package , you have to move it to QA test
and prod environment. You will create configuration for connection managers, variables, folders, filenames, Without configuration
you are creating copies of SSIS packages, multiple copies of jobs for different environment,
Latest version, last version of on premises sql server and SSIS version, visual studio, SSDT?
Size of db,
Different between DIRECT and INDIRECT configuration?
SSIS configuration is a way to make your packages more dynamic. Database names will not be same in different environment but
the servername will be different. Direct is store config values in xml file, and to have individual xml file (you may not have C: drive in
all environment, so diff UNC path, INDIRECT Means create ENVIRONMENT VARIABLES IN SYSTEM and store pathname,
servernames etc
SSIS Catelog is a repository to store SSIS things
What is data flow task?
It is a task used to extract data from different sources, transform and store the transformed data into destination
Data flow items have items for 3 categories mainly. Sources, transformation, destinations
One data flow can have many source and destination, number of these source and destination running in parallel depends on
ENGINE THREAD PROPERTY WHICH IS BY DEFAULG 10 IN 2012
Data flow can be run in sequence also in parallel (when we do not connect two dataflow tasks then they will be running in parallel,
the number of Data flow tasks running in a control depends on a property called MAXIMUM CONCURANT PROPERTY OF SSIS
PACKAGE, that is equal to number of processors + 2
-1 refers number of processors +2 , if you r machine has 4 processors then it can run 6 in parallel
If you need to run some SQL Script (srored proc, dml, ddl) which task you use?
In ControlFlow use EXECUTE SQL TASK
GO in script what will it do actually?
OBJECT TYPE variable is ADO Recordset type variable which can hold records in variable memory, EXECUTE SQL TASK can be
used to populate the object type variable with some data
Full result set will be best for storing recordset, then map the result set to the object type variable,
Later the object type recods can be stored on RECORDSET DESTINATION
What is package explorer???
If your database is in Full Recovery mode, can you use Bulk Insert Task to load data? What are the requirements to use Bulk Insert
Task?
bulk insert can only read data from FILE
when batch size (default) is zero, then the bulk insert task is going to read the entire file in one go (one batch, one chunk). If you
give some 1 million here, it will read one million in one chunk, then reads 2nd set of million rows. And the destination for bulk insert is
a Table that can have constraints attached to it , identity insert can be enabled
IN FULL RECOVERY MODEL, THE BULK INSERT WORKED PERFECTLY, NOW CHANGE THE REVOERY MODEL TO BULK-
LOGGED, SO LOGICALLY BULK INSERT WILL WORK IRRESPECTIVE OF ANY RECOVERY LEVEL
REVOERY LEVEL MEANS, STORING TRANSACTION LOG IN FULL, SIMPLE MEANS NO STORING TRAN LOG, BULK
LOGGED MEANS KEEP TRANS LOG ONLY FOR BULK INSERT
SCRIPT TASK (in control flow) SCRIPT COMPONENT IN DATA FLOW
SCRIPT TASK IN CONTROL FLOW CAN DO ANY TASK THAT ARE PERFORMED IN CONTROL FLOW, I.E copy file, read file ,
transform, load into destion table through c#, .vb.net script!!! Where as SCRIPT COMPONENT inside the DATA FLOW work
exactly like ETL (source, transform, destination) taks
Script component can used to read data from file, and add a sequence number , and store it in to destination table or recordset
variable. So the script component can be used as a SOURCE, used as a DESTINATION, or used as a TRANSFORMATION item
Variables in script task: System variables and User variables User::empname
Inside script we need to set Dts.TaskResult to indicate success or failure
After loading a file, how will you zip and archve, use EXECUTE PROCESS TASK , this task can be used to run any executables.
Which task to use to delete, rename, move file? FILE SYSTEM TASK
EVEN SCRIPT TASK CAN DO THESE FILE SYSTEM TASKS, USING IMPORT SYSTEM.IO
CAN YOU RENAME AND MOVE FILE BY USING ONE TASK? FILESYSTEM TASK
ON ERROR, SEND EMAIL, YOU CAN USE PRECEDENCE CONSTRAIN SET EVALUATION TO FAILURE (RED ARROW) SET IT
TO ‘SEND MAIL TASK’
OTHER
WAY IS TO USE EVENT HANDLER, ON ERROR
EVEN ‘EXECUTE SQL TASK’ CAN ALSO BE USED TO db.sendmail sql stored procedure
How will you send emails to users?
Execute SQL Task to run Select emails from stafftable, store the result set Into an object type variable
then loop through it, put an send email task inside the loop container.
Create ‘FOR EACH LOOP CONTAINER’ to loop through the Collection , Enumerator – For Each ADO Enumerator (means object
type is an ADO recordset)
For each row , read the value and map it to emailvariable,
And use that emailvariable to send email using Send Email Task
Inside the FOR EACH LOOP container put the Send email task
If you want to send the email in HTML format, then use SCRIP TASK
XML TASK?