1

なしですべてのビューを再作成する必要がありますSCHEMABINDINGが、 を使用してスクリプトを作成するとsyscommentstextCREATE VIEWにはALTER VIEW. ALTERスクリプトを生成するにはどうすればよいですか?

4

1 に答える 1

4

1 つの方法として、オブジェクト エクスプローラーで [Views] ノードを強調表示してからF7( View > Object Explorer Details) をクリックします。右側にはすべてのビューが表示されます。残念ながら、ビューにSCHEMABINDING. そのため、必要なものを手動で選択する必要があります (または、System Viewsフォルダー以外のすべてを選択するだけです)。次に、右クリックしますScript View As > DROP and CREATE to > New Query Editor Window。これで、そのスクリプトで を検索しSCHEMABINDING、各インスタンスを削除またはコメントアウトしてから、スクリプトを実行できます。選択したビューの一部がSCHEMABINDING最初から存在しなかった場合、大したことではありません。それらのビューも削除され、再作成されます。

CREATE VIEW(私の意見では、これは、検索して置換しようとするよりもはるかに簡単ですALTER VIEW- と の間に任意の数の空白文字が存在する可能性がCREATEありVIEW、 をコメントまたは削除する必要があるためSCHEMABINDINGです。害はないかもしれませんが、一部としてこの演習では、ここでの構文規則が一貫していることを確認し、準拠していないビューを修正します。たとえば、 (スペースを表すアンダースコア) に変更CREATE______VIEWします。CREATE_VIEW

これにより、これらのビューに関連付けられているすべてのインデックスが明らかに削除されることに注意してください。

また、スクリプトの生成ウィザードでは、すべてのビューを選択できますが、ビューがあるかどうかでフィルタリングすることはできSCHEMABINDINGず、ウィザードはスクリプトを作成しませんが、[詳細設定] でALTER選択できることに注意してください。DROP and CREATE出力を調整して を削除するSCHEMABINDING必要があり、選択したオプションによっては、CREATE INDEX失敗するインデックス付きビューのステートメントを削除する必要がある場合があります。

于 2013-08-20T17:51:52.623 に答える