Я пытаюсь извлечь успешные и неудачные попытки входа в систему из нашего файла журнала SQL. Это заявление, которое я смог приступить к работе, и теперь я получаю сообщение об ошибке при его запуске. Любая помощь будет принята с благодарностью. Я знаю, что это в последнем утверждении, потому что остальные работают без ошибок при независимой работе. В системе ничего не изменилось, поэтому я не понимаю, почему она начала выдавать ошибку?
CREATE TABLE [dbo].[#TmpErrorLog]
([LogDate] DATETIME NULL,
[ProcessInfo] VARCHAR(20) NULL,
[Text] VARCHAR(MAX) NULL);
CREATE TABLE [dbo].[#TmpErrorLog2]
([LogDate] DATETIME NULL,
[ProcessInfo] VARCHAR(20) NULL,
[Text] VARCHAR(MAX) NULL,
[LoginAttempt] VARCHAR(20) NULL);
INSERT INTO #TmpErrorLog ([LogDate], [ProcessInfo], [Text])
EXEC [master].[dbo].[xp_readerrorlog] 0 ;
INSERT INTO #TmpErrorLog2 ([LogDate], [ProcessInfo], [Text], [LoginAttempt])
Select LogDate, ProcessInfo, Replace(Text,'''','"') as Text, SUBSTRING(Text,0,16) as LoginAttempt
From #TmpErrorLog
Where LogDate > GETDATE() - 1 and Text like '%\%'
INSERT INTO LogData ([LogDate], [LoginAttempt], [LoginUser])
Select
LogDate,
Case LoginAttempt When 'Login succeeded' Then 'Successfull' Else 'Failed' End as LoginAttempt,
SUBSTRING(SUBSTRING(Text, CHARINDEX('"', Text,1), CHARINDEX('"', Text, CHARINDEX('"', Text, 0)) - 4),2,50) as LoginUser
From #TmpErrorLog2
Where LogDate Not In(Select LogDate From LogData)
Drop Table #TmpErrorLog
Drop Table #TmpErrorLog2