BI Flash Cards - BI Flash Cards (2)
SSDT
Sql Server Data Tools
Can you build packages without connecting to an SQL instance?
Yes
SSIS architecture
Five main components
SSIS Service (for legacy ssis packages)
SSIS Runtime engine and runtime executables
SSIS Catalog
SSIS Data Flow engin and the Data Flow Components
SSIS Clients
What handles the operational aspects of SSIS
SSIS catalog and SSIS service (for legacy mode packages)
Do you need the service to run packages?
no
What happens if you stop the service?
any packages running will stop
Package Catalog
Has new features/ like running packages with T-SQL
What runs the packages?
SSIS Runtime engine and complementary programs
Containers
Add structure and scope to packages
Tasks
functionality
Event Handlers
Respond to raised events in your package
Precedence Constraints
Provide ordinal relationship between various items in your package/ the order of execution (green arrow)
Package
Collection of tasks that execute in an orderly fashion
Package is saved where?
SQL Server (MSDB) or package catalog database. It can also be saved as a .dtsx file (xml structured)
Data flow tab is enabled when?
When a data flow task is created
Control Flow tab does..
handles the main workflow of the package
Data flow tab does
handles data transformation
How many control flows does a package have
1
How many data flows?
many
Excel Destination
outputs data from data flow to excel which must already exist
SQL Server Destination
Package/ must be executed at the destination
Transformations run in-memory or on disk?
In memory. Incurring I/O on the page file on disk will slow things way down
Aggregate transform
Similar to group by
Fuzzy Grouping
Finding rows that are likely duplicates
Fuzzy Lookup
Matches and standardizes data
Ole DB Command
Executes an OLE DB command for each row in the data flow/ can be used to run an update or delete statement inside the data flow
Sort
Sorts by a column and removes exact duplicates
Project
Container of one or more packages and other SSIS components
Project Deployment model
New model that enables many of the new SSIS 2012 features. Deploys the entire project of packages/ and packages can be configured by the DBA
Package Deployment model
Old model where packages are deployed one at a time
Solution
Container of one or more projects. Can house a C# project/ an SSRS project etc all together
Can a solution house more than one type of project?
Yes
Shared parameters and shared connections are only available in the
Project deployment model
.dtsx
SSIS Package
.ds
Shared Data Source file
.sln
solution file containing one or more projects
.dtproj
SSIS project file
.params
shared parameter file
.conmgr
shared connection manager
Miscellaneous folder
holds documentation/ etc. can be checked into version control software
How to convert back and forth between package and project deployment
Right click on the project and select “convert to (product or package)”
Two tabs in SSIS are..
Control flow and data flow
Data flow tab consists of what tasks?
sources/ transforms and destinations
Enter debug mode by doing what?
Execute the package by right clicking on it in the solution explorer and hit execute package. Opens progress tab
Progress tab
Where you go when you have a problem you need to debug
Server Explorer is accessed by
Tools - connect to database
Server explorer lets you
run queries/ create stored procedures/ redesign tables
Connection manager
connection that can be leveraged and consumed once or many times in a package
Can a connection manager connect to the internet? If so/ what ways?
Yes/ SMTP/ FTP/ and HTTP
Are connection managers externally available to the DBA
Yes
Externally available (connection manager) means
that the connection manager can be repointed
How to create a project connection manager
right click on connection managers in the solution explorer
convert a connection manager to a project cm
right click on it in the connection manager pane
configure tasks in control flow by
double clicking
Naming tasks
Example SCR - Encrypt file. Helps you self document your package and gives clarity to the logs
How is a package encrypted by default
With your windows user key
EncryptSensitiveWithUserKey
Encrypts credentials with your user key/ also Encryptallwithuserkey does the whole package
EncryptSensitiveWithPassword
Adds a password so that anyone who runs the package has to have the password
What helps with packages running in production that fail due to permissions
select encryptallwithpassword and pass the password in when scheduling or running
Arrow color meanings in control flow
Green - success
red - failure
blue completion
When upgrading SSIS
Connection strings are updated/ but if your package is dynamically changing the strings it won’t upgrade that
old packages aren’t converted to the new deployment model
Arrow color meanings in data flow
red - bad data / green - good data
Predecessor tasks
any task with a precedence constraint that is connected to another task
How many evaluation operations are there in precedence constraints
4
What are the different evaluation options in a precedence constraint
Constraint, Expression, Expression and Constraint, Expression or constraint
ForceExecutionResult
A property in a task that overrides the execution result to a desired result
Operation Property in File System Task
Decides what the file system task will do
File System Task: IsSourcePathVariable
Is the source of the file system task a variable or a location
File System Task: OverwriteDestination caveats
If you are copying a directory and set this to yes, you may overwrite a needed file, set to no and if the directory exists then your package will fail
Will the rename file operation property move a file?
If the source is different from the destination
UseDirectoryIfExists
File system task option under create directory. Either uses the directory or fails
Script Task is broken down into
Script / General / Expressions node
Dts.Variables() method
used to change package level variables
Common Uses for Script tasks
Changing connection strings, whether a file exists, whether it is in use, if-then logic
TypeConversionMode (Execute SQL Task)
Allows for datatypes to be converted for SSIS tasks
Resultset property (exec sql task)
Can be XML, single row, none, which can be stored in an object variable
Exec SQL task takes what as the SQL Source Type
Direct input (type it in), File connection (command saved in a file), and variable
Parameter mapping in Sql Task starts at
zero
SQL Task - isquerystoredprocedure
Only available on the ADO and ADO.net option
BypassPrepare Query property
“compiles” the query so it doesn’t need to be analyzed every time it is used, won’t parse unless it is set to false
Execute Process Task
Allow for windows and console applications to be used from within the package. Encryption is an example
Expression Task
Manipulates variables in the control flow without having to use VB.NET, good for incrementing variables in a loop, like a set of files
Send Mail Task
Information about the package passed through system variables or user defined variables
Where to place the send mail task
At the end of the package, or in the event handler area
Send Mail OnPreExecute
Will send an email saying when the package starts
Send Mail OnPostExecute
Send mail indicating the start and end time of the package
OnError or OnWarning
Send Mail task will send mail on these conditions
Can the sendmail task send files
Yes
SendMail connects how?
Through SMTP connection manager
SendMail Credentials
Either sent through SSL or windows authentication
SendMail message sourcetype Direct Input
Message is typed in the send mail task
sendmail MessageSourceType File connection property setting
Message is saved in an external file
sendmail message sourcetype variable property
Message is stored in a package variable
FTP Task
Sends and receives files via FTP
FTP Port
Usually 21