SSISDB 数据清理

SSIS Catalog Database

可以管理很多的包,并且查询每个包的执行状态都很方便。但是如果其中包含的包太多,而且包的执行频次很高,

所产生的日志就是一个灾难了。SSIS目录服务打开之后靠自带的作业“SSIS Server Maintenance Job”来清理包的执行

日志,清理的标准呢?

 

呃,SSIS包的日志默认会保留365天,你没看错,项目版本是保留7个版本。日志的基本根据个人喜好可以设置,但是保留的天数还是设置短点。

一般根据包的总量和执行频次综合设置一个保留天数就好。日志保留时间越长,ssisdb空间就越大,而且部署包和查询包日志所需要的时间就越多。

如果一个机器开始是新部署的ssis目录服务,把上述指标设置好,在保证作业定时执行,一般是不出问题的。

-------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------

实际情况往往很糟糕,一般都是发现问题,如ssis包日志查询不出来,部署需要好长时间才去找原因,在改上图的参数,去执行清理作业会发现根本就删除不动

于是有了下文:

官方地址:http://support.microsoft.com/kb/2972285/en-us

下面列出关键点:

1、Apply SQL Server 2012 SP2 on the SQL Server instance that is hosting SSISB catalog.

需要给sql server 2012 打上补丁

 

2、Change the SSISDB database to single-user mode.

ALTER DATABASE SSISDB SET SINGLE_USER

第二步骤要设置单用户模式。根据官网的提示执行第二步会得到下面的提示

 

 

3、Run the internal.cleanup_server_log stored procedure in the SSISDB to perform a full cleanup.

EXEC SSISDB.internal.cleanup_server_log

第三步也不会很顺利,执行发现得到了下面的错误。运气好,把Intergration Service 服务停了,就不会出现这个问题了。

 

运气不好的时候,怎么停服务,怎么看正在运行的包里面都没有任何东西,还是不能清理日志。打开这个存储过程内容看一下

IF EXISTS (SELECT operation_id FROM [internal].[operations]
        WHERE [status] IN (2, 5)
        AND   [operation_id] <> @operation_id )
BEGIN   
    RAISERROR(27139, 16, 1) WITH NOWAIT
    RETURN 1
END

这段代码决定了返回的错误,原来执行这个存储过程会去“operations”表查找status是否包含2,5的记录,如果有,那么就返回不让执行

把这个表包含2,5的记录更新成其他的,在执行即可。(出现这个问题的原因不清楚,有可能是数据不同步等原因造成的,谁知道呢我们的任务是清理日志)

 

4、Call configure_catalog together with SEVER_OPERATION_ENCRYPTION_LEVEL parameter to change the operation log’s encryption level to

PER_PROJECT (2) from the default of PER_EXECUTION (1)

EXEC SSISDB.catalog.configure_catalog @property_name=‘SERVER_OPERATION_ENCRYPTION_LEVEL‘,
@property_value=‘2‘

5、Change the SSISDB database back to multi-user mode

ALTER DATABASE SSISDB SET MULTI_USER

6、Run the internal.Cleanup_Server_execution_keys stored procedure to clean up transaction level keys.

EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1

ok,后面的步骤基本上没有什么问题,设置一些参数而已。都弄完了,可以感受一下非一般的速度了。

时间: 2024-10-10 01:37:50

SSISDB 数据清理的相关文章

SSISDB数据清理2

从网上找了一个可以清理SSISDB数据的存储过程,创建之后,直接执行存储过程就好 CREATE PROCEDURE [internal].[cleanup_server_retention_window_truncateall] AS SET NOCOUNT ON DECLARE @enable_clean_operation bit DECLARE @retention_window_length INT DECLARE @caller_name nvarchar(256) DECLARE @

新浪微博爬取笔记(4):数据清理

数据清理的部分很多,其实爬数据的过程中步骤的间隔也要做数据清理,都是很琐碎繁杂的工作.总结经验的话,就是: 1.一定要用数据库存储数据 (我因为还不太会数据库,为了“节省学习时间”,所有数据项都用txt存储,直到最后出现了多个种类之间查找,文件夹树变得比较复杂,才觉得当初即使使用MySQL也会提高效率) 2.处理异常的语句不嫌多 3.处理数据的脚本最好打包成函数,尽量减少运行前需要改源码的机会,变量从外部传递 4.工作流程要整体写出来画成图方便查找,步骤和文件多了会有点混乱 以处理时间为例: 我

(版本定制)第16课:Spark Streaming源码解读之数据清理内幕彻底解密

本期内容: 1.Spark Streaming元数据清理详解 2.Spark Streaming元数据清理源码解析 一.如何研究Spark Streaming元数据清理 操作DStream的时候会产生元数据,所以要解决RDD的数据清理工作就一定要从DStream入手.因为DStream是RDD的模板,DStream之间有依赖关系. DStream的操作产生了RDD,接收数据也靠DStream,数据的输入,数据的计算,输出整个生命周期都是由DStream构建的.由此,DStream负责RDD的整个

Spark Streaming发行版笔记16:数据清理内幕彻底解密

本讲从二个方面阐述: 数据清理原因和现象 数据清理代码解析 Spark Core从技术研究的角度讲 对Spark Streaming研究的彻底,没有你搞不定的Spark应用程序. Spark Streaming一直在运行,不断计算,每一秒中在不断运行都会产生大量的累加器.广播变量,所以需要对对象及 元数据需要定期清理.每个batch duration运行时不断触发job后需要清理rdd和元数据.Clinet模式 可以看到打印的日志,从文件日志也可以看到清理日志内容. 现在要看其背后的事情: Sp

Spark Streaming源码解读之数据清理内幕彻底解密

本期内容 : Spark Streaming数据清理原理和现象 Spark Streaming数据清理代码解析 Spark Streaming一直在运行的,在计算的过程中会不断的产生RDD ,如每秒钟产生一个BachDuration同时也会产生RDD, 在这个过程中除了基本的RDD外还有累加器.广播变量等,对应Spark Streaming也有自己的对象.源数据及数据清理机制, 在运行中每个BachDuration会触发了Job ,由于会自动产生对象.数据及源数据等运行完成后肯定要自动进行回收 

【推荐系统】协同过滤--高度稀疏数据下的数据清理(皮尔逊相关系数)

向量之间的相似度 度量向量之间的相似度方法很多了,你可以用距离(各种距离)的倒数,向量夹角,Pearson相关系数等. 皮尔森相关系数计算公式如下: 分子是协方差,分子是两个变量标准差的乘积.显然要求X和Y的标准差都不能为0. 因为,所以皮尔森相关系数计算公式还可以写成: 当两个变量的线性关系增强时,相关系数趋于1或-1. 用户评分预测 用户评分预测的基本原理是: step1.如果用户i对项目j没有评过分,就找到与用户i最相似的K个邻居(使用向量相似度度量方法) step2.然后用这K个邻居对项

第16课:Spark Streaming源码解读之数据清理内幕彻底解密

本期内容: Spark Streaming数据清理原因和现象 Spark Streaming数据清理代码解析 对Spark Streaming解析了这么多课之后,我们越来越能感知,Spark Streaming只是基于Spark Core的一个应用程序,因此掌握Spark Streaming对于我们怎么编写Spark应用是绝对有好处的. Spark Streaming 不像Spark Core的应用程序,Spark Core的应用的数据是存储在底层文件系统,如HDFS等别的存储系统中,而Spar

Spark 定制版:016~Spark Streaming源码解读之数据清理内幕彻底解密

本讲内容: a. Spark Streaming数据清理原因和现象 b. Spark Streaming数据清理代码解析 注:本讲内容基于Spark 1.6.1版本(在2016年5月来说是Spark最新版本)讲解. 上节回顾 上一讲中,我们之所以用一节课来讲No Receivers,是因为企业级Spark Streaming应用程序开发中在越来越多的采用No Receivers的方式.No Receiver方式有自己的优势,比如更大的控制的自由度.语义一致性等等.所以对No Receivers方

Pandas Cookbook -- 08数据清理

数据清理 简书大神SeanCheney的译作,我作了些格式调整和文章目录结构的变化,更适合自己阅读,以后翻阅是更加方便自己查找吧 import pandas as pd import numpy as np 设定最大列数和最大行数 pd.set_option('max_columns',5 , 'max_rows', 5) 1 宽格式转长格式 state_fruit = pd.read_csv('data/state_fruit.csv', index_col=0) state_fruit .d