SQL 은 서로 다른 서버 및 로 컬 데이터 조작 을 실현 합 니 다.
1. -- 링크 서버 만 들 기
exec sp_addlinkedserver 'ITSV', ' ', 'SQLOLEDB', ' ip '
exec sp_addlinkedsrvlogin 'ITSV', 'false ',null, ' ', ' '
2. 두 서버 의 MSDTC 서 비 스 를 시작 합 니 다.
MSDTC 서 비 스 는 분산 형 트 랜 잭 션 서 비 스 를 제공 합 니 다. 데이터베이스 에서 분산 형 트 랜 잭 션 을 사용 하려 면 참여 하 는 쌍방 서버 에서 MSDTC (Distributed Transaction Coordinator) 서 비 스 를 시작 해 야 합 니 다.
3. 쌍방의 135 포트 열기
MSDTC 서 비 스 는 RPC (Remote Procedure Call (RPC) 서비스 에 의존 하 며, RPC 는 135 포트 를 사용 해 RPC 서비스 가 시 작 될 수 있 도록 하고, 서버 에 방화벽 이 있 으 면 135 포트 가 방화벽 에 막 히 지 않도록 한다."telnet IP 135" 명령 을 사용 하여 상대방 포트 가 대외 적 으로 개방 되 었 는 지 테스트 합 니 다.포트 스 캔 소프트웨어 (예 를 들 어 Advanced Port Scanner) 스 캔 포트 를 사용 하여 포트 가 열 렸 는 지 여 부 를 판단 할 수 있 습 니 다.
4. 트리거 를 만 들 려 면
create trigger t_test on test
for insert,update,delete
as
-- ,
set xact_abort on
begin distributed tran
delete from openrowset('sqloledb','xz';'sa';'',test.dbo.test)
where id in(select id from deleted)
insert into openrowset('sqloledb','xz';'sa';'',test.dbo.test)
select * from inserted
commit tran
--
select * from ITSV. .dbo.
--
select * into from ITSV. .dbo.
--
exec sp_dropserver 'ITSV ', 'droplogins '
/* */
구체 적 과정
-- 링크 서버 만 들 기
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', ' ip '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, ' ', ' '
-- 조회 예시
select * from ITSV. .dbo.
-- 예시 도입
select * into from ITSV. .dbo.
-- 이후 사용 하지 않 을 때 링크 서버 삭제
exec sp_dropserver 'ITSV ', 'droplogins '
원 격 / 랜 데이터 연결 (openrowset / openquery / opendatasource)
1、openrowset
-- 조회 예시
select * from openrowset( 'SQLOLEDB ', 'sql '; ' '; ' ', .dbo. )
-- 본 지표 생 성
select * into from openrowset( 'SQLOLEDB ', 'sql '; ' '; ' ', .dbo. )
-- 본 지표 면 을 원 격 표 로 가 져 오기
insert openrowset( 'SQLOLEDB ', 'sql '; ' '; ' ', .dbo. )
select *from
-- 본 지표 업데이트
update b
set b. A=a. A
from openrowset( 'SQLOLEDB ', 'sql '; ' '; ' ', .dbo. )as a inner join b
on a.column1=b.column1
2. openquery 용법 은 연결 을 만들어 야 합 니 다.
-- 우선 연결 을 만들어 링크 서버 를 만든다
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', ' ip '
-- 조회
select *
FROM openquery(ITSV, 'SELECT * FROM .dbo. ')
-- 본 지표 면 을 원 격 표 로 가 져 오기
insert openquery(ITSV, 'SELECT * FROM .dbo. ')
select * from
-- 본 지표 업데이트
update b
set b. B=a. B
FROM openquery(ITSV, 'SELECT * FROM .dbo. ') as a
inner join b on a. A=b. A
3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID= ;Password= ' ).test.dbo.roy_ta
--
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.