Saya mendukung aplikasi di perusahaan besar, salah satu peran saya adalah membersihkan data. Ada kueri yang perlu saya jalankan setiap jam, dan saya ingin mengotomatiskannya. Karena kebijakan organisasi, saya tidak bisa membuat pekerjaan SQL Server Agent atau memodifikasi skema, saya hanya bisa memanipulasi data.
Tak ada habisnya
WHILE(1=1)
BEGIN
WAITFOR DELAY '01:00';
--do work
END
melakukan pekerjaan untuk saya, tetapi saya mengangkat bahu memikirkan koneksi terbuka-perma.
Idealnya, saya akan skrip MS SS sendiri untuk mengeksekusi sepotong kode yang diberikan setiap jam, tapi saya tidak yakin apakah itu mungkin.
Apakah ada solusi untuk masalah ini?
sql-server
scheduled-tasks
Ivan Koshelev
sumber
sumber
Jawaban:
Teman Anda adalah sqlcmd (Microsoft Technet)
Misalnya
Semoga berhasil.
sumber
Anda tidak perlu Management Studio untuk menjalankan kueri.
Jika Anda benar-benar tidak memiliki opsi untuk meminta seseorang menjadwalkan pekerjaan untuk Anda, Anda harus melihat ke sqlcmd seperti yang tercantum dalam jawaban hot2use
Jika Anda berada pada versi yang tidak didukung (karena Anda tidak menentukan versi) ada juga osql yang merupakan klien baris perintah, tetapi alat itu sudah usang.
Anda kemudian dapat menjadwalkan perintah menggunakan penjadwal apa pun yang Anda inginkan (Penjadwal Tugas Windows misalnya) dan menjalankan sesuatu seperti ini:
Lihat dokumentasi untuk melihat opsi mana yang Anda miliki untuk pemilihan dan otentikasi server.
sumber
Menggunakan "SQL Server Agent" yang ditemukan di dalam MS SQL studio (di objek explorer, perluas server Anda dan itu seharusnya di bagian bawah daftar) mungkin merupakan taruhan terbaik Anda.
Ini akan menciptakan pekerjaan yang dapat diatur untuk dieksekusi pada interval yang ditentukan. Pekerjaan akan berjalan sebagai layanan di server daripada klien. Ini berarti jika klien Anda memutusnya masih akan berjalan, dan jika server reboot (untuk alasan yang tidak diketahui), pekerjaan akan terus berjalan tanpa Anda perlu menginisialisasi lagi.
The downside adalah bahwa Anda mungkin akan memerlukan hak akses tinggi untuk dapat melakukan ini.
sumber