복붙노트

[SQL] 어떻게 SQL Server의 다른 데이터베이스에서 테이블의 데이터를 선택하려면?

SQL

어떻게 SQL Server의 다른 데이터베이스에서 테이블의 데이터를 선택하려면?

내가 테스트 서버에 TESTDB라는 데이터베이스를 가지고 가정하자. 또한 나는 자극 서버에서 데이터베이스 이름을 PRODDB 있습니다.

지금은 PRODDB 데이터베이스에서 TESTDB 데이터베이스의 테이블의 데이터를 선택합니다.

어떻게 SQL 서버에서 그렇게 할 수 있습니까?

또한, 나는 오라클 데이터베이스 링크를 사용하여 그것을 할 수 있습니다. 하지만 어떻게 SQL 서버에서 그렇게 할 수 있습니까?

해결법

  1. ==============================

    1.당신은) (sp_addlinkedserver를 필요

    당신은) (sp_addlinkedserver를 필요

    http://msdn.microsoft.com/en-us/library/ms190479.aspx

    예:

    exec sp_addlinkedserver @server = 'test'
    

    그때

    select * from [server].[database].[schema].[table]
    

    당신의 예에서 :

    select * from [test].[testdb].[dbo].[table]
    
  2. ==============================

    2.위의 SQL 서버 2012에서는 링크를 만들 필요가 없습니다. 직접 실행할 수 있습니다

    위의 SQL 서버 2012에서는 링크를 만들 필요가 없습니다. 직접 실행할 수 있습니다

    SELECT * FROM [TARGET_DATABASE].dbo.[TABLE] AS _TARGET
    

    나도 몰라 여부 이전의 SQL 서버 작업의 버전뿐만 아니라

  3. ==============================

    3.나는 연결된 서버를 통해 다른 서버와 DB에 대한 쿼리 설정을하기 전에이 사용했습니다 :

    나는 연결된 서버를 통해 다른 서버와 DB에 대한 쿼리 설정을하기 전에이 사용했습니다 :

    EXEC sp_addlinkedserver @server='PWA_ProjectServer', @srvproduct='',
    @provider='SQLOLEDB', @datasrc='SERVERNAME\PWA_ProjectServer'
    

    주석 위의 당 :

    select * from [server].[database].[schema].[table]
    

    EG

    select top 6 * from [PWA_ProjectServer].[PWA_ProjectServer_Reporting].[dbo].[MSP_AdminStatus]
    
  4. ==============================

    4.도움말 파일에 sp_addlinkedserver를 : 시스템 저장 프로 시저를 체크 아웃, 크로스 서버 쿼리를 수행합니다.

    도움말 파일에 sp_addlinkedserver를 : 시스템 저장 프로 시저를 체크 아웃, 크로스 서버 쿼리를 수행합니다.

    서버가 연결되면 당신은 그것에 대해 쿼리를 실행할 수 있습니다.

  5. ==============================

    5.당신이 연결된 서버를 만들 수있는 Microsoft SQL Server Management Studio를 사용하여. 현재 (로컬) 서버에 먼저 메이크업 연결, 다음 서버 개체> 연결된 서버> 컨텍스트 메뉴> 새 연결된 서버로 이동합니다. 창 새 연결된 서버에서는 원격 서버, 실제 서버 이름 또는 IP 주소 (데이터 소스) 및 자격 증명 (보안 페이지)에 대한 원하는 서버 이름을 지정해야합니다.

    당신이 연결된 서버를 만들 수있는 Microsoft SQL Server Management Studio를 사용하여. 현재 (로컬) 서버에 먼저 메이크업 연결, 다음 서버 개체> 연결된 서버> 컨텍스트 메뉴> 새 연결된 서버로 이동합니다. 창 새 연결된 서버에서는 원격 서버, 실제 서버 이름 또는 IP 주소 (데이터 소스) 및 자격 증명 (보안 페이지)에 대한 원하는 서버 이름을 지정해야합니다.

    그리고 더 당신은 연결된 서버에서 데이터를 선택할 수 있습니다 :

    select * from [linked_server_name].[database].[schema].[table]
    
  6. ==============================

    6.OPENDATASOURCE를 사용해보십시오 구문은 다음과 같이이다 :

    OPENDATASOURCE를 사용해보십시오 구문은 다음과 같이이다 :

    select * from OPENDATASOURCE ('SQLNCLI', 'Data Source=192.168.6.69;Initial Catalog=AnotherDatabase;Persist Security Info=True;User ID=sa;Password=AnotherDBPassword;MultipleActiveResultSets=true;' ).HumanResources.Department.MyTable    
    
  7. from https://stackoverflow.com/questions/720339/how-to-select-data-of-a-table-from-another-database-in-sql-server by cc-by-sa and MIT license