有没有一种方法可以使用MS SQL Server检测文本文件是否打开。我想检查文本文件是否打开,是否打开然后发出邮件警报。
答案 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