SQL 2005にUDFがあり、インデックスが必要なビューで使用されるため、スキーマバインドする必要があります。
このUDFは、UDFが配置されているデータベースとは異なるデータベース(同じサーバー)に配置されているテーブルから情報を取得します。
テーブルを[DBName].dbo。[Tablename]として指定することは無効ですが、他のデータベースのテーブルから情報を取得する方法はありますか?
SQL 2005にUDFがあり、インデックスが必要なビューで使用されるため、スキーマバインドする必要があります。
このUDFは、UDFが配置されているデータベースとは異なるデータベース(同じサーバー)に配置されているテーブルから情報を取得します。
テーブルを[DBName].dbo。[Tablename]として指定することは無効ですが、他のデータベースのテーブルから情報を取得する方法はありますか?
スキーマバインディングは一貫性を保証することになっています。ただし、2つの異なるデータベース間で整合性を保証することはできないため、2つの異なるデータベース間でスキーマバインディングを作成することはできません。言い換えれば、達成することは不可能です。
たとえば、あるデータベースが以前の時点に復元されたと想像してください。インデックス付きビューのインデックスが破損し、クエリが間違った結果を返します。
UDFがDatabase1にあり、Database2のテーブルのデータにアクセスする必要がある場合は、Database2のテーブルから必要なデータを取得するビューをDatabase1に作成するだけです。次に、UDFでこのビューを使用します。
うまく機能します。私はこのアプローチを何度も使用しました。
それが役に立てば幸い。