私がやろうとしているのは、URL を確認することです。現在 SQL Server 2008 にあるすべてのデータベースからその単一の値を選択できるようにする必要があります。すべてのデータベースは同じであり、異なるユーザーに対して同じデータベースの複数のインスタンスがあるだけです。
各データベースの 1 つのテーブルから 1 つのアイテムを取得しようとしています。
各データベースにはテーブルが含まれており、SETTINGS
そのテーブル内には の値がありMapIconURL
ます。各データベース内の各テーブルの値が必要です。私は、この価値を持つ約 30 ほどのデータベースを見ています。
そこで、「文書化されていない」ストアド プロシージャ sp_MsForEachDb を見つけて、作業を行いました。
私が使用しているコードは次のとおりです。
EXEC sp_MsForEachDb 'use ?; SELECT "?" as databasename,SETTINGSKEYID, SECTION, NAME, INIVALUE, DESCRIPTION
FROM ?.dbo.SETTINGS
WHERE [NAME] = "MapIconURL"'
すべてのデータベースを選択しているわけではなく、マスター テーブルと他のシステム テーブルも選択していることに気付きました。それがすべてのテーブルを選択していない理由ではないかと考えています。システム関連のテーブルを除外する方法はありますか?