2011-03-14 2 views
1

연결된 서버 집합에 대해 여러 쿼리를 실행해야합니다. 내가 시도하고 동적 SQL에 의지하지 않고 그것을하고 싶지만, 지금까지 문제가 발생했습니다.여러 연결된 서버에서 쿼리를 효율적으로 실행하는 방법은 무엇입니까?

SELECT @serverName = Name FROM #servers WHERE ID = @minID 

EXEC sp_addlinkedserver @[email protected], @srvproduct='SQL Server'   
EXEC sp_addlinkedsrvlogin @rmtsrvname = N'lani-radio001', @locallogin = NULL , @useself = N'False', @rmtuser = N'user1', @rmtpassword = N'Password1' 

declare @sql varchar(255) 
SET @sql = 'SELECT * from [' + @serverName + '].mydb.dbo.mytable' 
EXEC (@sql) 

내가 (#servers 테이블에 모두) 여러 서버에 대한 루프에서 위의 코드를 실행해야합니다 : 여기

는 내가 지금까지 가지고있는 것입니다. 어떻게 동적 SQL을 사용하지 않고이 문제를 해결할 수 있습니까?

P. 문제의 모든 서버는 SQL 서버에게 있습니다 이것에 대해 2005 년

+1

하지? :. 유일하게 가능한 다른 대답은 powershell을 사용하는 것입니다. – AgentDBA

답변

1

어떻게 동적 SQL 없이는 할 수 있는지

SELECT * FROM OPENQUERY(@serverName,'select * from mydb.dbo.mytable'); 
관련 문제