SQL Server Aracısı aracılığıyla zamanlanmış bir işten bir toplu iş dosyasını nasıl çalıştırabilirim


12

SQL Server 2008 R2 altında bir SQL Server aracısı işinden (Windows) toplu iş dosyasını çalıştırmaya çalışıyorum. İş Adımlarında, yeni bir adım oluşturdum, türünü "İşletim sistemi (CmdExec)" olarak ayarladım. Başlangıçta "Komut" alanına sadece toplu dosya adını koymaya çalıştım. Dosyayı bulamadığı bir hata veriyor.

Sonra denedim: cmd.exe c: \ test.bat

Bu başlar, ancak asla tamamlanmaz (ve aslında zaten çalışıyor gibi görünmüyor).

Toplu iş dosya adı tırnak içinde kaydırma çalıştı: cmd.exe "C: \ test.bat" ama bu da herhangi bir fark yaratmaz.

Bunun işe yaraması için sihirli kombinasyon nedir?


"Dosya bulunamadı" hatasını aldığınızda tam yolu mu kullanıyordunuz? Yol yalnızca iş istasyonunuzda değil, yürütme sunucusunda geçerli mi? Toplu iş dosyasındaki yollar mutlak mı?
Tüm Ticaretten Jon

Evet, tam yolu kullanıyorum. Onu çalıştıran sunucuda doğru yoldur. Toplu iş dosyası basit bir testten başka bir şey değildir: echo> C: \ temp \ itworks.txt
Paul Mrozowski

Yanıtlar:


11

Bellek bana doğru şekilde hizmet veriyorsa:

cmd.exe /c "c:\test.bat"

Yolda veya dosya adında boşluk varsa tırnak işaretleri gereklidir


1

İş Aracısı Hizmeti için kullanılan izinleri de kontrol edin. Hizmeti çalıştıran kullanıcının dosyayı görme izni olmayabilir.

İyi şanslar


0

Toplu iş dosyasını sürücü ve klasör konumunda çalıştırma izninizin olup olmadığını denetleyin.

Elle çalıştırdığınızda, kimlik bilgilerinizin kullanıldığını, ancak SQL Agent tarafından otomatik olarak çalıştığında, aracının kimlik bilgileri ve izinleri kullanılır.


0

sadece "c:\test.bat"işi yapacak


1
Merhaba, Siteye hoş geldiniz. Cevabınız yararlı olsa da, sorudaki komut işe yaramazken bunun neden işe yarayacağına dair daha fazla ayrıntı eklemek genellikle daha iyidir.
Tom V - topanswers.xyz'yi deneyin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.