2016-09-16 24 views
2

私たちのデータベースにDDLトリガを実装して、開発者のDDL変更を追跡しようとしています。しかし、私たちはVisual Studio 2013/2015デベロッパーを抱えています。 Visual Studio内でtable/proc/anythingを編集すると、ddlトリガーが無効になり、変更が加えられ、トリガーが再度有効になり、トリガーが無意味になります。Visual Studioで生成されたSQLスクリプトをカスタマイズする方法

SQLデータベースプロジェクトを作成し、プロジェクト>プロパティ>デバッグ>詳細に移動し、「DDLトリガを無効にして再度有効にする」のチェックを外すことができました。この設定はProject.SQLProj.Userファイルに格納されます。そしてスクリプトはDisable/Enableトリガー部分での追加を停止します。

しかし、devsはサーバーエクスプローラ/ SQL Serverオブジェクトエクスプローラに行き、そのようにデータベーステーブルをプルアップすると、変更を加えて「更新」を実行してスクリプトを生成し、/ddlトリガーステートメントをスクリプト内で再有効化します。私はビジュアルスタジオのヘルプファイル、グーグル、ローカルのVSの達人を探し回っていますが、誰もプロジェクトのスコープのないスクリプトでこれらの設定がどこにあるのかはわかりません。どんな助けもありがとう。

+0

データベースプロジェクトを使用していて、バージョン管理の変更をコミットしている場合は、既に変更を追跡しています。 DDLトリガーはどのような役割を果たしますか? –

+0

それは問題です。私たちはデータベースプロジェクトを使用していません。それは私がスクリプト設定を変更するために見つけた唯一の場所ですが、その特定のプロジェクト/ソリューションには常にスコープがあります。私たちはリンクサーバーをかなり使用しています.SSDTは、私たちが見つけたものとうまく連携しません。 – BeardOfTriumph

+0

「スクリプト設定」とはどういう意味ですか? –

答えて

0

を指定することができ、私はこの問題の回避策を見つけました。私はまだデフォルトでトリガーを無効にしないようにVisual Studioを取得することはできませんが、私はサーバーレベルのDDLトリガーを作成してその周りに取り組みました。

サーバレベルのDDLトリガはサーバとデータベースDDLの両方を監査し、VSがディセーブルデータベースddlトリガ文を発行すると無効になりません。

3

公開すると、以下のオプションが使用されます。私はインパクトの気づかないよ.userファイルの設定が

  • を持っているあなたは、ダイアログウィンドウを公開し使用している場合は、パブリッシュを使用している場合は、高度をクリックし、

    Disable And Reenable Ddl Triggers 
    
  • の選択を解除しますあなたのファイル

    <DisableAndReenableDdlTriggers>False</DisableAndReenableDdlTriggers> 
    
  • yourDb.publish.xml、広告、このようなプロファイルファイルの何かあなたはdoinのしている場合グラムSQLPackage.exeを使用して、このあなたもWelp /p:DisableAndReenableDdlTriggers=false

関連する問題