데이터베이스 미러링 모니터링(SQL Server)Monitoring Database Mirroring (SQL Server)

이 섹션에서는 데이터베이스 미러링 모니터 및 sp_dbmmonitor 시스템 저장 프로시저를 소개하고 데이터베이스 미러링 모니터 작업을 포함하는 데이터베이스 미러링 모니터링의 작동 방법에 대해 설명하며 데이터베이스 미러링 세션에 대한 모니터링 정보를 간단하게 설명합니다.This section introduces Database Mirroring Monitor and the sp_dbmmonitor system stored procedures, explains how database mirroring monitoring works (including the Database Mirroring Monitor Job), and summarizes the information that you can monitor about database mirroring sessions. 또한 이 섹션에서는 미리 정의된 데이터베이스 미러링 이벤트 집합에 대해 경고 임계값을 정의하는 방법과 데이터베이스 미러링 이벤트에 대해 경고를 설정하는 방법을 소개합니다.Additionally, this section introduces how to define warning thresholds for a set of predefined database mirroring events and how to set up alerts on any database mirroring event.

미러링 세션 중에 미러된 데이터베이스를 모니터링하여 데이터 흐름 여부와 상태를 확인할 수 있습니다.You can monitor a mirrored database during a mirroring session to verify whether and how well data is flowing. 서버 인스턴스에 있는 하나 이상의 미러된 데이터베이스에 대한 모니터링을 설정하고 관리하려면 데이터베이스 미러링 모니터나 sp_dbmmonitor 시스템 저장 프로시저를 사용합니다.To set up and manage monitoring for one or more of the mirrored databases on a server instance, you can use either Database Mirroring Monitor or the sp_dbmmonitor system stored procedures.

데이터베이스 미러링 모니터링 작업인 데이터베이스 미러링 모니터 작업은 데이터베이스 미러링 모니터와 별개로 백그라운드에서 작동합니다.A database mirroring monitoring job, Database Mirroring Monitor Job, operates in the background, independently of Database Mirroring Monitor. SQL ServerSQL Server 에이전트는 기본적으로 1분마다 데이터베이스 미러링 모니터 작업 을 호출하고 작업에서는 미러링 상태를 업데이트하는 저장 프로시저를 호출합니다. Agent calls Database Mirroring Monitor Job at regular intervals, the default is once a minute, and the job calls a stored procedure that updates mirroring status. SQL Server Management StudioSQL Server Management Studio 를 사용하여 미러링 세션을 시작하는 경우 데이터베이스 미러링 모니터 작업 은 자동으로 생성됩니다.If you use SQL Server Management StudioSQL Server Management Studio to start a mirroring session, Database Mirroring Monitor Job is created automatically. 그러나 ALTER DATABASE <database_name> SET PARTNER만 사용하여 미러링을 시작할 경우에는 저장 프로시저를 실행하여 작업을 만들어야 합니다.However, if you only use ALTER DATABASE <database_name> SET PARTNER to start mirroring, you must create the job by running a stored procedure.

항목 내용In this Topic:

미러링 상태 모니터링 Monitoring Mirroring Status

서버 인스턴스에 있는 하나 이상의 미러된 데이터베이스에 대한 모니터링을 설정하고 관리하려면 데이터베이스 미러링 모니터 서버 또는 dbmmonitor 시스템 저장 프로시저를 사용합니다.To set up and manage monitoring for one or more of the mirrored databases on a server instance, you can use either Database Mirroring Monitor or the dbmmonitor system stored procedures. 미러링 세션 중에 미러된 데이터베이스를 모니터링하여 데이터 흐름 여부와 상태를 확인할 수 있습니다.You can monitor a mirrored database during a mirroring session to verify whether and how well data is flowing.

미러된 데이터베이스를 모니터링하면 구체적으로 다음 작업을 수행할 수 있습니다.Specifically, monitoring a mirrored database enables you to:

  • 미러링이 작동하는지 확인합니다.Verify that mirroring is functioning.

    기본 상태는 두 서버 인스턴스가 작동하는지, 서버가 연결되어 있는지, 주 서버에서 미러 서버로 로그가 이동하고 있는지를 표시합니다.Basic status includes knowing if the two server instances are up, that the servers are connected, and that the log is being moved from the principal to the mirror.

  • 미러 데이터베이스가 주 데이터베이스와 동기화되고 있는지 여부를 확인합니다.Determine whether the mirror database is keeping up with the principal database.

    성능 우선 모드에서 주 서버는 주 서버에서 미러 서버로 전송해야 하는 보내지 않은 로그 레코드의 백로그를 개발할 수 있습니다.During high-performance mode, a principal server can develop a backlog of unsent log records that still need to be sent from the principal server to the mirror server. 또한 모든 운영 모드에서 미러 서버는 로그 파일에 기록되었지만 미러 데이터베이스에서 복원해야 하는 복원되지 않은 로그 레코드의 백로그를 개발할 수 있습니다.Furthermore, in any operating mode, the mirror server can develop a backlog of unrestored log records that have been written to the log file but still need to be restored on the mirror database.

  • 성능 우선 모드에서 주 서버 인스턴스를 사용할 수 없는 경우 손실된 데이터 양을 확인합니다.Determine how much data was lost when the principal server instance becomes unavailable during high-performance mode.

    보내지 않은 트랜잭션 로그(있는 경우)의 양과 손실된 트랜잭션이 주 서버에서 커밋된 시간 간격을 살펴 보면 데이터 손실을 확인할 수 있습니다.You can determine data loss by looking at the amount of unsent transaction log (if any) and the time interval in which the lost transactions were committed at the principal.

  • 현재 성능을 이전 성능과 비교합니다.Compare current performance with past performance.

    문제가 발생할 경우 데이터베이스 관리자는 미러링 성능 기록을 보고 현재 상태를 이해할 수 있습니다.When problems are occurring, a database administrator can view a history of the mirroring performance to help in understanding the current state. 기록을 확인함으로써 사용자는 성능 추세를 검색하고 성능 문제의 패턴(예: 네트워크 속도가 느려지는 시간 또는 로그에 입력되는 명령 수가 매우 많은 시간)을 식별할 수 있습니다.Looking at the history can allow the user to detect trends in performance, identify patterns of performance problems (such as times of day when the network is slow or the number of commands entering the log is very large).

  • 미러링 파트너 간의 데이터 흐름 감소 원인을 찾아서 문제를 해결합니다.Troubleshoot the cause of reduced data flow between mirroring partners.

  • 주요 성능 메트릭에 경고 임계값을 설정합니다.Set warning thresholds on key performance metrics.

    새 상태 행에 포함된 값이 임계값을 초과하면 정보 이벤트가 Windows 이벤트 로그로 전송됩니다.If a new status row contains a value that exceeds a threshold, an informational event is sent to the Windows event log. 그러면 시스템 관리자가 수동으로 이러한 이벤트를 기반으로 경고를 구성할 수 있습니다.A system administrator can then manually configure alerts based on these events. 자세한 내용은 미러링 성능 메트릭에 대해 경고 임계값 및 경고 사용(SQL Server)을 참조하세요.For more information, see Use Warning Thresholds and Alerts on Mirroring Performance Metrics (SQL Server).

데이터베이스 미러링 상태 모니터링 도구 Tools for Monitoring Database Mirroring Status

데이터베이스 미러링 모니터나 sp_dbmmonitorresults 시스템 저장 프로시저를 사용하여 미러링 상태를 모니터링할 수 있습니다.Mirroring status can be monitored using either Database Mirroring Monitor or the sp_dbmmonitorresults system stored procedure. 두 시스템 관리자, 즉 sysadmin 고정 서버 역할의 멤버와 시스템 관리자가 msdb 데이터베이스의 dbm_monitor 고정 데이터베이스 역할에 추가한 사용자는 모두 이러한 도구를 사용하여 로컬 서버 인스턴스의 모든 미러된 데이터베이스에서 데이터베이스 미러링을 모니터링할 수 있습니다.These tools can be used to monitor database mirroring on any mirrored database on the local server instance by both System administrators, that is, members of the sysadmin fixed server role, and user who have been added to the dbm_monitor fixed database role in the msdb database by a system administrator. 이러한 도구를 사용할 때 시스템 관리자가 수동으로 미러링 상태를 새로 고칠 수도 있습니다.When using either tool, a system administrator can also manually refresh mirroring status.

참고

시스템 관리자는 주요 성능 메트릭에 대해 경고 임계값을 구성하고 볼 수도 있습니다.System administrators can also configure and view warning thresholds for key performance metrics. 자세한 내용은 미러링 성능 메트릭에 대해 경고 임계값 및 경고 사용(SQL Server)을 참조하세요.For more information, see Use Warning Thresholds and Alerts on Mirroring Performance Metrics (SQL Server).

  • 데이터베이스 미러링 모니터Database Mirroring Monitor

    데이터베이스 미러링 모니터는 시스템 관리자가 상태를 보고 업데이트하며 여러 주요 성능 메트릭에 경고 임계값을 구성할 수 있도록 하는 그래픽 사용자 인터페이스 도구입니다.Database Mirroring Monitor is a graphical user interface tool that enables system administrators to view and update status and to configure warning thresholds on several key performance metrics. 또한 dbm_monitor 고정 데이터베이스 역할의 멤버는 상태 테이블을 업데이트할 수는 없지만 데이터베이스 미러링 모니터를 사용하여 미러링 상태 테이블의 가장 최근 행을 볼 수 있습니다.Database Mirroring Monitor can also be used by members of the dbm_monitor fixed database role to view the most recent row of the mirroring status table, though they cannot update the status table.

    모니터는 성능 메트릭을 비롯하여 상태 탭 페이지에서 선택한 데이터베이스에 대한 상태를 표시합니다.The monitor displays the status, including performance metrics, for a selected database on the Status tabbed page. 이 페이지의 내용은 주 서버 인스턴스 및 미러 서버 인스턴스에서 가져옵니다.The content of this page comes from both the principal and mirror server instances. 주 서버 인스턴스와 미러 서버 인스턴스에 각각 연결하여 상태가 수집되므로 페이지는 비동기적으로 채워집니다.The page is filled asynchronously as status is gathered through separate connections to the principal and mirror server instances. 모니터는 30초 간격으로 상태 테이블을 업데이트합니다.The monitor tries to update the status table at 30-second intervals. 테이블이 15초 내에 업데이트되지 않고 사용자가 sysadmin 고정 서버 역할의 멤버인 경우에만 업데이트에 성공합니다.The update succeeds only if the table has not been updated within 15 seconds and the user is a member of the sysadmin fixed server role. 상태 페이지에 표시되는 정보 요약은 이 항목의 뒷부분에 나오는 데이터베이스 미러링 모니터에 표시되는 상태를 참조하세요.For a summary of the information reported on the Status page, see Status Displayed by the Database Mirroring Monitor, later in this topic.

    데이터베이스 미러링 모니터 인터페이스에 대한 개요는 Database Mirroring Monitor Overview를 참조하세요.For an introduction to the Database Mirroring Monitor interface, see Database Mirroring Monitor Overview. 데이터베이스 미러링 모니터를 시작하는 방법은 데이터베이스 미러링 모니터 시작(SQL Server Management Studio)을 참조하세요.For information on launching Database Mirroring Monitor, see Start Database Mirroring Monitor (SQL Server Management Studio).

  • 시스템 저장 프로시저System stored procedures

    sp_dbmmonitorresults 시스템 저장 프로시저를 실행하여 현재 상태를 검색하거나 업데이트할 수도 있습니다.You can also retrieve or update the current status by running the sp_dbmmonitorresults system stored procedure. 다른 dbmmonitor 저장 프로시저를 사용하여 서버 인스턴스에 대한 모니터링을 설정하고 모니터링 매개 변수를 변경하며 현재 업데이트 기간을 보고 모니터링을 삭제할 수 있습니다.Other dbmmonitor stored procedures enable you to set up monitoring, change monitoring parameters, view the current update period, and drop monitoring on the server instance.

    다음 표에서는 데이터베이스 미러링 모니터와 별도로 데이터베이스 미러링 모니터링을 관리하고 사용하기 위한 저장 프로시저를 설명합니다.The following table introduces the stored procedures for managing and using database mirroring monitoring independently of the Database Mirroring Monitor.

    절차Procedure 설명Description
    sp_dbmmonitoraddmonitoringsp_dbmmonitoraddmonitoring 서버 인스턴스의 모든 미러된 데이터베이스에 대한 상태 정보를 정기적으로 업데이트하는 작업을 만듭니다.Creates a job that periodically updates the status information for every mirrored database on the server instance.
    sp_dbmmonitorchangemonitoringsp_dbmmonitorchangemonitoring 데이터베이스 미러링 모니터링 매개 변수의 값을 변경합니다.Changes the value of a database mirroring monitoring parameter.
    sp_dbmmonitorhelpmonitoringsp_dbmmonitorhelpmonitoring 현재 업데이트 기간을 반환합니다.Returns the current update period.
    sp_dbmmonitorresultssp_dbmmonitorresults 모니터링한 데이터베이스에 대한 상태 행을 반환하고 프로시저에서 최신 상태를 미리 가져올지 여부를 선택할 수 있도록 합니다.Returns status rows for a monitored database and allows you to choose whether the procedure obtains the latest status beforehand.
    sp_dbmmonitordropmonitoringsp_dbmmonitordropmonitoring 서버 인스턴스의 모든 데이터베이스에 대한 미러링 모니터 작업을 중지하고 삭제합니다.Stops and deletes the mirroring monitor job for all the databases on the server instance.

    데이터베이스 미러링 모니터의 보조 기능으로 이 dbmmonitor 시스템 저장 프로시저를 사용할 수 있습니다.The dbmmonitor system stored procedures can be used as an adjunct to the Database Mirroring Monitor. 예를 들어 sp_dbmmonitoraddmonitoring을 사용하여 모니터링이 구성된 경우 데이터베이스 미러링 모니터를 사용하여 상태를 볼 수 있습니다.For example, even if monitoring was configured using sp_dbmmonitoraddmonitoring, Database Mirroring Monitor can be used to view the status.

모니터링 작동 방법How Monitoring Works

이 섹션에서는 데이터베이스 미러링 상태 테이블, 데이터베이스 미러링 모니터 작업, 사용자가 데이터베이스 미러링 상태를 모니터링하는 방법, 모니터링 작업을 삭제하는 방법 등에 대해 설명합니다.This section introduces the database mirroring status table, database mirroring monitor job and the monitor, how users can monitor database mirroring status, and how the monitoring job can be dropped.

데이터베이스 미러링 상태 테이블Database Mirroring Status Table

데이터베이스 미러링 상태는 msdb 데이터베이스의 문서화되지 않은 내부 데이터베이스 미러링 상태 테이블에 저장됩니다.Database mirroring status is stored in an internal, undocumented database mirroring status table in the msdb database. 이 상태 테이블은 서버 인스턴스에서 미러링 상태가 처음 업데이트될 때 자동으로 생성됩니다.This status table is automatically created the first time the mirroring status is updated on the server instance.

상태 테이블은 자동으로 업데이트되거나 시스템 관리자가 수동으로 업데이트할 수 있으며 최소 업데이트 간격은 15초입니다.The status table may be updated either automatically or manually by a system administrator, with a minimum update interval of 15 seconds. 최소 간격인 15초는 서버 인스턴스가 상태 요청으로 오버로드되지 않도록 합니다.The 15 second minimum prevents server instances from being overloaded with status requests.

상태 테이블은 데이터베이스 미러링 모니터와 데이터베이스 미러링 모니터 작업(실행 중인 경우)에 의해 자동으로 업데이트됩니다.The status table is updated automatically by both Database Mirroring Monitor and the database mirroring monitor job, if running. 데이터베이스 미러링 모니터 작업 은 기본적으로 1분마다 테이블을 업데이트합니다. 시스템 관리자는 1분에서 120분까지의 업데이트 기간을 지정할 수 있습니다.Database Mirroring Monitor Job updates the table once a minute by default (a system administrator can specify an update period of 1 to 120 minutes). 반면 데이터베이스 미러링 모니터는 30초마다 자동으로 테이블을 업데이트합니다.Database Mirroring Monitor, in contrast, updates the table automatically every 30 seconds. 이러한 업데이트에 대해 데이터베이스 미러링 모니터 작업 과 데이터베이스 미러링 모니터는 sp_dbmmonitorupdate를 호출합니다.For these updates, Database Mirroring Monitor Job and Database Mirroring Monitor call sp_dbmmonitorupdate.

sp_dbmmonitorupdate 는 처음 실행될 때 msdb 데이터베이스에 데이터베이스 미러링 상태 테이블과 dbm_monitor 고정 데이터베이스 역할을 만듭니다.The first time sp_dbmmonitorupdate runs, it creates the database mirroring status table and the dbm_monitor fixed database role in the msdb database. sp_dbmmonitorupdate 는 일반적으로 서버 인스턴스의 모든 미러된 데이터베이스에 대한 상태 테이블에 새 행을 삽입하여 미러링 상태를 업데이트합니다. 자세한 내용은 이 항목의 뒷부분에 나오는 "데이터베이스 미러링 상태 테이블"을 참조하세요.sp_dbmmonitorupdate usually updates the mirroring status by inserting a new row into the status table for every mirrored database on the server instance; for more information, see "Database Mirroring Status Table," later in this topic. 또한 이 프로시저는 새 행의 성능 메트릭을 평가하여 현재 보존 기간(기본값: 7일)보다 오래된 행을 자릅니다.This procedure also evaluates the performance metrics in the new rows and truncates rows older than the current retention period (the default is 7 days). 자세한 내용은 sp_dbmmonitorupdate(Transact-SQL)을 참조하세요.For more information, see sp_dbmmonitorupdate (Transact-SQL).

참고

sysadmin 고정 서버 역할의 멤버가 현재 데이터베이스 미러링 모니터를 사용하고 있지 않으면 데이터베이스 미러링 모니터 작업 이 있으며 SQL ServerSQL Server 에이전트가 실행 중인 경우에만 상태 테이블이 자동으로 업데이트됩니다.Unless Database Mirroring Monitor is currently being used by a member of the sysadmin fixed server role, the status table is automatically updated only if the Database Mirroring Monitor Job exists and SQL ServerSQL Server Agent is running.

데이터베이스 미러링 모니터 작업Database Mirroring Monitor Job

데이터베이스 미러링 모니터링 작업인 데이터베이스 미러링 모니터 작업은 데이터베이스 미러링 모니터와 독립적으로 작동합니다.The database mirroring monitoring job, Database Mirroring Monitor Job, operates independently of Database Mirroring Monitor. 데이터베이스 미러링 모니터 작업SQL Server Management StudioSQL Server Management Studio 를 사용하여 미러링 세션을 시작하는 경우에만 자동으로 생성됩니다.Database Mirroring Monitor Job is created automatically only if SQL Server Management StudioSQL Server Management Studio is used to start a mirroring session. 항상 ALTER DATABASE database_name SET PARTNER 명령을 사용하여 미러링을 시작하면 시스템 관리자가 sp_dbmmonitoraddmonitoring 저장 프로시저를 실행하는 경우에만 작업이 있습니다.If ALTER DATABASE database_name SET PARTNER commands are always used to start mirroring, the job exists only if the system administrator runs the sp_dbmmonitoraddmonitoring stored procedure.

데이터베이스 미러링 모니터 작업 이 생성되면 SQL ServerSQL Server 에이전트가 실행 중일 경우 기본적으로 1분마다 작업이 호출됩니다.After Database Mirroring Monitor Job is created, assuming that SQL ServerSQL Server Agent is running, the job is called once a minute, by default. 그런 다음 작업에서 sp_dbmmonitorupdate 시스템 저장 프로시저를 호출합니다.The job then calls the sp_dbmmonitorupdate system stored procedure.

SQL ServerSQL Server 에이전트는 기본적으로 1분마다 데이터베이스 미러링 모니터 작업 을 호출하고 작업에서 sp_dbmmonitorupdate 를 호출하여 상태 테이블을 업데이트합니다. Agent calls Database Mirroring Monitor Job once a minute, by default, and the job calls sp_dbmmonitorupdate to update the status table. 시스템 관리자는 sp_dbmmonitorchangemonitoring 시스템 저장 프로시저를 사용하여 업데이트 기간을 변경하고 sp_dbmmonitorchangemonitoring 시스템 저장 프로시저를 사용하여 현재 업데이트 기간을 볼 수 있습니다.System administrators can change the update period by using the sp_dbmmonitorchangemonitoring system stored procedure, and they can view the current update period by using the sp_dbmmonitorchangemonitoring system stored procedure. 자세한 내용은 sp_dbmmonitoraddmonitoring(Transact-SQL)sp_dbmmonitorchangemonitoring(Transact-SQL)을 참조하세요.For more information, see sp_dbmmonitoraddmonitoring (Transact-SQL) and sp_dbmmonitorchangemonitoring (Transact-SQL).

데이터베이스 미러링 상태 모니터링(시스템 관리자가 사용하는 경우)Monitoring Database Mirroring Status (by System Administrators)

sysadmin 고정 서버 역할의 멤버는 상태 테이블을 보고 업데이트할 수 있습니다.Members of the sysadmin fixed server role can view and update the status table

  • 데이터베이스 미러링 모니터 사용Using Database Mirroring Monitor

    시스템 관리자는 데이터베이스 미러링 모니터를 사용할 때 수동으로 상태 페이지, 탐색 트리 또는 기록 페이지를 새로 고칠 수 있습니다.When using Database Mirroring Monitor, a system administrator can manually refresh the Status page, navigation tree, or History page. 이렇게 하면 이전 15초 내에 업데이트되지 않은 경우 상태 테이블도 업데이트됩니다.This also updates the status table, unless it has already been updated within the previous 15 seconds.

    지정된 서버 인스턴스에서 미러링 상태 기록을 보기 위해 시스템 관리자는 상태 페이지에서 서버 인스턴스에 대한 기록 단추를 클릭할 수도 있습니다.To view the history of mirroring status on a given server instance, the system administrator can also click the History button for a server instance (on the Status page). 데이터베이스 미러링 기록 대화 상자에 기록이 표시됩니다.The history is displayed in the Database Mirroring History dialog box. 여기서 시스템 관리자는 서버 인스턴스의 상태 테이블에 있는 일부 또는 모든 행을 볼 수 있습니다.There, the system administrator can view some or all of the rows in the status table of the server instance.

    상태 페이지 메트릭에 대한 자세한 내용은 이 항목의 뒷부분에 나오는 "데이터베이스 미러링 모니터"에 표시되는 성능 메트릭을 참조하세요.For information about the Status page metrics, see Performance Metrics Displayed by the "Database Mirroring Monitor," later in this topic.

  • sp_dbmmonitorresults사용Using sp_dbmmonitorresults

    시스템 관리자는 sp_dbmmonitorresults 시스템 저장 프로시저를 사용하여 상태 테이블을 볼 수 있으며 이전 15초 내에 업데이트되지 않은 경우 필요에 따라 업데이트할 수 있습니다.System administrators can use the sp_dbmmonitorresults system stored procedure to view and, optionally, to update the status table, if it has not been updated within the previous 15 seconds. 이 프로시저는 sp_dbmmonitorupdate 프로시저를 호출한 다음 프로시저 호출에서 요청된 양에 따라 기록 행을 하나 이상 반환합니다.This procedure calls the sp_dbmmonitorupdate procedure and returns one or more history rows, depending on the amount requested in the procedure call. 결과 집합의 상태에 대한 자세한 내용은 sp_dbmmonitorresults(Transact-SQL)을 참조하세요.For information about the status in its results set, see sp_dbmmonitorresults (Transact-SQL).

데이터베이스 미러링 상태 모니터링(dbm_monitor 멤버가 사용하는 경우)Monitoring Database Mirroring Status (by dbm_monitor Members)

앞에서 설명한 것처럼 sp_dbmmonitorupdate 는 처음 실행될 때 msdb 데이터베이스에 dbm_monitor 고정 데이터베이스 역할을 만듭니다.As mentioned, the first time sp_dbmmonitorupdate runs, it creates the dbm_monitor fixed database role in the msdb database. dbm_monitor 고정 데이터베이스 역할의 멤버는 데이터베이스 미러링 모니터 또는 sp_dbmmonitorresults 저장 프로시저를 사용하여 기존 미러링 상태를 볼 수 있습니다.Members of the dbm_monitor fixed database role can view the existing mirroring status by using either Database Mirroring Monitor or the sp_dbmmonitorresults stored procedure. 그러나 이러한 사용자는 상태 테이블을 업데이트할 수 없습니다.But these users cannot update the status table. 표시되는 상태의 수명을 알아보려면 사용자가 상태 페이지에서 주 로그 (<시간>)미러 로그 (<시간>) 레이블의 시간을 확인하면 됩니다.To learn the age of the displayed status a user can look at the times in the Principal log (<time>) and Mirror log (<time>) labels on the Status page.

dbm_monitor 고정 데이터베이스 역할의 멤버는 데이터베이스 미러링 모니터 작업 을 사용하여 정기적으로 상태 테이블을 업데이트합니다.Members of the dbm_monitor fixed database role depend on the Database Mirroring Monitor Job to update the status table at regular intervals. 작업이 없거나 SQL ServerSQL Server 에이전트가 중지된 경우 상태가 점점 유효하지 않게 되어 미러링 세션의 구성을 더 이상 반영할 수 없습니다.If the job does not exist or SQL ServerSQL Server Agent is stopped, the status becomes increasingly stale and may no longer reflect the configuration of the mirroring session. 예를 들어 장애 조치(failover) 후에 파트너가 동일한 역할(주 서버 또는 미러 서버)을 공유하는 것으로 표시되거나 현재 주 서버가 미러 서버로 표시되고 현재 미러 서버가 주 서버로 표시될 수 있습니다.For example, after a failover, the partners might appear to share the same role—principal or mirror, or the current principal server might be shown as the mirror, while the current mirror server is shown as the principal.

데이터베이스 미러링 모니터 작업 삭제Dropping the Database Mirroring Monitor Job

데이터베이스 미러링 모니터 작업인 데이터베이스 미러링 모니터 작업은 삭제할 때까지 유지됩니다.The database mirroring monitor job, Database Mirroring Monitor Job, remains until it is dropped. 시스템 관리자가 모니터링 작업을 관리해야 합니다.The monitoring job must be managed by the system administrator. 데이터베이스 미러링 모니터 작업을 삭제하려면 sp_dbmmonitordropmonitoring을 사용합니다.To drop Database Mirroring Monitor Job, use sp_dbmmonitordropmonitoring. 자세한 내용은 sp_dbmmonitordropmonitoring(Transact-SQL)을 참조하세요.For more information, see sp_dbmmonitordropmonitoring (Transact-SQL).

데이터베이스 미러링 모니터에 표시되는 상태 Status Displayed by the Database Mirroring Monitor

데이터베이스 미러링 모니터의 상태 페이지에는 파트너에 대한 설명과 미러링 세션의 상태가 표시됩니다.The Status page of the Database Mirroring Monitor describes the partners, and also the state of the mirroring session. 상태에는 장애 조치를 완료하는 데 필요한 시간과 세션이 아직 동기화되지 않은 경우 데이터 손실 가능성을 예상하는 데 도움이 되는 기타 정보와 트랜잭션 로그 상태 같은 성능 메트릭이 포함됩니다.The status includes performance metrics such as the state of the transaction log and other information that is intended to help currently estimate the time required to complete a failover and the potential of data loss, if the session is not synchronized. 또한 상태 페이지에는 미러링 세션의 상태와 일반적인 정보가 표시됩니다.In addition, the Status page displays status and information about the mirroring session in general.

참고

데이터베이스 미러링 모니터와 상태 페이지에 대한 소개는 이 항목의 앞부분에 나오는 데이터베이스 미러링 상태 모니터링 도구를 참조하세요.For an introduction to the Database Mirroring Monitor and Status page, see Tools for Monitoring Database Mirroring Status, earlier in this topic.

다음 섹션에서는 각각에 대해 제공된 내용에 대해 간략하게 설명합니다.The information provided for each of these is summarized in the following sections.

파트너Partners

상태 페이지에는 각 파트너에 대해 다음 정보가 표시됩니다.The Status page displays the following information for each of the partners:

  • 서버 인스턴스Server instance

    상태 행에 해당 상태가 표시되는 서버 인스턴스의 이름입니다.Name of the server instance whose status is displayed in the Status row.

  • 현재 역할Current role

    서버 인스턴스의 현재 역할입니다.Current role of the server instance. 가능한 상태는 다음과 같습니다.The possible states are:

    • 주 서버Principal

    • 미러Mirror

  • 미러링 상태Mirroring state

    가능한 상태는 다음과 같습니다.The possible states are:

    • UnknownUnknown

    • 동기화 중Synchronizing

    • 동기화됨Synchronized

    • 일시 중지됨Suspended

    • 연결 끊김Disconnected

  • 미러링 모니터 서버 연결Witness connection

    미러링 모니터 서버의 연결 상태입니다.Connection status of the witness. 가능한 상태는 다음과 같습니다.The possible states are:

    • UnknownUnknown

    • 연결됨Connected

    • 연결 끊김Disconnected.

주 서버의 로그Log on the Principal Server

상태 페이지에는 표시된 시간을 기준으로 주 서버의 로그 상태에 대해 다음 정보가 표시됩니다.The Status page displays the following information about the status of the log on the principal server as of the indicated time:

  • 보내지 않은 로그Unsent log

    Send Queue에서 대기 중인 로그의 양(KB)입니다.The amount of log waiting in the send queue in kilobytes (KB).

  • 보내지 않은 가장 오래된 트랜잭션Oldest unsent transaction

    Send Queue에 있는 보내지 않은 가장 오래된 트랜잭션의 보존 기간입니다.Age of the oldest unsent transaction in the send queue. 이 트랜잭션의 보존 기간은 트랜잭션이 미러 서버 인스턴스에 전송되지 않은 채로 경과된 시간(분)을 나타냅니다.The age of this transaction indicates how many minutes of transactions have not yet been sent to the mirror server instance. 이 값은 시간을 기준으로 발생 가능한 데이터 손실을 측정하는 데 도움이 됩니다.This value helps measure the potential for data loss in terms of time.

  • 로그 전송 예상 시간Time to send log (estimated)

    주 서버 인스턴스에서 현재 전송 속도를 기반으로 현재 Send Queue에 있는 로그를 미러 서버로 보내는 데 필요한 예상 시간(분)입니다.Estimated number of minutes the principal server instance requires to send the log that is currently in the send queue to the mirror server instance based on the current send rate. 로그 전송 실제 시간은 다양하게 나타날 수 있는 들어오는 트랜잭션 속도의 영향을 받습니다.The actual time to send the log will be affected by the rate of incoming transactions, which can vary significantly. 그러나 로그 전송 예상 시간 값은 수동 장애 조치(failover)에 필요한 대략적인 시간을 예상하는 데 유용할 수 있습니다.However, the Time to send log (estimated) value can be useful for roughly estimating the time required for a manual failover.

  • 현재 전송 속도Current send rate

    트랜잭션이 미러 서버 인스턴스로 전송되는 속도(KB/초)입니다.Rate at which transactions are being sent to the mirror server instance in KB per second.

  • 현재 새 트랜잭션의 속도Current rate of new transactions

    들어오는 트랜잭션이 주 서버의 로그에 들어오는 속도(KB/초)입니다.Rate at which incoming transactions are being entered into the principal's log in KB per second. 미러링 속도가 늦는지, 보통인지 또는 빠른지를 확인하려면 이 값을 로그 전송 예상 시간 값과 비교합니다.To determine whether mirroring is falling behind, staying up, or catching up, compare this value to the Estimated time to send log value.

미러 서버의 로그Log on the Mirror Server

상태 페이지에는 표시된 시간을 기준으로 미러 서버의 로그 상태에 대해 다음 정보가 표시됩니다.The Status page displays the following information about the status of the log on the mirror server as of the indicated time:

  • 복원되지 않은 로그Unrestored log

    Redo Queue에서 대기 중인 로그의 양(KB)입니다.The amount of log waiting in the redo queue in KB.

  • 로그 복원 예상 시간Time to restore log (estimated)

    현재 Redo Queue에 있는 로그를 미러 데이터베이스에 적용하는 데 필요한 대략적인 시간(분)입니다.Approximate number of minutes required for the log currently in the redo queue to be applied to the mirror database.

  • 현재 복원 속도Current restore rate

    트랜잭션이 미러 데이터베이스로 복원되는 속도(KB/초)입니다.Rate at which transactions are being restored into the mirror database (in KB per second).

미러링 세션Mirroring Session

또한 상태 페이지에는 미러링 세션에 대해 다음 정보가 표시됩니다.In addition, the Status page displays the following information about the mirroring session:

  • 미러 커밋 오버헤드Mirroring commit overhead

    트랜잭션당 평균 지연 시간(밀리초)입니다(보호 우선 모드에만 해당).Average delay per transaction in milliseconds (relevant only in high-safety mode). 이 지연 시간은 주 서버 인스턴스에서 미리 서버 인스턴스가 트랜잭션 로그 레코드를 Redo Queue에 쓸 때까지 대기하는 동안 발생한 오버헤드 양입니다.This delay is the amount of overhead incurred while the principal server instance waits for the mirror server instance to write the transaction's log record into the redo queue.

  • 현재 모든 로그 전송 및 복원 예상 시간Time to send and restore all current log (estimated)

    주 서버에서 커밋된 보내지 않은 모든 로그를 전송하고 현재 Redo Queue에 있는 모든 로그를 복원하는 데 필요한 예상 시간입니다.Estimated time needed to send all of the unsent log that has been committed at the principal and to restore all of the log currently in the redo queue. 전송과 복원이 병렬로 실행될 수 있으므로 이 예상 시간은 로그 전송 예상 시간로그 복원 예상 시간 필드 값의 합계보다 작을 수 있습니다.This estimate may be less than the sum of the values of the Time to send log (estimated) and Time to restore log (estimated) fields, because sending and restoring can operate in parallel.

  • 미러링 모니터 서버 주소Witness address

    미러링 모니터 서버 인스턴스의 네트워크 주소입니다.Network address of the witness server instance. 이 주소 형식에 대한 자세한 내용은 서버 네트워크 주소 지정(데이터베이스 미러링)을 참조하세요.For information about the format of this address, see Specify a Server Network Address (Database Mirroring).

  • 운영 모드Operating mode

    데이터베이스 미러링 세션의 운영 모드입니다.The operating mode of the database mirroring session:

    • 성능 우선(비동기)High performance (asynchronous)

    • 자동 장애 조치(Failover)가 없는 보호 우선(동기)High safety without automatic failover (synchronous)

    • 자동 장애 조치(Failover)가 있는 보호 우선(동기)High safety with automatic failover (synchronous)

미러된 데이터베이스에 대한 추가 정보 원본 Additional Sources of Information About a Mirrored Database

데이터베이스 미러링 모니터 서버와 dbmmonitor 저장 프로시저를 사용하여 미러된 데이터베이스를 모니터링하고 모니터링된 성능 변수에 대해 경고를 설정하는 것 외에 SQL Server 2017SQL Server 2017 는 카탈로그 뷰, 성능 카운터 및 데이터베이스 미러링 이벤트 알림을 제공합니다.In addition to using the Database Mirroring Monitor and dbmmonitor stored procedures to monitor a mirrored database and set up alerts on monitored performance variables, SQL Server 2017SQL Server 2017 provides catalog views, performance counters, and event notifications for database mirroring.

섹션 내용In This Section:

데이터베이스 미러링 메타데이터 Database Mirroring Metadata

각 데이터베이스 미러링 세션은 다음 카탈로그 또는 동적 관리 뷰에 표시된 메타데이터에 설명되어 있습니다.Each database mirroring session is described in metadata that is exposed through the following catalog or dynamic management views:

  • sys.database_mirroringsys.database_mirroring

    이 뷰는 서버 인스턴스의 미러된 각 데이터베이스에 대한 데이터베이스 미러링 메타데이터를 표시합니다.This view displays the database mirroring metadata for each mirrored database in a server instance. 자세한 내용은 sys.database_mirroring(Transact-SQL)을 참조하세요.For more information, see sys.database_mirroring (Transact-SQL).

  • sys.database_mirroring_endpointssys.database_mirroring_endpoints

    sys.database_mirroring_endpoints 카탈로그 뷰는 서버 인스턴스의 데이터베이스 미러링 끝점에 대한 정보를 표시합니다.The sys.database_mirroring_endpoints catalog view displays information about the database mirroring endpoint of the server instance. 자세한 내용은 sys.database_mirroring_endpoints(Transact-SQL)를 참조하세요.For more information, see sys.database_mirroring_endpoints (Transact-SQL).

  • sys.database_mirroring_witnessessys.database_mirroring_witnesses

    이 카탈로그 뷰는 서버 인스턴스가 미러링 모니터인 각 세션의 데이터베이스 미러링 메타데이터를 표시합니다.This catalog view displays the database mirroring metadata for each session in which a server instance is the witness. 자세한 내용은 sys.database_mirroring_witnesses(Transact-SQL)를 참조하세요.For more information, see sys.database_mirroring_witnesses (Transact-SQL).

  • sys.dm_db_mirroring_connectionssys.dm_db_mirroring_connections

    이 동적 관리 뷰는 각 데이터베이스 미러링 네트워크 연결에 대해 하나의 행을 반환합니다.This dynamic management view returns a row for each database mirroring network connection.

    자세한 내용은 sys.dm_db_mirroring_connections(Transact-SQL)를 참조하세요.For more information, see sys.dm_db_mirroring_connections (Transact-SQL).

데이터베이스 미러링 성능 카운터 Database Mirroring Performance Counters

성능 카운터를 사용하면 데이터베이스 미러링 성능을 모니터링할 수 있습니다.Performance counters let you monitor database mirroring performance. 예를 들어 Transaction Delay 카운터를 사용하면 데이터베이스 미러링이 주 서버의 성능에 영향을 주는지 여부를 알 수 있고 Redo QueueLog Send Queue 카운터를 사용하면 미러 데이터베이스가 주 데이터베이스와 동기화가 제대로 이루어지는지 알 수 있습니다.For example, you can examine the Transaction Delay counter to see if database mirroring is impacting performance on the principal server, you can examine the Redo Queue and Log Send Queue counters to see how well the mirror database is keeping up with the principal database. Log Bytes Sent/sec 카운터를 사용하면 초당 보낸 로그의 양을 모니터링할 수 있습니다.You can examine the Log Bytes Sent/sec counter to monitor the amount of log sent per second.

각 파트너의 성능 모니터에서 성능 카운터는 데이터베이스 미러링 성능 개체(SQLServer:Database Mirroring)에서 사용할 수 있습니다.In Performance Monitor on either partner, performance counters are available in the database mirroring performance object (SQLServer:Database Mirroring). 자세한 내용은 SQL Server, Database Mirroring Object을(를) 참조하세요.For more information, see SQL Server, Database Mirroring Object.

성능 모니터를 시작하려면To start the performance monitor

데이터베이스 미러링 이벤트 알림 Database Mirroring Event Notifications

이벤트 알림은 특별한 종류의 데이터베이스 개체입니다.Event notifications are a special kind of database object. 이벤트 알림은 다양한 Transact-SQL DDL(데이터 언어 정의) 문과 SQL 추적 이벤트에 대한 응답으로 실행되며 서버 및 데이터베이스 이벤트에 대한 정보를 Service BrokerService Broker 서비스로 보냅니다.Event notifications execute in response to a variety of Transact-SQL data definition language (DDL) statements and SQL Trace events and send information about server and database events to a Service BrokerService Broker service.

데이터베이스 미러링에 대해 사용할 수 있는 이벤트는 다음과 같습니다.The following events are available for database mirroring:

참고 항목See Also

데이터베이스 미러링(SQL Server) Database Mirroring (SQL Server)
서버 이벤트용 WMI 공급자 개념WMI Provider for Server Events Concepts