2012-01-24 1 views
1

를 작동하지 않는 경우, 테이블 이름 내가 금성을 선택합니다 테이블 이름이 Venus연결된 서버 쿼리</p> <p>서버 1 이름 <code>Server</code>입니다 연결된 서버 쿼리를 만드는 방법을 제대로

입니다 Employee 서버 2 명 RAPAN입니다 테이블 (server2) ~ server1.

쿼리

시도 쿼리

EXEC sp_addlinkedserver 
    @server = 'server', 
    @srvproduct = '', 
    @provider = 'SQLOLEDB', 
    @datasrc = 'RAPAN' 
GO 

쿼리 성공적으로 실행,하지만 서버 1을 통해 select * from venus하려고 할 때, 그것은 invalid object name

으로 오류를주고 통해이 작업을 수행하는 방법에 내 쿼리에 어떤 문제가 있습니까 ...

답변

1
  • 로그인 매핑을 t 자신의 서버
  • 당신은 (당신의 필요에 옵션 앤 플레이) 연결된 서버 사용을 추가하려면 SELECT * FROM server1.RAPAN.dbo.venus

처럼 전체 명명 규칙으로 조회해야

EXEC sys.sp_addlinkedserver @server = 'RAPAN', @srvproduct = 'SQL Server' 

설정 옵션 옵션

EXEC sys.sp_serveroption @server = 'RAPAN', @optname = 'collation compatible', @optvalue = 'On' 
EXEC sys.sp_serveroption @server = 'RAPAN', @optname = 'data access', @optvalue = 'On' 
EXEC sys.sp_serveroption @server = 'RAPAN', @optname = 'lazy schema validation', @optvalue = 'On' 
EXEC sys.sp_serveroption @server = 'RAPAN', @optname = 'rpc', @optvalue = 'On' 
EXEC sys.sp_serveroption @server = 'RAPAN', @optname = 'rpc out', @optvalue = 'On' 

로그인 (And read more)

EXEC sys.sp_addlinkedsrvlogin @rmtsrvname = 'RAPAN' 
+0

추가 나는이 EXEC의 sp_addlinkedsrvlogin을 'RAPAN', '거짓', '사', 'SA'처럼 덧붙였다. 성공적으로 실행되었지만 "select * from server1.RAPAN.dbo.venus"라는 쿼리를 실행하려고하면 "sa에 로그인하지 못했습니다."라는 오류가 표시됩니다 – JetJack

+0

원격 sa에 암호 ** sa **가 있습니까? –

+0

EXEC sp_addlinkedsrvlogin 'RAPAN', 'false', 'sa', 'sa', 'remotesapassword' –