>  기사  >  데이터 베이스  >  MySQL과 MS SQL Server의 서로 다른 서버에 있는 데이터베이스를 어떻게 결합할 수 있습니까?

MySQL과 MS SQL Server의 서로 다른 서버에 있는 데이터베이스를 어떻게 결합할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-14 12:36:02514검색

How can I join databases on different servers in MySQL and MS SQL Server?

FEDERATED 스토리지 엔진 및 연결된 서버를 사용하여 서로 다른 서버의 데이터베이스 조인

MySQL에서는 서로 다른 서버의 여러 데이터베이스에 연결하고 이들 간의 조인을 수행할 수 있습니다. 이는 FEDERATED Storage Engine을 사용하거나 MS SQL Server와 같은 다른 DBMS에 연결된 서버를 사용하여 달성할 수 있습니다.

FEDERATED Storage Engine

FEDERATED Storage Engine을 사용하면 가상 데이터베이스를 생성할 수 있습니다. 다른 서버의 테이블을 참조하는 테이블입니다. FEDERATED를 사용하려면 원격 서버에 대한 연결 매개변수를 지정하는 외부 데이터 래퍼를 생성해야 합니다. 외부 데이터 래퍼를 생성한 후에는 원격 테이블을 참조하는 연합 테이블을 생성할 수 있습니다. 그런 다음 연합 테이블을 다른 테이블과 마찬가지로 쿼리에 사용할 수 있습니다.

다음은 연합 테이블을 생성하는 방법의 예입니다.

CREATE FOREIGN DATA WRAPPER my_wrapper
  OPTIONS (
    HOST 'server2',
    PORT '3306',
    USER 'username',
    PASSWORD 'password'
  );

CREATE FOREIGN TABLE my_table
  (
    id INT,
    name VARCHAR(255)
  )
  SERVER my_wrapper
  OPTIONS (
    TABLE_NAME 'my_table'
  );

연합 테이블이 생성되면, 다른 테이블과 마찬가지로 쿼리에 사용할 수 있습니다.

SELECT * FROM my_table;

MS SQL Server의 연결된 서버

MS SQL Server를 사용하는 경우 연결된 서버를 사용하여 다른 테이블에 연결할 수 있습니다. 다른 서버의 데이터베이스. 연결된 서버를 사용하면 마치 로컬 테이블인 것처럼 원격 테이블에 대해 쿼리를 실행할 수 있습니다.

연결된 서버를 생성하려면 sp_addlinkedserver 저장 프로시저를 사용하세요.

EXEC sp_addlinkedserver
  @server = 'server2',
  @srvproduct = 'MySQL'

연결된 서버가 생성되면 다른 서버와 마찬가지로 쿼리에 사용할 수 있습니다.

SELECT * FROM server2.my_database.dbo.my_table;

위 내용은 MySQL과 MS SQL Server의 서로 다른 서버에 있는 데이터베이스를 어떻게 결합할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.