Azure SQL에서 읽기 전용 복제본에 대한 접속  링크 서버 생성

 

·         Version : Azure SQL

 

Azure SQL Database Managed Instance Azure 클라우드에서 호스트 되는 완벽하게 관리되는 SQL Server 데이터베이스 엔진으로 Azure SQL Pass  SQL Server 기능(링크된 서버  기본 제공되는 무료 보조 읽기 전용 복제본) 제공한다이번 포스트에서는 연결된 서버(링크드 서버) 사용하여 읽을  있는 보조 복제본을 연결하는 방법을 살펴 본다.

 

Managed Instance Business Critical Tier 모든 데이터베이스에 대해서 리포트 목적의 용도로 사용할  있는 읽기 전용 상태의 무료 읽기 전용 복제본을 제공한다아래 그림에는 하나의 기본 인스턴스와   개의 읽기 전용 서버로 구성된다 서버는 읽기 전용 끝점을 이용해서 연결된다.


어플리케이션에서 보조 복제본에 접속하는 방법은 기본 인스턴스에 액세스하는  사용하는 것과 동일한 연결 문자열을 사용한다다만 연결 문자열에ApplicationIntent=ReadOnly 추가하면 된다.

기본 인스턴스에서 보조 인스턴스로 연결된 서버를 만드는 경우 T-SQL 사용하여 기본 인스턴스에서 보조 인스턴스로 연결할  있다아래 스크립트는 보조 복제본에 연결된 서버를 만든다.

EXEC sp_addlinkedserver

@server=N'SECONDARY',

@srvproduct=N'',

@provider=N'SQLNCLI',

@provstr = N'ApplicationIntent=ReadOnly',

@datasrc= @@SERVERNAME;

 

@@SERVERNAME Managed Instance 정규화된 도메인 이름을 반환하고 동일한 이름은 보조 인스턴스에 액세스하는데 사용된다추가해야하는 유일한 것은 공급자 문자열에서 ApplicationIntent=ReadOnly 이다

 

읽기 보조 복제본 서버로 연결된 서버를 생성하면 T-SQL 사용하여 읽기 전용 인스턴스를 쿼리   있다예를 들어 아래 쿼리를 사용하여 보조 데이터베이스가 읽기 전용인지 확인할  있다.

SELECT *

FROM OPENQUERY([SECONDARY],

'SELECT DATABASEPROPERTYEX (''master'', ''Updateability'' ) ')

 

또한 4 part name 구문을 사용하여 Secondary 서버의 테이블이나 뷰를 쿼리할  있다.

SELECT *

FROM SECONDARY.master.sys.databases;

 

 

[참고자료]

https://blogs.msdn.microsoft.com/sqlserverstorageengine/2018/08/27/create-linked-server-to-readable-secondary-replica-in-managed-instance-business-critical-service-tier/

 

 

 

2018-08-30 / Sungwook Kang / http://sqlmvp.kr

 

Azure SQL,  Managed Instance, SQL, read only, High Availability, Linked server, Read-only replica



출처: https://sqlmvp.tistory.com/1281?category=663684 [Database Lab]




profile

강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

Kakao Talk : SQLMVP

Line : jevida


현재 LA에 거주하고 있으며 SQL에 관심있는 분이면 언제든 친추 환영합니다.