我想要做的是验证一个 URL。我只需要能够从我们目前在 SQL Server 2008 中拥有的所有数据库中选择单个值。所有数据库都是相同的,只是不同用户的同一数据库的多个实例。
我希望从每个数据库的一个表中提取一项。
每个数据库都包含一个表SETTINGS
,并在该表中为MapIconURL
. 我需要每个数据库中每个表的值。我正在查看大约 30 个具有此值的数据库。
所以我找到了“未记录的”存储过程 sp_MsForEachDb 并且已经工作......到了一定程度。
我正在使用的代码是这样的:
EXEC sp_MsForEachDb 'use ?; SELECT "?" as databasename,SETTINGSKEYID, SECTION, NAME, INIVALUE, DESCRIPTION
FROM ?.dbo.SETTINGS
WHERE [NAME] = "MapIconURL"'
我注意到它没有选择所有数据库,但它也在选择主表以及其他系统表,并且我认为这可能是它没有选择所有表的原因。有没有办法排除系统相关的表?