MSSQL Server ‘The job failed. Unable to determine if the owner (LOGIN_NAME) of job JOB_NAME hasserver Access’ Solution to the error

Bu makalede sqlcmd üzerinden bir job çalıştırıldığında aşağıdaki hata mesajıyla karşılaşılır.

Sqlcmd üzerinde bir job çalıştırdığımda başlıktada belirtilen hata mesajıyla karşılaşmış oldum. Bu hata mesajıyla farklı bir sebepten dolayıda karşılaşabilirsiniz. Bu hatayı araştırmalarım sonucunda sebebinin SQL Server’da bir SQL Agent Job çalıştırılırken bir yetkilendirme sorunu yaşandığını gösteriyor.

Mesajda belirtilen hata: “The job failed. Unable to determine if the owner (S2\Administrator) of job sqlcmd2323 has server access.

Sebebi ise “Could not obtain information about Windows NT group/user ‘S2\Administrator’. Error code 0x534.” – **SQLSTATE 42000 (Error 15404)

Bu hata, SQL Agent Job’un sahibinin, yani S2\Administrator kullanıcısının SQL Server’a erişimi olup olmadığının doğrulanamamasından kaynaklanıyor. 

Kullanıcıya ya da Windows NT grubuna erişimle ilgili bir sorun olabilir. Error code 0x534, ilgili Windows kullanıcı veya grubunun doğrulanamadığını, yani SQL Server’ın bu hesabı tanıyamadığını veya doğru şekilde yapılandıramadığını gösterir.

Bu gibi sorunlarla karşılaştığımızda kullanıcı hesabının kontrol edilmesi gerekmektedir. İlgili kullanıcının sql server üzerinde gerekli yetkisi varmı veya job’ı çalıştıran kullanıcının job’ı çalıştırma yetkisinin olup olmadığına bakılması gerekmektedir.  Eğer SQL Server, Active Directory kullanıcı doğrulamasını yapamıyorsa, bu AD ile ilgili bir problem olabilir. AD ayarlarını kontrol edilmesi gerekmektedir.

Bu gibi durumlarda Job’ımızı çalıştıran Owner’a dikkat edilmesi gerekmektedir. Bunun için oluşturmuş olduğum job’ın Owner’ını kontrol ediyorum.

Job’ı çalıştıran Owner’ın yanlış olduğunun farkına varmış oldum. Çünkü ben şuan S3\administrator kullanıcısıyla işlemlerimi yapıyorum. Son alt tarafta bulunan connection bölümünden görülebilir. İlgili job’ın Owner’ını daha üst düzey yetkilere sahip olan sa  olarak değiştiriyorum.

Değişiklik yaptıktan sonra job’ın başarılı bir şekilde çalıştığını görmüş oldum.

Not: bat dosyası aracılığıyla sqlcmd komutu çalıştıracağımız zaman Username password ifadelerinin girilmesi gerekmektedir. sqlcmd windows bazında çalıştırıldığı için dosya bazında yetki sorununa takılmaz. bu yüzden sqlcmd tercih edilen bir yöntemdir. Örnek olarak aşağıdaki komutu verebiliriz.

sqlcmd -S localhost -U MyUser -P MyPass -d MyDb -q "SELECT 1"

Bu makalede job’ı çalıştırdığımızda almış olduğum hataya değindim. Başka bir makalede görüşmek dileğiyle.

“Onlar her türlü boş söz ve faydasız işlerden yüz çevirirler.” Mü’minûn- 3

Author: Yunus YÜCEL

1 thought on “MSSQL Server ‘The job failed. Unable to determine if the owner (LOGIN_NAME) of job JOB_NAME hasserver Access’ Solution to the error

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir