Integration Services (SSIS) Server
The Integration Services server is an instance of the SQL Server Database Engine that hosts the SSISDB database. The database stores the following objects: packages, projects, parameters, permissions, server properties, and operational history.
After you design and test packages in SQL Server Data Tools, you can deploy the projects that contain the packages to the Integration Services server.
Before you can deploy the projects to the Integration Services server, you need to create the SSISDB catalog. The database stores its data in internal tables that are not visible to users. However, the database exposes the information that you need through public views that you can query. The Integration Services database also provides stored procedures that you can call to perform common tasks on the server.
Typically you manage Integration Services objects on the server in SQL Server Management Studio. However you can also query the database views and call the stored procedures directly, or write custom code that calls the managed API. Management Studio and the managed API query the views and call the stored procedures to perform many of their tasks.
Like other user databases, the SSISDB database does support database mirroring and replication. For more information about mirroring and replication, see Database Mirroring (SQL Server).
You can use the Integration Services server with AlwaysOn Availability Groups. For instructions on how to set up Integration Services with AlwaysOn Availability Groups, see the technical article, SSIS with AlwaysOn Availability Groups, on blogs.msdn.com. For more information about Availability Groups, see AlwaysOn Availability Groups (SQL Server).
When you connect to an instance of the SQL Server Database Engine that hosts the Integration Services database, you see Integration Services objects in two locations in the Object Explorer tree:
-
The Integration Services Database
Under the Databases node in Object Explorer, you see the Integration Services database. The default name of this database is SSISDB. From this location, you can query the views and call the stored procedures that manage both the Integration Services server and the objects that are stored on the server.
-
The Integration Services Node
There is also an Integration Services node in Object Explorer, with child nodes for Packages and the Configurations. From these locations, you can view and manage the Integration Services server and the objects that are stored on the server.
You can view and manage the following properties on an Integration Services server:
To view all these properties and set most of them, you can use the General page of the Integration Services Properties dialog box in SQL Server Management Studio. For more information, see Manage the Legacy Integration Services Service.
However, you can use other methods than the General page of the Integration Services Properties dialog box to view and set server properties. For information about the other methods that you can use to manage server properties, see the following topics:
Changes to server properties are logged as operations with an operation_type of 250. For information about how to view historical data on the server, see the section, Viewing the History of Operations on the Server, in this topic.
Retention Window for Historical Data
The server stores historical data about operations that occur on the server. By default, the server stores this historical data for a retention window of one year (365 days). If you enable SQL Server Agent, a scheduled job runs daily to delete historical data that is older than the retention window.
Note
|
|---|
|
When you install SQL Server with the default settings, SQL Server Agent is not enabled. If you do not enable SQL Server Agent, the scheduled job cannot run and historical data will not be purged. |
You can specify a retention window that differs from the default value. If you change the retention window, follow these restrictions:
-
The minimum value is 1 day.
-
The maximum value is limited only by the maximum value of the SQL Server int data. For information about this data type, see int, bigint, smallint, and tinyint (Transact-SQL).
-
0 (zero) is not a valid value. You cannot disable retention completely.
You can also retain historical data indefinitely. To enable indefinite retention, use one of the following methods:
-
Clear the Limit storage of historical data check box in Management Studio.
—or—
-
Specify -1 as the value of the RETENTION_WINDOW property when you call the catalog.configure_server stored procedure.
For information about how to view the historical data that the server retains, see the section, Viewing the History of Operations on the Server, in this topic.
Encryption Algorithm for Configuration Values
The server encrypts the values of all configuration items that the server stores. For information about configurations and configuration items on the server, see Package Configurations.
Note
|
|---|
|
Packages are not encrypted. Instead, the access control features of SQL Server and of Integration Services protect packages and the data that they contain. |
The default encryption algorithm is AES256. However, you can change the encryption algorithm to one of the other supported algorithms:
-
DES
-
TRIPLE_DES
-
TRIPLE_DES_3KEY
-
DESX
-
AES_128
-
AES_192
-
AES_256 (default)
For information about encryption and encryption algorithms in SQL Server, see the topics in the section, SQL Server Encryption, especially the topic, Choose an Encryption Algorithm.
Changing the encryption algorithm is a time-intensive operation. First, the server has to use the previously specified algorithm to decrypt all configuration values. Then, the server has to use the new algorithm to re-encrypt the values. During this time, there cannot be other Integration Services operations on the server. Thus, to enable Integration Services operations to continue uninterrupted, the encryption algorithm is a read-only value in the Integration Services Properties dialog box in Management Studio. To change the encryption algorithm, you must call the catalog.configure_server stored procedure and change the algorithm directly.
Important
|
|---|
|
Before you can change the encryption algorithm, the database must be in single-user mode. For more information, see Set a Database to Single-user Mode. |
Timeout for Validation of Packages
Validating a package can be a time-intensive operation, especially when many connections have to be opened to external data sources. To avoid long delays in Management Studio, you can specify a time-out (in seconds) after which validation stops. If the time-out is reached while validation is in progress, validation stops and an informational message is displayed to the user.
By default, the validation time-out is 300 seconds (5 minutes). However, you can change this value. If you change the validation time-out, follow these restrictions:
-
The minimum value is 1 second.
-
The maximum value is limited only by the maximum value of the SQL Server int data type.
-
0 (zero) is not a valid value. You cannot disable the time-out completely.
To change the validation time-out, call the catalog.configure_server stored procedure.
Note
|
|---|
|
Currently, you cannot see or change the validation time-out in the Integration Services Properties dialog box in Management Studio. |
For more information about how to validate packages, see the section, "Validating Packages," in the topic, Integration Services (SSIS) Server.
By default, only the ssis_admin and ssis_user database-level roles have permission to deploy new packages and configurations to the server, and thereby create objects on the server. However, these roles have no members until the administrator assigns users to the roles. To let users deploy new packages and configurations to the server, the administrator has to add the users to one of the database-level roles.
For information about database-level roles in SQL Server, including a list of the system stored procedures that you can use to manage roles and their members, see Database-Level Roles.
When you install the Integration Services server, the installation process creates the following logins, users, and keys that are reserved for internal use. If these logins objects already exist, the installation process recreates these objects.
|
Object |
Type |
Location |
|---|---|---|
|
##MS_SSISServerAssemblyUser## |
Login |
Logins for the SQL Server instance |
|
MS_SSISServerAssemblyKey |
Asymmetric key |
master database |
|
##MS_SSISServerCleanupJobLogin## |
Login |
Logins for the SQL Server instance |
|
##MS_SSISServerCleanupJobUser## |
User |
Integration Services database |
Import and Export Packages
You can import packages to the server, or export packages from the server, by using the Integration Services Deployment Wizard.
-
You can import packages from the file system, from another Integration Services server, or from the msdb database.
When you import packages from the file system to the server by using the Deployment Wizard, you also import the configurations that are referenced by the packages. However, when you import packages from another Integration Services server or from the msdb database by using the Deployment Wizard, the configurations that are referenced by the packages are not currently imported.
-
You can export packages to the file system, or to another Integration Services server.
However, when you export packages to another server or to the file system by using the Deployment Wizard, the configurations that are referenced by the packages are not currently exported.
You cannot use the Deployment Wizard to export packages to the tables in the msdb database where earlier versions of Integration Services stored packages.
For information about using the Deployment Wizard, see Deploy Packages by Using the Deployment Utility.
For information about managing individual packages in SQL Server Management Studio, see Package Properties Dialog Box
Properties of a Package
You can view the properties of an individual package on the General page of the Package Properties dialog box in Management Studio. The General page displays the name, description, package format, and version of the package, and the date and time when it was last deployed to the server. All properties on the General page are read-only.
For information about the other methods that you can use to view the properties of a package, see the following topics.
Manage Permissions on a Package
You can manage the permissions on an individual package on the Permissions page of the Package Properties dialog box in Management Studio. You can grant permissions to additional users or modify the permissions of existing users.
For information about the other methods that you can use to manage the permissions on a package, see the following topics.
Packages are not validated when you deploy them to the server. Currently there is no option in Management Studio to validate a package. You can optionally validate a package at any time by calling the stored procedure, catalog.validate_package (SSISDB Database).
You can set a timeout value after which the validation of packages stops. For more information about the validation timeout, see the section, "Specifying the Timeout for Validation of Packages," in the topic, SSISDB Catalog.
When you call catalog.validate_package from a query window in Management Studio, you can also click a button on the toolbar to cancel a long-running validation.
Note
Important