2016-10-03 15 views
0

SQL Serverテーブルに作成された新しいレコードに基づいてRESTful WebサービスにPOSTするスクリプトを開発しています。外部アプリケーションでSQL Serverテーブルを監視する方法

これを実行するための推奨される最新の方法(SQL Server 2012)は何ですか? 私はトリガーを見ましたが、外部スクリプトを呼び出すときには推奨されないようです。とにかく情報のほとんどは非常に古いです。

パフォーマンスに与える影響を最小限に抑えてできるだけリアルタイムになるように、テーブルをポーリングしないようにしたいと思います。

Rubyでスクリプトが開発されていますが、違いが生じる場合は、Java/Pythonに切り替えることができます。

編集:同様の質問に対する答えは、Service Brokerサービスを使用することです。しかし、この要件のために残忍であるようです。私のチームから

+0

[SQL Serverデータベースの挿入/更新TCP通知]の複製が可能です(http://stackoverflow.com/questions/7038964/sql-server-database-insert-update-tcp-notifications) – Igor

+0

https:// msdn。 microsoft.com/en-us/library/t9x04ed2(v=vs.110).aspx – EJoshuaS

+0

SQL Server Service Brokerをチェックアウトしてきましたが、このような単純な要件のために過度の使用のように思えます。 – Augusto

答えて

-1

devが次のことを示唆している:

テキストファイルに新しいレコードが作成されるたびに生成トリガーを作成します。 私の外部スクリプトはデーモンとして実行され、テキストファイルが作成されるディレクトリを監視します。見つかった場合は処理し、正常に処理された場合は削除します。このようにして

トリガは、外部スクリプトを実行していない、それだけでネイティブのSQLコマンドを実行します。 読み込み時に、スクリプトはDBに対して数千の読み込みを生成する必要はありません。

両方の世界の最高のようです。これを答えとして受け入れる前に、どんな考え?

+0

これはdownvoteと一緒に悪い考えである理由を明記してください – Augusto

+0

これには重大な問題がいくつかあります。パフォーマンスは恐ろしいものになりますが、セキュリティの意味は気にしないでください。 –

+0

いずれの場合でも、SQL ServerはすでにExpress以外のすべてのバージョンで変更追跡をサポートしています。バージョンX –

関連する問題