Мне нужно запросить все таблицы с определенным именем во всех базах данных на сервере. Базы данных ежедневно создаются ISA, а их имена генерируются маской ISALOG_ current_date _WEB_000. Каждая база данных содержит таблицу WebProxyLog. Общее количество баз данных - 60. Моя цель - запросить WebProxyLog таблицу во всех базах данных или в базах данных конкретных дат. Что-то вроде петли Еогеасп:Выберите из всех таблиц во всех базах данных с определенным именем
foreach($db in $databases)
{
if($db.Name.Contains("_web"))
{
SELECT [ClientUserName],[logTime],[uri],[UrlDestHost],[bytesrecvd],[bytessent],[rule]
FROM [$db].[dbo].[WebProxyLog]
WHERE [ClientUserName] like ''%username%''
}
}
Идеально, если результат запроса будут объединены в одну таблицу или представление. Есть ли способ выполнить это?
Большое спасибо! Я немного изменил ваш SELECT, и теперь он работает как шарм! –
Переменная '@ SQL' содержит запрос объединения для таблиц с именем' WebProxyLog' во всех упомянутых вами базах данных. Я добавил имя базы данных в исходный запрос, но, конечно, вам не нужно использовать его, если он вам не нужен. Однако, если ответ решил вашу проблему, тогда вы должны пометить ее как принятую, чтобы другие люди знали, что проблема решена. –