Я добавил свой локальный сервер pblack как связанный сервер в SQL Server 2008 R2
---1)
EXEC master.dbo.sp_addlinkedserver @server = N'pblack',
--'pblack' is my localhost
@srvproduct=N'SQL Server'
и успешно выполнен 2) и 3):
--2)
sp_MSforeachtable @command1="EXEC sp_spaceused '?'"
--3)
SELECT * INTO #temp
FROM OPENQUERY(pblack,'exec sp_who')
SELECT * FROM #temp
4)
КакМогу ли я вставить 2) в 3) вместо «exec sp_who».Мне не удается правильно процитировать выражения ...
Почему я не могу связать локальный или локальный хост в SQL Server 2008R2?
Обновление:
Цель состоит в том, чтобы дополнительно изменить SELECT, например, вывести max (данные) - найти таблицу с максимальным размером
Update2:
SELECT * INTO #temp
FROM OPENQUERY
(
pblack,
'EXEC sp_MSforeachtable @command1= '' EXEC sp_spaceused ''''?'''' '' '
)
выдает ошибку:
Msg 208, Level 16, State 1, Procedure sp_MSforeach_worker, Line 102
Invalid object name '#qtemp'.
Я попытался объединить строки +, используя переменные temp varchar, получив ту же ошибку.
Я подозреваю, что проблема глубже, так как "select" кажется не из одного набора строк, а из нескольких?
Ну, я могу утонуть в изучении кода, но я ожидаю найти некоторый (волшебный) обходной путь.