多くのデータベースで以下のクエリを実行する必要があります.100以上のデータベースがありますが、各データベースをプルアップしてクエリを1つずつ実行したくありません。SQLすべてのデータベースを照会
UserテーブルはDatabase#_Account
にのみリストされています。
Database#_Admin
にUser
テーブルがないため、クエリが実行されるとエラーが発生します。
(例データベースのリスト)
Database:
---------------------
MASTER
Model
msdb
tempdb
Database1_Account
Database1_Admin
Database2_Account
Database2_Admin
Database3_Account
Database3_Admin
問合せ:
EXEC sp_MsForEachDb @command1 = SELECT "?" as DatabaseName, *
FROM ?.User
WHERE Name = "John" AND "?" LIKE "%_Account"
だけ動のクエリhttps://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sqlを構築します-server/ –
また、まずテーブルが存在するかどうかを確認する必要があります。 https://stackoverflow.com/questions/167576/check-if-table-exists-in-sql-server –
問題は、選択したデータベースでのみクエリを実行していることです。私はディナミクスのクエリを見てきましたが、Select Databaseの検索については何も言いません。 –