检测从代码启用的SSIS

时间:2014-08-12 21:44:16

标签: sql-server ssis

我在.NET和c#中开发。

如何在我正在处理的SQL服务器上启用SSIS Integration Services?

1 个答案:

答案 0 :(得分:1)

SQL Server Integration Services作为服务运行,因此您可以使用此...

Check if a service exists on a particular machine without using exception handling

检查它是否正在运行。曲线球的名称可能是......

SQL Server Integration Services
SQL Server Integration Services 10.0

或其他变体,因此您可以检查名称以“SQL Server Integration Services”开头的服务或包含“SQL”“Integration”和“Services”的服务

编辑:

这是相当令人讨厌的但是如果你有合适的特权可以使用......

Create Table #Output (CmdOutput Varchar(2000));
Insert Into #Output Exec XP_CmdShell 'SC query MsDtsServer100';
Select * From #Output;
Drop table #Output;

这会给你这样的东西......

CmdOutput
------------------------------------------------------
NULL
SERVICE_NAME: MsDtsServer100 
    TYPE               : 10  WIN32_OWN_PROCESS  
    STATE              : 4  RUNNING 
                            (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
    WIN32_EXIT_CODE    : 0  (0x0)
    SERVICE_EXIT_CODE  : 0  (0x0)
    CHECKPOINT         : 0x0
    WAIT_HINT          : 0x0
NULL

如果它不存在那么你会得到这样的东西......

[SC] EnumQueryServicesStatus:OpenService FAILED 1060:
NULL
The specified service does not exist as an installed service.
NULL
NULL

如果你没有特权,那么我担心这种事情可能是不可能的。