2013-05-24 3 views
0

나는 아주 간단한 스크립트가 있습니다. 목적은이 실행되는 다른 데이터베이스 어떤 방식으로OpenQuery 로컬 테이블에

DECLARE @SQLString VARCHAR(2000) 

SET @SQLString = 'SELECT * from OPENQUERY(MyLinkedServer, 
    ''SELECT 
    ... 
    ... 
    FROM SomeSchema.SomeTable'')' 

INSERT INTO MySchema.MyTable 
      (
       ............ 
      ) 
      EXEC(@SQLString) 

의 테이블에 연결된 서버에서 데이터를 가져 오는 것입니다? @SQLStringEXEC을 설정하면 결과가 내 화면에 표시됩니다. 위의 스크립트를 실행하면 연결된 서버의 데이터가 내 로컬 컴퓨터로 이동 한 다음 내 SQL Server 데이터베이스가 해제되거나 데이터가 연결된 서버에서 SQL Server로 바로 이동한다는 의미입니까?

답변

1

distributed querieslinked servers에 대한 설명서 에서처럼 클라이언트에 연결하기 전에 데이터는 항상 연결된 서버에서 SQL Server로 이동합니다 (해당되는 경우). 클라이언트는 연결된 서버에 직접 연결되는 것이 아니라 SQL Server에만 연결되기 때문에 이것이 가능한 유일한 방법입니다.