SQL Serverデータツールで、SQL71502のすべてではありませんが一部の発生を抑制したいと思います( "---オブジェクトへの未解決の参照があります---")。Project Properties、Build、Suppress Transact-SQL警告で抑制できることはわかっていますが、これによりグローバルに抑制されます。これはできますか?
5 に答える
必要に応じて、警告を生成するコードを含む個々のファイルレベルでそれを抑制することができます。このようなもの。
<Build Include="Stored Procedures\X.sql">
<SuppressTSqlWarnings>71502</SuppressTSqlWarnings>
</Build>
どの71502メッセージが抑制され、どのメッセージが抑制されないかを決定するものが明確ではありませんでしたが、私自身の理解と調査に基づいて、答えは同じだと思います。要するに、違います。
すべての警告、または特定のコード(71502)に基づく警告を抑制することができますが、それは可能な限り詳細です。
http://msdn.microsoft.com/en-us/library/hh272681(v=VS.103).aspx
このリンクでは、エラーへの警告の促進について説明していますが、抑制フィルターの使用方法も示しています。これは、おそらくすでに知っている質問に基づいています。
http://social.msdn.microsoft.com/Forums/is/ssdt/thread/9b698de1-9f6d-4e51-8c73-93c57355e768
sprocのように、オブジェクト/ファイルレベルでこれを実行しようとしているようです。
これが必要な粒度のレベルである場合は、プロジェクトを開いた状態でオブジェクトを選択し、プロパティにTSql警告を抑制するオプションがあります。71502と入力すると、これで十分です。
オブジェクトに対する他の警告は引き続き発生します-他のオブジェクトの71502警告も同様です。
警告がストアドプロシージャから発生している場合は、sprocプロパティの[Suppress TSql Warning]セクションに警告の番号部分(さらに必要な場合はカンマ区切り)を追加することで、特定のsprocにSuppressを設定できます。
すでに述べたように、オブジェクトレベルでは、警告/エラーの発生をすべて無視することができます。不可能なオブジェクト内での警告の特定の発生のみを無視したい場合。
私はあなたにも役立つかもしれない回避策を見つけました。
私の場合、「select * into ...」ステートメントによって作成されたストアドプロシージャ内のテーブルを参照していますが、Visual Studioはこの新しいテーブルで次の参照を処理できず、SQL71502の警告が多数表示されます。SPの上部に作成したVSをだますために、次のようにします。
IF 1=2 CREATE mytable(...)
そうすることで、VSはすべての参照を検証できますが、if句の条件は常にfalseであるため、SPに悪影響はありません。必要に応じてCREATEステートメントを更新することを覚えておいてください。