Have you ever faced a situation where the table size in SSISDB is very huge? Are you are wondering what this SSISDB database is? It has information about the SSIS catalog execution and we should not truncate them as they belong to SSIS subsystem. Once I faced a situation where I could see SSISDB was very huge in size. When looking for more help, I found under the MSDN link which talks about the table. https://technet.microsoft.com/en-us/library/hh230981.aspx
This table displays the time spent by a data flow component in each execution phase.
Since the size of this table was huge, I found below reasons.
- Retention period: By default, the retention period is set to 365 days. We can change this value to some lower number (the number of days we want to retain these logging data)
- Logging Level: There are various logging levels, which can be used to debug the package execution. If things are looking good, then None can be set.
- Clean logs periodically: As the name suggests, we should set to True for size of SSISDB
All of the above can be controlled using properties.
- Package’s Logging Level: In earlier step # 2, we have configured default logging level, which can be overwritten by the package itself. Here are the steps to check and set that.
- In SQL Server Management Studio, navigate to the package in Object Explorer.
- Right-click the package and select Execute.
- Select the Advanced tab in the Execute Package dialog box.
- Under Server-wide Default Logging level, requested to set the value to “None”
- We can do custom logging in an SSIS as shown below.
- Full cleanup: We can also use below procedure to cleanup complete history for all.
EXEC SSISDB.internal.cleanup_server_log
Since I am not an expert in SSIS, are there any other knobs available?
Reference: Pinal Dave (http://blog.SQLAuthority.com)
First appeared on SQL SERVER – Huge Size of Table catalog.execution_component_phases in SSISDB