- MSSQL 연결된 서버 생성
- MSSQL 연결계정 생성
- MSSQL 연결된 서버 확인
- MSSQL 연결계정 확인
- MSSQL 연결된 서버 이용방법
- MSSQL 일반서버에 SELECT 쿼리시
- MSSQL 연결된 서버에 SELECT 쿼리시
- MSSQL 연결된 서버 삭제
- MSSQL 연결계정 삭제
[참고사항] 연결된 서버 삭제
- 예제 1
- 예제 2
- 예제 3
- 192.168.1.3 서버 test.dbo.성적 테이블
- 예제 4
- 예제 4 쿼리
원본
https://m.blog.naver.com/PostView.nhn?blogId=diceworld&logNo=220311810558&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
EXEC sp_addlinkedserver @server = '[연결된 서버별칭]', @srvproduct = '', @provider = 'SQLOLEDB', @datasrc = '[서버 아이피]', @catalog = '[데이터 베이스명]' |
- MSSQL 연결계정 생성
EXEC sp_addlinkedsrvlogin @rmtsrvname= '[연결된 서버별칭]', @useself= 'false', @rmtuser = '[(연결할 서버의)사용자 이름]', @rmtpassword = '[(연결할 서버의)사용자 암호]' |
- MSSQL 연결된 서버 확인
SELECT * FROM master.dbo.sysservers WHERE srvname = '[연결된 서버별칭]' |
- MSSQL 연결계정 확인
SELECT * FROM master.sys.linked_logins WHERE remote_name = '[사용자 이름]' |
- MSSQL 연결된 서버 이용방법
연결된 서버를 등록한 후 사용하려면 [연결된 서버별칭].[데이터 베이스명].[데이터베이스 소유자명].[테이블명]
형태로 호출하여 사용할 수 있습니다.
SELECT 쿼리를 예로 들면 아래와 같습니다.
|
- MSSQL 일반서버에 SELECT 쿼리시
SELECT [컬럼명] FROM [테이블명] WHERE [조건절] |
- MSSQL 연결된 서버에 SELECT 쿼리시
SELECT [컬럼명] FROM [연결된 서버별칭].[데이터 베이스명].[데이터베이스 소유자명].[테이블명] WHERE [조건절] |
- MSSQL 연결된 서버 삭제
EXEC sp_dropserver @server = '[연결된 서버별칭]' |
- MSSQL 연결계정 삭제
EXEC sp_droplinkedsrvlogin @rmtsrvname= '[연결된 서버별칭]', @locallogin = NULL |
[참고사항] 연결된 서버 삭제
연결된 서버를 삭제하기 위해서는 sp_droplinkedsrvlogin 을 이용하여 연결계정을 먼저 삭제하고
sp_dropserver 를 이용하여 연결된 서버를 삭제하여야 합니다.
|
- 예제 1
아래와 같은 정보를 갖는 연결된 서버를 생성하시오.
|
항목
|
상세 내용
|
연결된 서버별칭
|
linkedserver
|
서버 아이피
|
192.168.1.3
|
데이터 베이스명
|
test
|
사용자 이름
|
id
|
사용자 암호
|
password
|
- 예제 1 쿼리
EXEC sp_addlinkedserver @server = 'linkedserver', @srvproduct = '', @provider = 'SQLOLEDB', @datasrc = '192.168.1.3', @catalog = 'test' EXEC sp_addlinkedsrvlogin @rmtsrvname= 'linkedserver', @useself= 'false', @rmtuser = 'id', @rmtpassword = 'password' |
- 예제 2
예제1에서 생성한 연결된 서버와 연결계정을 확인하시오.
|
- 예제 2 연결된 서버 생성여부 확인
SELECT * FROM master.dbo.sysservers WHERE srvname = 'linkedserver' |
srvid
|
srvstatus
|
srvname
|
ㆍㆍㆍ
|
1
|
1184
|
linkedserver
|
ㆍㆍㆍ
|
- 예제 2 연결계정 생성여부 확인
SELECT * FROM master.sys.linked_logins WHERE remote_name = 'id' |
server_id
|
local_principal_id
|
uses_self_credential
|
remote_name
|
modify_date
|
1
|
0
|
0
|
id
|
2015-03-22 16:11:41.637
|
srvid
|
srvstatus
|
srvname
|
ㆍㆍㆍ
|
1
|
1184
|
linkedserver
|
ㆍㆍㆍ
|
- 예제 3
예제1에서 생성한 연결된 서버를 이용하여 아래와 같은 테이블의 내용을 조회하시오.
|
- 192.168.1.3 서버 test.dbo.성적 테이블
일련번호
|
이름
|
점수
|
1
|
홍길동
|
90
|
2
|
일지매
|
95
|
3
|
임꺽정
|
85
|
- 예제 3 쿼리
SELECT 일련번호, 이름, 점수 FROM linkedserver.test.dbo.성적 |
일련번호
|
이름
|
점수
|
1
|
홍길동
|
90
|
2
|
일지매
|
95
|
3
|
임꺽정
|
85
|
- 예제 4
예제1에서 생성한 연결된 서버와 연결계정을 삭제하시오.
|
- 예제 4 쿼리
EXEC sp_droplinkedsrvlogin @rmtsrvname= 'linkedserver', @locallogin = NULL EXEC sp_dropserver @server = 'linkedserver' |
원본
https://m.blog.naver.com/PostView.nhn?blogId=diceworld&logNo=220311810558&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F