大企業でアプリケーションをサポートしています。私の役割の1つは、データをクリーンアップすることです。 1時間ごとに実行する必要があるクエリがあり、それを自動化したいと思います。組織のポリシーにより、SQL Serverエージェントジョブを作成したり、スキーマを変更したりすることはできません。データを操作することしかできません。
果てしない
WHILE(1=1)
BEGIN
WAITFOR DELAY '01:00';
--do work
END
私のために仕事をしますが、私は永久に開いた接続の考えに肩をすくめます。
理想的には、MS SS自体をスクリプト化して特定のコードを1時間ごとに実行しますが、それが可能かどうかはわかりません。
この問題の解決策はありますか?
あなたの友達は sqlcmd (Microsoft Technet)
例えば。
sqlcmd -d YOUR_DB -E -i YOUR_SCRIPT.SQL -o OUTPUTFILE.TXT
幸運を。
クエリを実行するためにManagement Studioは必要ありません。
誰かにジョブをスケジュールさせるオプションが本当にない場合は、sqlcmdを調べる必要があります hot2useの回答に記載されているように
サポートされていないバージョンを使用している場合(バージョンを指定しなかったため)、コマンドラインクライアントである osql もありますが、このツールは廃止されています。
次に、必要なスケジューラ(Windowsタスクスケジューラなど)を使用してコマンドをスケジュールし、次のように実行します。
OSQL -E -i c:\temp\dowork.sql
サーバーの選択と認証に使用できるオプションについては、ドキュメントをご覧ください。