Проверка VBScript, если задание SQL выполняется в данный момент - PullRequest
0 голосов
/ 18 декабря 2018

Я могу получить статус заданий, которые уже выполнены, и получить продолжительность и так далее.То, что я сейчас пытаюсь сделать, это посмотреть, запущено ли задание и когда оно началось.Я обнаружил следующий запрос SQL, который показывает, работает ли он в настоящее время и работает ли он нормально, когда я запускаю его из SQL Server Management Studio, но я получаю сообщение об ошибке при запуске его из VBScript.

Код SQL:

EXEC sp_help_job @job_name = '(job name)', @job_aspect = 'JOB'

VBScript:

Option Explicit
Dim strConn, objConn, objRS, strQuery, i
strConn = "Provider=SQLOLEDB.1;Data Source=server;Initial Catalog=msdb"
Set objConn = CreateObject( "ADODB.Connection" )
objConn.Open strConn, "user","password"
Set objRS = CreateObject( "ADODB.Recordset" )
strQuery = "EXEC sp_help_job @job_name = '(job name)', @job_aspect = 'JOB'"
Set objRS = objConn.Execute( strQuery )
Do while not objRS.EOF
    For i = 0 To ( objRS.Fields.Count - 1 ) 
        MsgBox i & vbCr & objRS.Fields( i ).Name & vbCr & objRS.Fields( i ).Value
    Next
    objRS.MoveNext
Loop

Я получаю сообщение об ошибке:

Line:   8
Char:   1
Error:  The specified @job_name ('job name') does not exist
Code:   80040E14
Source: Microsoft OLE DB Provider for SQL Server

Учетная запись, которую я использую для выполнения запроса из VBScript, является учетной записью SQL и имеет права SELECT наMSDB.Может ли это быть проблема с разрешениями?Я хотел бы предоставить учетной записи как можно меньше прав.

Есть идеи?Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...