Bagaimana cara menjalankan file batch dari Pekerjaan yang dijadwalkan melalui SQL Server Agent

12

Saya mencoba menjalankan file batch (Windows) dari dalam pekerjaan agen SQL Server di bawah SQL Server 2008 R2. Dalam Langkah Pekerjaan, saya telah membuat langkah baru, tetapkan tipenya menjadi "Sistem operasi (CmdExec)". Saya awalnya mencoba untuk menempatkan hanya nama file batch di bidang "Command". Ini memberikan kesalahan bahwa tidak dapat menemukan file.

Lalu saya mencoba: cmd.exe c: \ test.bat

Ini dimulai, tetapi tidak pernah selesai (dan itu tidak terlihat benar-benar berfungsi).

Saya mencoba membungkus nama file batch dalam tanda kutip: cmd.exe "C: \ test.bat" tetapi itu juga tidak ada bedanya.

Apa kombinasi ajaib untuk membuatnya bekerja?

Paul Mrozowski
sumber
Apakah Anda menggunakan path lengkap ketika Anda mendapatkan kesalahan "file tidak ditemukan"? Apakah jalur tersebut valid pada server yang menjalankan, bukan hanya workstation Anda? Apakah path dalam file batch absolut?
Jon of All Trades
Ya, saya menggunakan path lengkap. Ini adalah jalur yang benar di server yang menjalankannya. File batch tidak lebih dari sebuah tes sederhana: echo> C: \ temp \ itworks.txt
Paul Mrozowski

Jawaban:

11

Jika ingatanku benar:

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

Kutipan diperlukan jika ada spasi di jalur atau nama file

SqlACID
sumber
1

Juga periksa izin yang digunakan untuk Layanan Agen Pekerjaan. Bisa jadi pengguna yang menjalankan layanan tidak memiliki izin untuk melihat file.

Semoga berhasil

Dan OBrien
sumber
0

Periksa apakah Anda memiliki izin untuk menjalankan file batch di lokasi drive dan folder itu.

Jangan lupa ketika Anda menjalankannya secara manual kredensial Anda digunakan tetapi ketika dijalankan secara otomatis oleh SQL Agent, kredensial dan izin agen digunakan.

Phill H
sumber
0

hanya "c:\test.bat"akan melakukan pekerjaan

Ronald Tims
sumber
1
Hai, Selamat datang di situs ini. Meskipun jawaban Anda mungkin berguna, biasanya lebih baik untuk memasukkan beberapa perincian lebih lanjut mengapa ini akan berhasil sementara perintah dalam pertanyaan tidak.
Tom V - coba topanswers.xyz