注釈付きスキーマのセキュリティに関する注意点 (SQLXML 4.0)
次に、注釈付きスキーマを使用する場合のセキュリティに関するガイドラインを示します。
マッピング スキーマでは既定のマッピングを使用しないようにしてください。既定のマッピングでは、要素名がテーブル名にマップされ、属性名が列名にマップされるため、結果の XML ドキュメントではデータベース情報 (テーブル名と列名) が公開されることになります。データベースのテーブルと列の情報には XML ドキュメントを表示できるユーザーであればだれでもアクセスできるので、これにより、セキュリティが脅かされる可能性があります。この危険を避けるため、スキーマで任意の要素名と属性名を指定し、注釈を使用してそれらを明示的にテーブルと列にマップするようにしてください。XSD スキーマの作成における既定のマッピングの使用に関する詳細については、「テーブルおよび列への XSD 要素および属性の既定のマッピング (SQLXML 4.0)」を参照してください。
注釈を使用して指定する明示的なマッピングでは、データベース情報 (テーブル名、列名など) が公開されます。このため、これらのスキーマはだれもがアクセスできる場所に置かないことをお勧めします。
max-depth 注釈が大きな値に設定されており、再帰が行われるマッピング スキーマに対するクエリなど、実行に時間がかかるクエリがあります。Command Time Out プロパティを使用すると、タイムアウト制限を秒単位で指定できます。次に例を示します。
cn.Open "Provider=SQLOLEDB;Server=localhost;Database=tempdb;Integrated Security=SSPI;Command Properties='Command Time Out=50';"