SQL Server의 다른 데이터베이스에서 테이블의 데이터를 선택하는 방법은 무엇입니까?
내가 이름이 어떤 데이터베이스를 가지고 있다고 가정합니다.testdb
테스트 서버에 있습니다.저는 prod 서버에 proddb라는 데이터베이스도 가지고 있습니다.
이제 proddb 데이터베이스에서 testdb 데이터베이스 테이블의 데이터를 선택하려고 합니다.
어떻게 하면 좋을까요?
또한 오라클의 데이터베이스 링크를 사용하여 할 수 있습니다.그러나 SQL Server에서 어떻게 이러한 작업을 수행할 수 있습니까?
sp_addlinked server()가 필요합니다.
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]
SQL Server 2012 이상에서는 링크를 생성할 필요가 없습니다.직접 실행할 수 있습니다.
SELECT * FROM [TARGET_DATABASE].dbo.[TABLE] AS _TARGET
이전 버전의 SQL Server도 작동하는지 여부를 알 수 없습니다.
연결된 서버를 통해 다른 서버 및 DB에 대한 쿼리를 설정하는 데 이전에 사용한 적이 있습니다.
EXEC sp_addlinkedserver @server='PWA_ProjectServer', @srvproduct='',
@provider='SQLOLEDB', @datasrc='SERVERNAME\PWA_ProjectServer'
위의 의견에 따라:
select * from [server].[database].[schema].[table]
예.
select top 6 * from [PWA_ProjectServer].[PWA_ProjectServer_Reporting].[dbo].[MSP_AdminStatus]
서버 간 쿼리를 수행하려면 도움말 파일에서 시스템 저장 프로시저 sp_addlinkedserver를 확인하십시오.
서버가 연결되면 서버에 대해 쿼리를 실행할 수 있습니다.
Microsoft SQL Server Management Studio를 사용하여 생성할 수 있는Linked Server
먼저 현재(로컬) 서버에 연결한 후 다음으로 이동합니다.Server Objects
>Linked Servers
> 상황에 맞는 메뉴 >New Linked Server
창내New Linked Server
원격 서버에 대해 원하는 서버 이름, 실제 서버 이름 또는 IP 주소(데이터 원본) 및 자격 증명(보안 페이지)을 지정해야 합니다.
또한 연결된 서버에서 데이터를 선택할 수 있습니다.
select * from [linked_server_name].[database].[schema].[table]
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
Select * from [Database].[dbo].[TableName]
select * from [dbTest].[dbo].[Products]
언급URL : https://stackoverflow.com/questions/720339/how-to-select-data-of-a-table-from-another-database-in-sql-server
'programing' 카테고리의 다른 글
존재하지 않는 행 업데이트/삭제 시 PL/SQL 예외 (0) | 2023.06.30 |
---|---|
엔터티-속성-값 설계(예: 데이터 유형당 여러 개의 열이 있는 단일 테이블 또는 여러 테이블)에서 서로 다른 데이터 유형을 처리하려면 어떻게 해야 합니까? (0) | 2023.06.30 |
이 해커는 무엇을 하려고 합니까? (0) | 2023.06.30 |
판다 데이터 프레임 열 헤더를 모두 소문자로 만들려면 어떻게 해야 합니까? (0) | 2023.06.30 |
Oracle에서 'Buffer Gets'는 실제로 무엇을 의미합니까? (0) | 2023.06.30 |