注釈付きスキーマのセキュリティに関する注意点 (SQLXML 4.0)
適用対象: SQL Server Azure SQL Database
次に、注釈付きスキーマを使用する場合のセキュリティに関するガイドラインを示します。
マッピング スキーマでは既定のマッピングを使用しないようにしてください。 既定のマッピングでは、要素名がテーブル名にマップされ、属性名が列名にマップされるため、結果の 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';"