Problembeschreibung
Wenn Sie die SSISDB-Datenbank zum Speichern und Verwalten der Microsoft SQL Server Integration Services (SSIS)-Pakete verwenden und die folgenden Eigenschaften im SSIS-Katalog konfigurieren:
-
Regelmäßiges Bereinigen von Protokollen (auf true festgelegt)
-
Aufbewahrungszeitraum (auf eine bestimmte Anzahl von Tagen eingestellt – je größer die Anzahl der Tage, desto häufiger liegt das Problem vor)
-
Regelmäßiges Entfernen alter Versionen (auf "true" festgelegt)
-
Maximale Anzahl von Versionen pro Projekt
Sie können eines oder mehrere der folgenden Symptome auftreten:
-
Das Bereitstellen von SSIS-Paketen in der SSIS-Datenbank in SSDT dauert lange.
-
SSIS-Pakete können viel Zeit in Anspruch nehmen, wenn der SSISDB-Cleanup-Auftrag ausgeführt wird oder sogar fehlschlägt.
-
Die SQL Server-Instanz kann Leistungsprobleme aufweisen.
-
Der SSIS-Wartungsauftrag kann viel Zeit in Anspruch nehmen (mehr als einen Tag), um den Vorgang abzuschließen oder sogar zu fehlschlagen.
-
Der SSISDB ist möglicherweise auf eine große Größe gewachsen.
Fehlerbehebung
Service Pack-Informationen für SQL Server 2012
Um dieses Problem zu beheben, besorgen Sie sich das neueste Service Pack für Microsoft SQL Server 2012. Wenn Sie weitere Informationen wünschen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2755533 So erhalten Sie das neueste Service Pack für SQL Server 2012 Nachdem Sie das SQL Server 2012 Service Pack 2 (SP2) angewendet haben, führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:
-
Wenden Sie SQL Server 2012 SP2 auf die SQL Server-Instanz an, die SSISB-Katalog hostet.
-
Führen Sie die interne.cleanup_server_log gespeicherte Prozedur im SSISDB aus, um eine vollständige Bereinigung durchzuführen.
EXEC SSISDB.internal.cleanup_server_log
-
Ändern Sie die SSISDB-Datenbank in den Einzelbenutzermodus.
ALTER DATABASE SSISDB SET SINGLE_USER
-
Rufen Sie configure_catalog zusammen mit SEVER_OPERATION_ENCRYPTION_LEVEL Parameter auf, um die Verschlüsselungsstufe des Vorgangs Protokolls auf PER_PROJECT (2) vom Standardwert PER_EXECUTION (1)zu ändern.
EXEC SSISDB.catalog.configure_catalog @property_name='SERVER_OPERATION_ENCRYPTION_LEVEL', @property_value='2'
-
Ändern Sie die SSISDB-Datenbank wieder in den Mehrbenutzermodus.
ALTER DATABASE SSISDB SET MULTI_USER
-
Führen Sie die internen.Cleanup_Server_execution_keys gespeicherte Prozedur zum Bereinigen von Schlüsseln auf Transaktionsebene
EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1
Weitere Informationen
SQL Server 2012 Service Pack 2 führt wichtige Designänderungen ein, die dazu beitragen, dieses Problem zu verringern:
-
Eine neue Eigenschaft (OPERATION_LOG_ENCRYPTION_LEVEL) wird in SSISDB.catalog_property Tabelle eingeführt, um eine Option für die Sicherheit auf Projektebene zu aktivieren. Mit dieser Einstellung wird SSIS angewiesen, für jedes Projekt ein Schlüssel-oder Zertifikats paar zu erstellen und für jede Transaktion wiederzuverwenden, wodurch die Anzahl der Zertifikate minimiert wird, die für die spätere Bereinigung erforderlich sind. Eine vollständige Bereinigung ist erforderlich, bevor Sie von der Transaktionsebene in die Projektebene wechseln.
-
Es werden zwei gespeicherte Prozeduren eingeführt, mit denen die vorhandenen SSISDB von der Transaktionsebene auf die Projektebene übertragen werden können:
-
cleanup_server_log
-
cleanup_server_execution_keys
Weitere Informationen zu diesen beiden Verfahren und deren Verwendung finden Sie in der SQL Server-Online Dokumentation unter der folgenden Website:
-
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.