• ベストアンサー

ビューにインデックスを設定できませんか?

SQL Server 2005 EXPRESS を使用しています。 トランザクションのテーブルにマスタを結合して表示するビューを作成しました。 実際に利用する時はトランザクションテーブルの主キーを検索に多用すると予想されるので、該当のフィールドにインデックスを設定したいのですが… Management Studio でインデックスを設定しようとするとエラーになります。 エラーメッセージは インデックス '' の作成に失敗しました。 (Microsoft.SqlServer.Express.Smo) ------------------------------ ADDITIONAL INFORMATION: Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。 (Microsoft.SqlServer.Express.ConnectionInfo) ------------------------------ ビュー 'View' に インデックス を作成できません。ビューにはスキーマがバインドされていません。 (Microsoft SQL Server, Error: 1939) となっています。まさにメッセージのとおりだとは思うのですが 「ビューにスキーマをバインドする」方法がわかりません。 どなたかご教授いただければ助かります。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

SCHEMABINDINGオプションがあるようですね。以下が参考になるでしょうか。 http://msdn.microsoft.com/ja-jp/library/ms187956(SQL.90).aspx http://msdn.microsoft.com/ja-jp/library/ms173846(SQL.90).aspx

TM03hsai
質問者

お礼

アドバイス、ありがとうございます。使っている環境で試してみます。

その他の回答 (1)

  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.2

インデックス付きビューの作成 http://technet.microsoft.com/ja-jp/library/ms191432(SQL.90).aspx 上記の「必要条件」を参照してください。

TM03hsai
質問者

お礼

ポイントは回答をいただいた順番でつけさせていただきましたが、こちらのサイトも大変参考になりました。ありがとうございました。

関連するQ&A