Alwayson-읽기 전용 요청 구성
10267 단어 프로비저닝
1) 세 서버가 도메인 DCDemo에 가입합니다.com
2) 서버 3대가 포트를 사용하여 데이터베이스에 액세스
3) 서버 3대가 장애 조치 클러스터 구축 SQLNode02
4) 서버 3대로 고가용성 그룹 구축 AGNode134
5) SQLNode12 및 SQLNode22를 통한 자동 장애 조치
대상: SQLNode12 및 SQLNode22에 대한 읽기 전용 요청 전송
SQLNode131의 IP: 192.168.25.131
SQLNode132 IP: 192.168.25.132
AGNode134의 IP: 192.168.25.134
읽기 전용 라우팅 구성
--=====================
--
USE master
GO
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode131' WITH
(
SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)
);
GO
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode131' WITH
(
SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://192.168.25.131:1433')
);
GO
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode132' WITH
(
SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)
);
GO
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode132' WITH
(
SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://192.168.25.132:1433')
);
GO
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode131' WITH
(
PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('SQLNode132','SQLNode131'))
);
GO
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode132' WITH
(
PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('SQLNode131','SQLNode132'))
);
GO
읽기 전용 라우팅 인증:
SELECT
g.name AS AGName,
ar1.replica_server_name AS ReplicaServerName,
ar2.replica_server_name AS RountingReplicaServerName,
ar1.endpoint_url AS ReplicaServerURL,
ar2.endpoint_url AS RountingReplicaServerURL
FROM sys.availability_read_only_routing_lists rl
INNER JOIN sys.availability_replicas ar1
ON ar1.replica_id=rl.replica_id
INNER JOIN sys.availability_replicas ar2
ON ar2.replica_id=rl.read_only_replica_id
INNER JOIN sys.availability_groups g
ON ar1.group_id=g.group_id
WHERE rl.routing_priority=1
읽기 전용 라우팅 삭제
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode132' WITH
(
PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=NONE)
);
GO
ALTER AVAILABILITY GROUP [AGNode134]
MODIFY REPLICA ON N'SQLNode131' WITH
(
PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=NONE)
);
GO
사용:
MSDN은 사용할 수 있음을 나타냅니다.NET Framework 4.0.2에서 액세스할 수 있습니다. 하지만.NET 4 정식 릴리즈는.0.3, 테스트를 통해 이 기능은.NET4.5S에서 정상적으로 작동 가능, 연결 문자열은
Server=tcp:192.168.25.123,1433;Database=DB1;ApplicationIntent=ReadOnly;MultiSubnetFailover=True;User Id=sa;Password=password;
ApplicationIntent에는 Readonly와 ReadWrite의 두 가지 구성 값이 있습니다. ApplicationIntent는 요청한 동작을 제한하지 않고 이 연결에서 발생해야 할 동작을 나타냅니다.
읽기 전용 라우팅이 설정된 요청의 경우 각 요청은 먼저 마스터 복사본으로 전달되며, 마스터 복사본을 통해 사용 가능한 복사본을 가져와 읽기 전용 요청을 처리할 수 있는 보조 복사본을 차례로 찾아서 해당 요청을 마스터 복사본으로 전달합니다.
보조 복사본에서 조회를 실행할 때, Alwayson은 데이터베이스의 차단 문제를 없애기 위해 행판을 사용합니다. 모든 조회는 다른 격리 단계나 잠금 알림을 표시하더라도 스냅샷 격리 단계에서 자동으로 실행됩니다.스냅샷 격리 수준은 데이터에 S 자물쇠를 추가하는 것을 피하지만 대상에 Sch-S 자물쇠를 추가하고 Sch-S 자물쇠는 DDL 문장을 막습니다.
보조 복사본에 색인을 따로 만들 수 없기 때문에 조회 성능을 향상시키기 위해 메인 복사본에 색인을 먼저 만들어야 합니다. 이로 인해 색인 유지보수는 대량의 색인 정리 데이터를 동기화합니다.
보조 복사본을 읽을 수 있도록 설정할 때 조회할 때 소모하는temp 공간 (임시 통계와 스냅샷 격리 단계의 행 버전 정보) 을 고려해야 합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring boot Filter 필터 구성 방법Filter 필터는 웹 개발에서 매우 중요한 구성 요소입니다. 다음은session 로그인의 예로spring boot에서 Filter를 어떻게 사용하는지 소개합니다. 우선 Filter의 인터페이스를 구현한 클래스 Se...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.