2016-12-28 4 views
0

저는 두 SQL Server 인스턴스가 있습니다. 액세스 연결된 서버에 직접

난 그냥 다음 문을 실행하는 서버의 역설 테이블의 일부에 액세스하려면 :

SELECT * 
FROM [ParadoxDBLinkedServer]...Clients 

그런 다음 나는 SQLSERVER64 인스턴스에서 이러한 개체에 액세스해야합니다. 그렇게하기 위해이 인스턴스에 을 가리키는 연결된 서버 [.\SQLSERVER32]을 만들었습니다.

이제는 SQLSERVER64 인스턴스에서 ParadoxDBLinkedServer 개체에 직접 액세스하려고합니다. 내 말은 다른 연결된 서버에서 연결된 서버에 액세스하는 것입니다.

실행하려고 쿼리 미안은 다음 하나입니다

SELECT * 
FROM [.\SQLSERVER32].[ParadoxDBLinkedServer ]...Clients 

그러나 나는이 오류가 :

The number name '.\SQLSERVER32.ParadoxDBLinkedServer ...Clients' contains more than the maximum number of prefixes. The maximum is 3.

이 같은 액세스를 수행 할 수있는 방법이 있나요? 내가 여기서 무엇을 놓치고 있니?

오버 헤드를 줄이기 위해 SQLSERVER32 인스턴스에서 ParadoxDBLinkedServer의 각 테이블에 대한보기를 만드는 것을 피하려고합니다. [. \ SQLSERVER32]..`[ParadoxDBLinkedServer] [SCHEMA_NAME :

+0

을 당신 당신이 당신의 네 부분 명명 규칙에 여분의 객체가있을 때이 오류가 (Linkedservername, '* TABLENAME에서 선택') ]. [Table_Name]'시도해보십시오. –

+0

@Darshan_Viswanath_BI, 스키마가 없습니다. 사실 기본 스키마에 있습니다. 하지만 시도 [. \ SQLSERVER32]. [ParadoxDBLinkedServer]. [기본]. 클라이언트가 : 연결된 서버 "% ls"의 OLE DB 공급자 "% ls"에 테이블 "% ls"이 (가) 없습니다. 테이블이 존재하지 않거나 현재 사용자에게 해당 테이블에 대한 사용 권한이 없습니다. – Andres

+0

두 서버에 모두 로그인하여 [데이터베이스]. [dbo]. [클라이언트]'중에서 선택하십시오. [ParadoxDBLinkedServer]를 접두어로 사용하는 것이 솔루션이어야합니다. 테이블이 없거나 필요한 사용 권한이 없다면 알 수 있습니다. –

답변

0

선택 * OPENQUERY에서