2013-02-22 1 views
0

#tempTable을 서버 전환 후 메모리에 유지하려면 어떻게해야합니까? 이것이 가능한가?서버를 전환 한 후 임시 테이블을 메모리에 유지 하시겠습니까?

Select * 
into #tempTable 
from dbo.table 

는 내가 서버 2에서 비교하려는 서버 1에서 데이터를 가지고 있지만 난 단지 서버 2에서 읽기 전용 서버 2 (그래서 난 그냥 내 데이터를 이동할 수 없습니다)에 액세스하고 테이블이 너무 커서 서버 1로 이동할 수 없습니다. 따라서 새 서버에 연결 한 후 임시 테이블을 메모리에 보관하는 방법을 알고 싶습니다.

감사합니다. 감사드립니다.

+1

실제 서버간에 데이터를 이동하지 않고 연결된 서버를 사용할 수 없습니까? – Lamak

+0

그 부분을 살펴 보겠습니다. SQL Server Management Studio를 사용하고 있습니다. – sooprise

+2

괜찮습니다.하지만 다른 서버의 한 서버에서 임시 테이블을 사용할 수는 없습니다. – Lamak

답변

0

쓸 수 있지만 테이블이있는 서버에 임시 테이블을 만듭니다.

당신은 아마 원하는 : 당신이 그것을 복사 한

이 는
select * 
into #Server2Table 
from server2.database.dbo.table 

그런 다음 (예 : SSMS에서 같은 창 또는 동일한 작업 단계 또는 같은 저장 프로 시저로) 동일한 연결에 대한 추가 질의에 #Server2Table을 사용할 수 있습니다 . 보다 영구적 인 위치에 필요하면 전역 임시 테이블 (##으로 시작) 또는 "실제"테이블을 사용하십시오. 당신은 서버 1에서이 작업을 실행하는 것입니다

sp_addlinkedserver server2 

:

이 같은 것을 사용하여 서버를 연결 할 수있는 능력이 필요합니다. 아마 당신의 DBA가 그것을 설정할 필요가있을 것입니다.

임시 테이블에 서버 간 테이블을로드 할 때 쿼리가 자주 더 빠르게 실행되는 것으로 나타났습니다. 임시 테이블이 메모리에 저장되어 있기 때문에 이 아닌입니다. 이는 SQL 최적화 프로그램이 활용할 수있는 로컬 서버의 테이블에 대한 추가 정보가 있기 때문입니다.

0

쿼리의 데이터를 내보내고 첫 번째 서버의 데이터베이스로 가져올 수 있습니다. SQL Server 가져 오기/내보내기 마법사를 사용할 수 있습니다. 비트가 복잡하지만, 이런 일이 많이 발생하면 SSIS를 사용하여이 이동을 자동화하거나 단순히이 패키지 저장 상자에 체크하십시오. 첫 번째 서버에 데이터가 있으면 원하는대로 할 수 있습니다.

+0

테이블 크기 때문에 불행하게도 불가능합니다. – sooprise

+0

@sooprise 비교할 때 무엇을하려합니까? – twoleggedhorse

관련 문제