읽기 전용 복제본을 사용 하 여 읽기 전용 쿼리 작업 오프 로드Use read-only replicas to offload read-only query workloads

적용 대상: Azure SQL Database Azure SQL Managed Instance

고가용성 아키텍처의 일부로 프리미엄 및 중요 비즈니스용 서비스 계층의 각 단일 데이터베이스, 탄력적 풀 데이터베이스 및 관리 되는 인스턴스는 주 읽기-쓰기 복제본과 여러 보조 읽기 전용 복제본으로 자동으로 프로 비전 됩니다.As part of High Availability architecture, each single database, elastic pool database, and managed instance in the Premium and Business Critical service tier is automatically provisioned with a primary read-write replica and several secondary read-only replicas. 보조 복제본은 주 복제본과 동일한 계산 크기로 프로 비전 됩니다.The secondary replicas are provisioned with the same compute size as the primary replica. 읽기 확장 기능을 사용 하면 읽기 전용 복제본에서 실행 하는 대신 읽기 전용 복제본 중 하나의 계산 용량을 사용 하 여 읽기 전용 작업을 오프 로드할 수 있습니다.The read scale-out feature allows you to offload read-only workloads using the compute capacity of one of the read-only replicas, instead of running them on the read-write replica. 이러한 방식으로 일부 읽기 전용 작업은 읽기-쓰기 작업에서 격리 될 수 있으며 성능에 영향을 주지 않습니다.This way, some read-only workloads can be isolated from the read-write workloads, and will not affect their performance. 이 기능은 분석과 같이 논리적으로 구분 된 읽기 전용 작업을 포함 하는 응용 프로그램을 위한 것입니다.The feature is intended for the applications that include logically separated read-only workloads, such as analytics. 프리미엄 및 중요 비즈니스용 서비스 계층에서 응용 프로그램은 추가 비용 없이이 추가 용량을 사용 하 여 성능상의 이점을 얻을 수 있습니다.In the Premium and Business Critical service tiers, applications could gain performance benefits using this additional capacity at no extra cost.

읽기 확장 기능은 하나 이상의 보조 복제본이 생성 될 때 hyperscale 서비스 계층 에서도 사용할 수 있습니다.The read scale-out feature is also available in the Hyperscale service tier when at least one secondary replica is created. 하나의 보조 복제본에서 사용할 수 있는 것 보다 더 많은 리소스를 필요로 하는 로드 밸런싱 읽기 전용 작업에는 여러 개의 보조 복제본을 사용할 수 있습니다.Multiple secondary replicas can be used for load-balancing read-only workloads that require more resources than available on one secondary replica.

Basic, Standard 및 범용 서비스 계층의 고가용성 아키텍처에는 복제본이 포함 되지 않습니다.The High Availability architecture of Basic, Standard, and General Purpose service tiers does not include any replicas. 이러한 서비스 계층에서는 읽기 확장 기능을 사용할 수 없습니다.The read scale-out feature is not available in these service tiers.

다음 다이어그램에서는이 기능을 보여 줍니다.The following diagram illustrates the feature.

읽기 전용 복제본

읽기 확장 기능은 새 Premium, 중요 비즈니스용 및 hyperscale 데이터베이스에서 기본적으로 사용 하도록 설정 됩니다.The read scale-out feature is enabled by default on new Premium, Business Critical, and Hyperscale databases. Hyperscale의 경우 기본적으로 새 데이터베이스에 대해 하나의 보조 복제본이 생성 됩니다.For Hyperscale, one secondary replica is created by default for new databases.

참고

읽기 확장은 Managed Instance의 중요 비즈니스용 서비스 계층에서 항상 사용 하도록 설정 됩니다.Read scale-out is always enabled in the Business Critical service tier of Managed Instance.

SQL 연결 문자열이로 구성 된 경우 ApplicationIntent=ReadOnly 해당 데이터베이스 또는 관리 되는 인스턴스의 읽기 전용 복제본으로 응용 프로그램이 리디렉션됩니다.If your SQL connection string is configured with ApplicationIntent=ReadOnly, the application will be redirected to a read-only replica of that database or managed instance. 속성을 사용 하는 방법에 대 한 자세한 내용은 ApplicationIntent 응용 프로그램 의도 지정을 참조 하세요.For information on how to use the ApplicationIntent property, see Specifying Application Intent.

SQL 연결 문자열의 설정에 관계 없이 응용 프로그램이 주 복제본에 연결 되도록 하려면 ApplicationIntent 데이터베이스를 만들 때 또는 구성을 변경할 때 읽기 확장을 명시적으로 해제 해야 합니다.If you wish to ensure that the application connects to the primary replica regardless of the ApplicationIntent setting in the SQL connection string, you must explicitly disable read scale-out when creating the database or when altering its configuration. 예를 들어 데이터베이스를 Standard 또는 범용 계층에서 Premium, 중요 비즈니스용 또는 Hyperscale 계층으로 업그레이드 하 고 모든 연결이 주 복제본으로 계속 진행 되도록 하려면 읽기 확장을 사용 하지 않도록 설정 합니다. 사용 하지 않도록 설정 하는 방법에 대 한 자세한 내용은 읽기 확장 사용 및 사용 안 함을 참조 하세요.For example, if you upgrade your database from Standard or General Purpose tier to Premium, Business Critical or Hyperscale tier and want to make sure all your connections continue to go to the primary replica, disable read scale-out. For details on how to disable it, see Enable and disable read scale-out.

참고

쿼리 저장소 및 SQL Profiler 기능은 읽기 전용 복제본에서 지원 되지 않습니다.Query Store and SQL Profiler features are not supported on read-only replicas.

데이터 일관성Data consistency

복제본의 이점 중 하나는 복제본이 트랜잭션 측면에서 항상 일관된 상태로 있지만 다른 시점에 서로 다른 복제본 간에 약간의 대기 시간이 있을 수 있다는 것입니다.One of the benefits of replicas is that the replicas are always in the transactionally consistent state, but at different points in time there may be some small latency between different replicas. 읽기 확장은 세션 수준 일관성을 지원 합니다.Read scale-out supports session-level consistency. 즉, 복제본을 사용할 수 없는 경우 발생 하는 연결 오류가 발생 한 후 읽기 전용 세션이 다시 연결 되 면 읽기-쓰기 복제본으로 최신 100%가 아닌 복제본으로 리디렉션될 수 있습니다.It means, if the read-only session reconnects after a connection error caused by replica unavailability, it may be redirected to a replica that is not 100% up-to-date with the read-write replica. 마찬가지로 애플리케이션이 읽기-쓰기 세션을 사용하여 데이터를 쓰고 읽기 전용 세션을 사용하여 즉시 읽는 경우 최신 업데이트가 복제본에 즉시 표시되지 않을 수 있습니다.Likewise, if an application writes data using a read-write session and immediately reads it using a read-only session, it is possible that the latest updates are not immediately visible on the replica. 대기 시간은 비동기 트랜잭션 로그 다시 실행 작업으로 인해 발생합니다.The latency is caused by an asynchronous transaction log redo operation.

참고

영역 내의 복제 대기 시간이 낮으므로이 상황은 드물게 발생 합니다.Replication latencies within the region are low, and this situation is rare. 복제 대기 시간을 모니터링 하려면 읽기 전용 복제본 모니터링 및 문제 해결을 참조 하세요.To monitor replication latency, see Monitoring and troubleshooting read-only replica.

읽기 전용 복제본에 연결Connect to a read-only replica

데이터베이스에 대해 읽기 확장을 사용 하도록 설정 하는 경우 ApplicationIntent 클라이언트에서 제공 하는 연결 문자열의 옵션은 연결이 쓰기 복제본 또는 읽기 전용 복제본으로 라우팅되도록 할지를 결정 합니다.When you enable read scale-out for a database, the ApplicationIntent option in the connection string provided by the client dictates whether the connection is routed to the write replica or to a read-only replica. 특히 ApplicationIntent 값이 ReadWrite (기본값) 이면 연결이 읽기/쓰기 복제본으로 전송 됩니다.Specifically, if the ApplicationIntent value is ReadWrite (the default value), the connection will be directed to the read-write replica. 이는이 ApplicationIntent 연결 문자열에 포함 되지 않은 경우의 동작과 동일 합니다.This is identical to the behavior when ApplicationIntent is not included in the connection string. ApplicationIntent 값이 ReadOnly이면 연결이 읽기 전용 복제본으로 라우팅됩니다.If the ApplicationIntent value is ReadOnly, the connection is routed to a read-only replica.

예를 들어 다음 연결 문자열은 클라이언트를 읽기 전용 복제본에 연결합니다(꺾쇠 괄호 안의 항목을 사용자 환경에 맞는 값으로 바꾸고 꺾쇠 괄호는 삭제함).For example, the following connection string connects the client to a read-only replica (replacing the items in the angle brackets with the correct values for your environment and dropping the angle brackets):

Server=tcp:<server>.database.windows.net;Database=<mydatabase>;ApplicationIntent=ReadOnly;User ID=<myLogin>;Password=<myPassword>;Trusted_Connection=False; Encrypt=True;

다음 연결 문자열 중 하나는 클라이언트를 읽기/쓰기 복제본에 연결합니다(꺾쇠 괄호 안의 항목을 사용자 환경에 맞는 값으로 바꾸고 꺾쇠 괄호는 삭제함).Either of the following connection strings connects the client to a read-write replica (replacing the items in the angle brackets with the correct values for your environment and dropping the angle brackets):

Server=tcp:<server>.database.windows.net;Database=<mydatabase>;ApplicationIntent=ReadWrite;User ID=<myLogin>;Password=<myPassword>;Trusted_Connection=False; Encrypt=True;

Server=tcp:<server>.database.windows.net;Database=<mydatabase>;User ID=<myLogin>;Password=<myPassword>;Trusted_Connection=False; Encrypt=True;

읽기 전용 복제본에 대한 연결인지 확인Verify that a connection is to a read-only replica

데이터베이스의 컨텍스트에서 다음 쿼리를 실행 하 여 읽기 전용 복제본에 연결 되어 있는지 여부를 확인할 수 있습니다.You can verify whether you are connected to a read-only replica by running the following query in the context of your database. 읽기 전용 복제본에 연결 된 경우 READ_ONLY 반환 됩니다.It will return READ_ONLY when you are connected to a read-only replica.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');

참고

프리미엄 및 중요 비즈니스용 서비스 계층에서는 지정 된 시간에 읽기 전용 복제본 중 하나만 액세스할 수 있습니다.In Premium and Business Critical service tiers, only one of the read-only replicas is accessible at any given time. Hyperscale은 여러 읽기 전용 복제본을 지원 합니다.Hyperscale supports multiple read-only replicas.

읽기 전용 복제본 모니터링 및 문제 해결Monitoring and troubleshooting read-only replicas

읽기 전용 복제본에 연결 된 경우 Dmv (동적 관리 뷰)는 복제본의 상태를 반영 하며 모니터링 및 문제 해결을 위해 쿼리할 수 있습니다.When connected to a read-only replica, Dynamic Management Views (DMVs) reflect the state of the replica, and can be queried for monitoring and troubleshooting purposes. 데이터베이스 엔진은 다양 한 모니터링 데이터를 표시 하기 위해 여러 뷰를 제공 합니다.The database engine provides multiple views to expose a wide variety of monitoring data.

일반적으로 사용 되는 보기는 다음과 같습니다.Commonly used views are:

NameName 목적Purpose
sys.dm_db_resource_statssys.dm_db_resource_stats CPU, 데이터 IO 및 서비스 목표 제한과 관련 된 로그 쓰기 사용률을 포함 하 여 지난 1 시간 동안 리소스 사용률 메트릭을 제공 합니다.Provides resource utilization metrics for the last hour, including CPU, data IO, and log write utilization relative to service objective limits.
sys.dm_os_wait_statssys.dm_os_wait_stats 데이터베이스 엔진 인스턴스에 대 한 집계 대기 통계를 제공 합니다.Provides aggregate wait statistics for the database engine instance.
sys.dm_database_replica_statessys.dm_database_replica_states 복제본 성능 상태 및 동기화 통계를 제공 합니다.Provides replica health state and synchronization statistics. Redo queue size 및 redo rate는 읽기 전용 복제본의 데이터 대기 시간 표시기로 제공 됩니다.Redo queue size and redo rate serve as indicators of data latency on the read-only replica.
sys.dm_os_performance_counterssys.dm_os_performance_counters 데이터베이스 엔진 성능 카운터를 제공 합니다.Provides database engine performance counters.
sys.dm_exec_query_statssys.dm_exec_query_stats 실행 수, 사용한 CPU 시간 등 쿼리 별 실행 통계를 제공 합니다.Provides per-query execution statistics such as number of executions, CPU time used, etc.
sys.dm_exec_query_plan ()sys.dm_exec_query_plan() 캐시 된 쿼리 계획을 제공 합니다.Provides cached query plans.
sys.dm_exec_sql_text ()sys.dm_exec_sql_text() 캐시 된 쿼리 계획에 대 한 쿼리 텍스트를 제공 합니다.Provides query text for a cached query plan.
sys.dm_exec_query_profilessys.dm_exec_query_profiles 쿼리가 실행 되는 동안 실시간 쿼리 진행률을 제공 합니다.Provides real time query progress while queries are in execution.
sys.dm_exec_query_plan_stats ()sys.dm_exec_query_plan_stats() 쿼리의 런타임 통계를 포함 하 여 마지막으로 알려진 실제 실행 계획을 제공 합니다.Provides the last known actual execution plan including runtime statistics for a query.
sys.dm_io_virtual_file_stats ()sys.dm_io_virtual_file_stats() 모든 데이터베이스 파일에 대 한 저장소 IOPS, 처리량 및 대기 시간 통계를 제공 합니다.Provides storage IOPS, throughput, and latency statistics for all database files.

참고

sys.resource_stats sys.elastic_pool_resource_stats 논리적 master 데이터베이스의 및 dmv는 주 복제본의 리소스 사용률 데이터를 반환 합니다.The sys.resource_stats and sys.elastic_pool_resource_stats DMVs in the logical master database return resource utilization data of the primary replica.

확장 이벤트를 사용 하 여 읽기 전용 복제본 모니터링Monitoring read-only replicas with Extended Events

읽기 전용 복제본에 연결 된 경우에는 확장 이벤트 세션을 만들 수 없습니다.An extended event session cannot be created when connected to a read-only replica. 그러나 Azure SQL Database에서 주 복제본에서 만들어지고 변경 된 데이터베이스 범위 확장 이벤트 세션의 정의는 지역 복제본을 포함 하 여 읽기 전용 복제본에 복제 되 고 읽기 전용 복제본에 대 한 이벤트를 캡처합니다.However, in Azure SQL Database, the definitions of database-scoped Extended Event sessions created and altered on the primary replica replicate to read-only replicas, including geo-replicas, and capture events on read-only replicas.

주 복제본의 세션 정의를 기반으로 하는 읽기 전용 복제본에서 확장 이벤트 세션을 시작 하 고 주 복제본과 독립적으로 중지할 수 있습니다.An extended event session on a read-only replica that is based on a session definition from the primary replica can be started and stopped independently of the primary replica. 주 복제본에서 확장 이벤트 세션을 삭제 하면 모든 읽기 전용 복제본에도 삭제 됩니다.When an extended event session is dropped on the primary replica, it is also dropped on all read-only replicas.

읽기 전용 복제본에 대 한 트랜잭션 격리 수준Transaction isolation level on read-only replicas

읽기 전용 복제본에서 실행 되는 쿼리는 항상 snapshot 트랜잭션 격리 수준에 매핑됩니다.Queries that run on read-only replicas are always mapped to the snapshot transaction isolation level. Snapshot 격리는 판독기에서 작성기를 차단 하는 차단 시나리오를 방지 하기 위해 행 버전 관리를 사용 합니다.Snapshot isolation uses row versioning to avoid blocking scenarios where readers block writers.

드문 경우 지만 snapshot 격리 트랜잭션이 다른 동시 트랜잭션에서 수정 된 개체 메타 데이터에 액세스 하는 경우이 트랜잭션이 시작 된 후 다른 동시 트랜잭션의 DDL 문에 의해 '%. * l s ' 데이터베이스에서 스냅숏 격리 트랜잭션이 실패 했습니다. "라는 3961오류 메시지가 표시 될 수 있습니다.In rare cases, if a snapshot isolation transaction accesses object metadata that has been modified in another concurrent transaction, it may receive error 3961, "Snapshot isolation transaction failed in database '%.*ls' because the object accessed by the statement has been modified by a DDL statement in another concurrent transaction since the start of this transaction. 메타데이터 버전이 관리되지 않기 때문에 허용되지 않습니다.It is disallowed because the metadata is not versioned. 메타 데이터에 대 한 동시 업데이트를 사용 하면 스냅숏 격리와 혼합 하는 경우 불일치가 발생할 수 있습니다. "A concurrent update to metadata can lead to inconsistency if mixed with snapshot isolation."

읽기 전용 복제본에 대 한 장기 실행 쿼리Long-running queries on read-only replicas

읽기 전용 복제본에서 실행 되는 쿼리는 쿼리에서 참조 되는 개체의 메타 데이터 (테이블, 인덱스, 통계 등)에 액세스 해야 합니다. 드문 경우 지만 쿼리가 읽기 전용 복제본의 동일한 개체에 대 한 잠금을 유지 하는 동안 주 복제본에서 메타 데이터 개체를 수정 하면 쿼리는 주 복제본의 변경 내용을 읽기 전용 복제본에 적용 하는 프로세스를 차단할 수 있습니다.Queries running on read-only replicas need to access metadata for the objects referenced in the query (tables, indexes, statistics, etc.) In rare cases, if a metadata object is modified on the primary replica while a query holds a lock on the same object on the read-only replica, the query can block the process that applies changes from the primary replica to the read-only replica. 이러한 쿼리를 오랜 시간 동안 실행 하는 경우 읽기 전용 복제본이 주 복제본과 동기화 되지 않을 수 있습니다.If such a query were to run for a long time, it would cause the read-only replica to be significantly out of sync with the primary replica.

읽기 전용 복제본에 대 한 장기 실행 쿼리로 인해 이러한 종류의 차단이 발생 하면 자동으로 종료 됩니다.If a long-running query on a read-only replica causes this kind of blocking, it will be automatically terminated. 세션에서 오류 1219, "높은 우선 순위 DDL 작업으로 인해 세션의 연결을 끊었습니다." 또는 오류 3947 "메시지가 표시 됩니다." 보조 계산에서 다시 실행을 catch 하지 못해 트랜잭션이 중단 되었습니다.The session will receive error 1219, "Your session has been disconnected because of a high priority DDL operation", or error 3947, "The transaction was aborted because the secondary compute failed to catch up redo. 트랜잭션을 다시 시도 하십시오. "Retry the transaction."

참고

읽기 전용 복제본에 대해 쿼리를 실행할 때 오류 3961, 1219 또는 3947가 표시 되 면 쿼리를 다시 시도 합니다.If you receive error 3961, 1219, or 3947 when running queries against a read-only replica, retry the query.

프리미엄 및 중요 비즈니스용 서비스 계층에서 읽기 전용 복제본에 연결 된 경우 redo_queue_size redo_rate sys.dm_database_replica_states DMV의 및 열을 사용 하 여 읽기 전용 복제본의 데이터 대기 시간 표시기로 제공 되는 데이터 동기화 프로세스를 모니터링할 수 있습니다.In Premium and Business Critical service tiers, when connected to a read-only replica, the redo_queue_size and redo_rate columns in the sys.dm_database_replica_states DMV may be used to monitor data synchronization process, serving as indicators of data latency on the read-only replica.

읽기 확장 사용 및 사용 안 함Enable and disable read scale-out

읽기 확장은 프리미엄, 중요 비즈니스용 및 Hyperscale 서비스 계층에서 기본적으로 사용 하도록 설정 되어 있습니다.Read scale-out is enabled by default on Premium, Business Critical, and Hyperscale service tiers. 기본, 표준 또는 범용 서비스 계층에서는 읽기 확장을 사용 하도록 설정할 수 없습니다.Read scale-out cannot be enabled in Basic, Standard, or General Purpose service tiers. 읽기 확장은 0 개 복제본으로 구성 된 Hyperscale 데이터베이스에서 자동으로 비활성화 됩니다.Read scale-out is automatically disabled on Hyperscale databases configured with zero replicas.

다음 방법을 사용 하 여 프리미엄 또는 중요 비즈니스용 서비스 계층의 단일 데이터베이스 및 탄력적 풀 데이터베이스에서 읽기 확장을 사용 하지 않도록 설정 하 고 다시 사용 하도록 설정할 수 있습니다.You can disable and re-enable read scale-out on single databases and elastic pool databases in the Premium or Business Critical service tiers using the following methods.

참고

단일 데이터베이스 및 탄력적 풀 데이터베이스의 경우 읽기 확장을 사용 하지 않도록 설정 하는 기능은 이전 버전과의 호환성을 위해 제공 됩니다.For single databases and elastic pool databases, the ability to disable read scale-out is provided for backward compatibility. 중요 비즈니스용 관리 되는 인스턴스에서는 읽기 확장을 사용 하지 않도록 설정할 수 없습니다.Read scale-out cannot be disabled on Business Critical managed instances.

Azure portalAzure portal

데이터베이스 구성 블레이드에서 읽기 확장 설정을 관리할 수 있습니다.You can manage the read scale-out setting on the Configure database blade.

PowerShellPowerShell

중요

PowerShell Azure Resource Manager 모듈은 계속 지원 되지만 모든 향후 개발은 Az. Sql 모듈에 대 한 것입니다.The PowerShell Azure Resource Manager module is still supported, but all future development is for the Az.Sql module. Azure Resource Manager 모듈은 12 월 2020 일까 때까지 버그 수정 사항을 계속 받게 됩니다.The Azure Resource Manager module will continue to receive bug fixes until at least December 2020. Az module 및 Azure Resource Manager 모듈의 명령에 대 한 인수는 실제로 동일 합니다.The arguments for the commands in the Az module and in the Azure Resource Manager modules are substantially identical. 호환성에 대 한 자세한 내용은 새 Azure PowerShell Az Module 소개를 참조 하세요.For more information about their compatibility, see Introducing the new Azure PowerShell Az module.

Azure PowerShell에서 읽기 확장을 관리 하려면 12 월 2016 Azure PowerShell 릴리스 이상이 필요 합니다.Managing read scale-out in Azure PowerShell requires the December 2016 Azure PowerShell release or newer. 최신 PowerShell 버전은 Azure PowerShell을 참조하세요.For the newest PowerShell release, see Azure PowerShell.

AzSqlDatabase cmdlet을 호출 하 고 Enabled Disabled 매개 변수에 대해 원하는 값 (또는)을 전달 하 여 Azure PowerShell에서 읽기 확장을 사용 하지 않도록 설정 하거나 다시 사용 하도록 설정할 수 있습니다 -ReadScale .You can disable or re-enable read scale-out in Azure PowerShell by invoking the Set-AzSqlDatabase cmdlet and passing in the desired value (Enabled or Disabled) for the -ReadScale parameter.

기존 데이터베이스에서 읽기 확장을 사용 하지 않도록 설정 하려면 다음을 수행 합니다 (꺾쇠 괄호 안의 항목을 사용자 환경에 맞는 값으로 바꾸고 꺾쇠 괄호는 삭제 함).To disable read scale-out on an existing database (replacing the items in the angle brackets with the correct values for your environment and dropping the angle brackets):

Set-AzSqlDatabase -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> -ReadScale Disabled

새 데이터베이스에서 읽기 확장을 사용 하지 않도록 설정 하려면 (꺾쇠 괄호 안의 항목을 사용자 환경에 맞는 값으로 바꾸고 꺾쇠 괄호를 삭제 합니다.)To disable read scale-out on a new database (replacing the items in the angle brackets with the correct values for your environment and dropping the angle brackets):

New-AzSqlDatabase -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> -ReadScale Disabled -Edition Premium

기존 데이터베이스에서 읽기 확장을 다시 사용 하도록 설정 하려면 다음을 수행 합니다 (꺾쇠 괄호 안의 항목을 사용자 환경에 맞는 값으로 바꾸고 꺾쇠 괄호는 삭제 함).To re-enable read scale-out on an existing database (replacing the items in the angle brackets with the correct values for your environment and dropping the angle brackets):

Set-AzSqlDatabase -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> -ReadScale Enabled

REST APIREST API

읽기 확장을 사용 하지 않도록 설정 된 데이터베이스를 만들거나 기존 데이터베이스에 대 한 설정을 변경 하려면 readScale Enabled Disabled 다음 샘플 요청과 같이 속성이 또는로 설정 된 다음 메서드를 사용 합니다.To create a database with read scale-out disabled, or to change the setting for an existing database, use the following method with the readScale property set to Enabled or Disabled, as in the following sample request.

Method: PUT
URL: https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{GroupName}/providers/Microsoft.Sql/servers/{ServerName}/databases/{DatabaseName}?api-version= 2014-04-01-preview
Body: {
   "properties": {
      "readScale":"Disabled"
   }
}

자세한 내용은 데이터베이스-만들기 또는 업데이트를 참조 하세요.For more information, see Databases - Create or update.

읽기 전용 tempdb 복제본에서 데이터베이스 사용Using the tempdb database on a read-only replica

tempdb주 복제본의 데이터베이스가 읽기 전용 복제본으로 복제 되지 않습니다.The tempdb database on the primary replica is not replicated to the read-only replicas. 각 복제본에는 tempdb 복제본을 만들 때 생성 되는 자체 데이터베이스가 있습니다.Each replica has its own tempdb database that is created when the replica is created. 이를 통해를 tempdb 업데이트할 수 있고 쿼리를 실행 하는 동안 수정할 수 있습니다.This ensures that tempdb is updateable and can be modified during your query execution. 읽기 전용 작업에서 개체 사용에 의존 하는 경우 tempdb 쿼리 스크립트의 일부로 이러한 개체를 만들어야 합니다.If your read-only workload depends on using tempdb objects, you should create these objects as part of your query script.

지역에서 복제 된 데이터베이스에서 읽기 확장 사용Using read scale-out with geo-replicated databases

지리적으로 복제 된 보조 데이터베이스는 주 데이터베이스와 동일한 고가용성 아키텍처를 가집니다.Geo-replicated secondary databases have the same High Availability architecture as the primary databases. 읽기 확장을 사용 하도록 설정 된 지역에서 복제 된 보조 데이터베이스에 연결 하는 경우에는를 사용 하는 세션이 ApplicationIntent=ReadOnly 기본 쓰기 가능 데이터베이스에서 라우팅되는 것과 같은 방식으로 고가용성 복제본 중 하나로 라우팅됩니다.If you're connecting to the geo-replicated secondary database with read scale-out enabled, your sessions with ApplicationIntent=ReadOnly will be routed to one of the high availability replicas in the same way they are routed on the primary writeable database. ApplicationIntent=ReadOnly가 없는 세션은 역시 읽기 전용인 지역 복제된 보조 데이터베이스의 주 복제본으로 라우팅됩니다.The sessions without ApplicationIntent=ReadOnly will be routed to the primary replica of the geo-replicated secondary, which is also read-only.

이러한 방식으로 지역 복제본을 만드는 것은 읽기/쓰기 주 데이터베이스에 대 한 읽기 전용 복제본을 두 개 더 제공 하며,이는 총 세 개의 읽기 전용 복제본을 제공 합니다.In this fashion, creating a geo-replica provides two more read-only replicas for a read-write primary database, for a total of three read-only replicas. 각 추가 지역 복제본은 또 다른 쌍의 읽기 전용 복제본을 제공 합니다.Each additional geo-replica provides another pair of read-only replicas. 지역 복제본은 주 데이터베이스의 지역을 포함 하 여 모든 Azure 지역에서 만들 수 있습니다.Geo-replicas can be created in any Azure region, including the region of the primary database.

참고

지리적으로 복제 된 보조 데이터베이스의 복제본 간에 자동 라운드 로빈 또는 다른 부하 분산 라우팅이 없습니다.There is no automatic round-robin or any other load-balanced routing between the replicas of a geo-replicated secondary database.

다음 단계Next steps