2016-07-22 2 views
0

두 개의 서로 다른 서버 컴퓨터에 두 개의 SQL Server 데이터베이스 서버가 있습니다.SQL Server 온라인 쿼리

  • 서버 A - 192.168.1.100
  • 서버 B - I는 서버 B에 테이블에서 데이터를 검색하는 서버 A에서 쿼리를 실행해야 192.168.2.102

이것을 수행하기 위해 SQL select 문을 작성하는 방법은 무엇입니까?

이러한 유형의 쿼리를 허용하는 서버 구성이 있습니까?

+3

한 가지 방법은 연결된 서버를 정의하고 모두 대문자에 질문의 제목을 입력하지 마십시오 – lad2025

+0

linked_server.db_name.schema_name.table_name''네 부분으로 된 이름을 사용하는 것입니다. 그것은 여기서 생각하고있어 그렇게 할 필요가 없습니다. 우리는 모두 잘 읽을 수 있으며 질문을하면 더 빨리 답을 얻지 못할 것입니다. 도움을 청하는 사람들에게 허풍을 피는 것은 오히려 무례합니다. :-) –

+0

MSSMS를 사용하여 SQL Server에 연결하십시오. 서버 인스턴스를 확장하십시오. 서버 오브젝트를 확장 한 후 링크 된 서버를 확장하십시오. 다른 서버에 연결할 수 있으며 언급 한 lad2025와 같이 4 부분으로 구성된 이름을 사용하여 쿼리에서 서버를 참조 할 수 있습니다. –

답변

1

여기에 링크 된 서버를 추가하려면 1 가지 방법이 있습니다. 사용자 및 암호 값을 적절한 SQL 권한 정보로 바꾸십시오.

EXECUTE master.dbo.sp_addlinkedserver @server = N'192.168.2.102', @srvproduct=N'SQL Server' 
EXECUTE master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.2.102',@useself=N'False',@rmtuser='ASQLLogin',@rmtpassword='Password' 

과 같이 linked_server.db_name.schema_name.table_name 위에 주석으로 단순히 일반 테이블 만이 앞에 연결된 서버를 추가 할 것입니다 당신처럼 조회 :

SELECT * 
FROM 
    [192.168.2.102].[DatabaseName].[SchemaName].[TableName] 

심지어에 가입 할 수 있습니다 로컬 서버 A.

SELECT * 
FROM 
    [192.168.2.102].[DatabaseName].[SchemaName].[TableName] b 
    INNER JOIN SomeTableOnServerA a 
    ON b.ID = a.ID