我现在有3台服务器(A,B,C),其中一台为ftp(A)服务器(每天会有200个文件,大概是100G左右的大小增加)。其它两台为数据仓库服务器,负责数据的处理。因为其它两台服务器压力比较大,我先把文件数据用ssis导入到A,再从A服务器的表数据导入到B、C两台服务器(sql server 2005)。
1、我现在是用C#做的服务去调用ssis包进行导入,但是因为系统对进程有2G的限制,我暂时用多服务来导入。有没有其它好调度方式或者用其他导入工具。
2、有什么好的系统管理工具,特别是磁盘,比如空间、读写能力、碎片等的监控。
请大家多多指教,谢谢!

解决方案 »

  1.   

        1.可以多开发几个包用sqlagent代理进行数据导入吧。
        2. 系统监控 就是性能计数器了(perfmon)
      

  2.   

    1、因为文件种类较多,目前有400多个ssis包,考虑到方便管理,我就用C#来调用ssis包。不知道用代理调用是否有2G进程的限制呢,代理调用ssis是独立的进程还是sql server的组件。
    2、perfmon对系统的各种参数我有跟踪,但我想专门对磁盘进行管理,perfmon有些参数磁盘的参数监控不到,比如碎片率,可用空间之类的。有没有专门的工具来管理磁盘。
      

  3.   

        好像进程级别的都有2G的限制,之前也遇到过这个状态  也是像你这样多开几个进程。
         磁盘的监控是有性能计数器的, 你说的碎片 可用空间是指系统的 ?
       这种可以用wmi接口查询下就能得到
      

  4.   

    我现在是用C#来做的导入包,我用perfmon监控了SQL Server:SSIS Pipeline下面的性能计数器,但采集的数据都为0的。但我用那个开发工具(ssis包开发哪个Development Studio)运行,采集的数据是没问题的。我就觉得郁闷了,为什么用程序调用ssis包就采集不了数据了呢,它应该也是通过Integration Services这个服务进行数据流之类的控制的,为什么采集的数据就为0呢?
      

  5.   

    1.直接创建SQL Server Job(作业)就可以调用执行SSIS产生的包(*.dtsx).2.Windows自带的性能监视器就有很多计数器可以监控并记录,如DiskTime%,Disk write queue等等.
       
      

  6.   

    2、有什么好的系统管理工具,特别是磁盘,比如空间、读写能力、碎片等的监控。性能监视器和SQL PROFILTER
      

  7.   

    因为我的ssis导入包比较多,比如我想知道某一个包的哪一部分(或步骤)导入慢(或有问题),比如:是某个数据流、某个转换语句、文件读取...我怎样去监控这些数据呢,在SQL Server Business Intelligence Development Studio里执行是是有每个步骤的时间显示的。但用Job或其它方式执行ssis包的时候怎么获取?
      

  8.   

    这个估计要打开SSIS包,逐步调试.
    或建个存执行信息的表,每完成一个步骤,自动记录完成时间.