检测文本文件是否在MS SQL Server中打开

时间:2018-07-24 12:31:49

标签: sql-server text-files

有没有一种方法可以使用MS SQL Server检测文本文件是否打开。我想检查文本文件是否打开,是否打开然后发出邮件警报。

1 个答案:

答案 0 :(得分:0)

我有一个基本的脚本。 根据您的要求进行修改。

DECLARE @FILENAME VARCHAR(200)='TEST.TXT' ---- THE FILE WHICH YOU WANT TO CHECK 
DECLARE @QUERY VARCHAR(500) 

CREATE TABLE #tasklist  (      output VARCHAR(max)   ) 

DECLARE @TASKS TABLE   (      output VARCHAR(max)   ) 

INSERT INTO #tasklist 
EXEC ('EXEC XP_CMDSHELL ''WMIC PROCESS GET COMMANDLINE''') 

SET @QUERY = 'SELECT * FROM #TASKLIST WHERE OUTPUT LIKE ''%' 
             + @FILENAME + '%''' 

INSERT INTO @TASKS 
EXEC (@QUERY) 

IF EXISTS(SELECT Count(1) 
          FROM   @TASKS) 
  BEGIN 
      SELECT 'THE FILE IS OPEN AS FOLLOWS', 
             * 
      FROM   @TASKS 
  END 
ELSE 
  BEGIN 
      SELECT 'NO SUCH FILE OPEN' 
  END 

DROP TABLE #tasklist