Alert: MSSQL 2014: Discovery failed
Source: SunucuIntanceNeme.DomainName.com
Path: SunucuIntanceNeme.DomainName.com
Last modified by: System
Last modified time: 3/17/2016 15:58:35 AM Alert description: Management Group: Management Grup 1. Script: SQLAgentJobDiscovery.vbs. Instance: MSSQLSERVER : SQL Agent Job discovery script 'SQLAgentJobDiscovery.vbs' for SQL instance 'MSSQLSERVER' failed.
Çözüm:
SCOM ile izlenen SQL Server Agent jobları ile ilgili yukarıdaki hata alındığında internetteki birçok kaynak sysadmin yetkisinin verilmesi gerektiğini yazıyor. sysadmin yetkisi sorunun detayına inmeden en tepeden yetki verme yolu olup gereksiz yere sisteminize güvenlik açığı açmanın yollarından birisidir. SQLAgentJobDiscovery.vbs script'ini incelediğimde sp_help_job stored procedure'unu çalıştırmak istediğini gördüm. Sorunun çözümü için aşağıdaki gibi sp_help_job stored procedure'una execute yetkisi vermek yeterli:
use msdb
go
grant exec on sp_help_job to ScriptiÇalıştıranKullanıcıKodu
SQLAgentJobDiscovery.vbs ilgili kısmı:
Function DoJobDiscovery(ByVal sServiceName, ByVal sSqlInstance, ByVal sSQLConnectionString, ByVal oDisc, ByVal tcpPort)
Dim e
Set e = New Error
Dim cnADOConnection
Set cnADOConnection = SmartConnectWithoutSQLADODB(sSQLConnectionString, tcpPort, TargetComputerID, sSqlInstance, "msdb")
if cnADOConnection Is Nothing Then
DoJobDiscovery = SQL_DISCOVERY_CONNECT_FAILURE
Exit Function
End If
On Error Goto 0
Dim oResults
e.Clear
On Error Resume Next
Set oResults = cnADOConnection.Execute("sp_help_job")
e.Save
On Error Goto 0
Hiç yorum yok:
Yorum Gönder