なしですべてのビューを再作成する必要がありますSCHEMABINDING
が、 を使用してスクリプトを作成するとsyscomments
、text
列CREATE VIEW
にはALTER VIEW
. ALTER
スクリプトを生成するにはどうすればよいですか?
1 に答える
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
失敗するインデックス付きビューのステートメントを削除する必要がある場合があります。