SQL Server 2000 のテーブルの 1 つで、「トリガーの挿入後」からサーバーでコンソール アプリケーションを実行しようとしました。次の行を使用しました。
Declare @Seq_NO bigint ;
SELECT @Seq_NO=i.Seq_No from inserted i
declare @CmdSQL varchar(1000)
set @CmdSQL = 'C:\temp\SendEmailConsole\SendScheduledEmail.exe' + cast(@Seq_NO as varchar(10))
exec master..xp_cmdshell @cmdSQL
この「C:\temp\SendEmailConsole」は、アプリケーションのテスト場所です。
2000年より新しいSQL Serverの他のバージョンでも機能します。これを使用してコマンドをアクティブにしました:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC master..sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
私の最初の質問は、なぜmaster..sp_configure 'xp_cmdshell', 1
SQL Server 2000 で動作しないのですか? そして、代替コマンドは何ですか?
そして2番目の問題は、「挿入後」トリガーの失敗は何ですか?
最後に、そのための代替ソリューションはありますか?
助けてくれてありがとう。
アップデート :
今、そのテーブルにレコードを挿入すると、サーバープロセスがロックされます!!!! 私の間違いは何ですか?