私はVS2010データベースプロジェクトで次のようなものを持っています:
SELECT object_id
FROM [$(MyOtherDB)].sys.tables
つまり、ユーザー データベース参照を介してグローバル システム オブジェクトを参照します。master.dbschema
含まれるプロジェクトと MyOtherDB プロジェクトの両方からの参照と、含まれるプロジェクトから MyOtherDB プロジェクトへの参照を設定しましたが、それでもSQL04151警告が表示されます。このスレッド (Gert Drapers がバグであることを確認しているようです) には、それに関する詳細情報があります。 -9275-5df48baef9b1 .
これは私にはバグのようです。master.dbschema ファイル内のオブジェクトは GloballyScoped としてマークされています。これは、グローバル名前空間内に存在することを意味します。これは、次の方法で参照できることを意味します。
- [マスター].[sys].[オブジェクト]
- [userdb].[sys].[オブジェクト]
- [システム].[オブジェクト]
オプション 2 は、機能するはずなのに明らかに機能しません。
Google経由でこのシナリオへの他の参照を見つけることができませんでした. 誰かがこれに遭遇し、修正や回避策を知っているかどうか疑問に思っていましたか?