장애 조치(failover) 클러스터 인스턴스 진단 로그 보기 및 읽기View and Read Failover Cluster Instance Diagnostics Log

SQL Server 리소스 DLL에 대한 모든 오류 및 경고 이벤트는 Windows 이벤트 로그에 기록됩니다.All critical errors and warning events for the SQL Server Resource DLL are written to the Windows event log. sp_server_diagnostics(Transact-SQL) 시스템 저장 프로시저에서 캡처된 SQL Server 관련 진단 정보의 실행 로그는 SQL Server 장애 조치(failover) 클러스터 진단(SQLDIAG 로그라고도 함) 로그 파일에 기록됩니다.A running log of the diagnostic information specific to SQL Server is captured by the sp_server_diagnostics (Transact-SQL) system stored procedure and is written to the SQL Server failover cluster diagnostics (also known as the SQLDIAG logs) log files.

시작하기 전에 Before You Begin

권장 사항 Recommendations

기본적으로 SQLDIAG는 SQL Server 인스턴스 디렉터리의 로컬 LOG 폴더(예: Always On FCI(장애 조치(failover) 클러스터 인스턴스) 소유 노드의 'C\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\LOG')에 저장됩니다.By default, the SQLDIAG are stored under a local LOG folder of the SQL Server instance directory, for example, 'C\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\LOG' of the owning node of the Always On Failover Cluster Instance (FCI). 각 SQLDIAG 로그 파일의 크기는 100MB로 고정됩니다.The size of each SQLDIAG log file is fixed at 100 MB. 새 로그에 재활용하기 전에 이러한 로그 파일이 컴퓨터에 10개 저장됩니다.Ten such log files are stored on the computer before they are recycled for new logs.

로그는 확장 이벤트 파일 형식을 사용합니다.The logs use the extended events file format. sys.fn_xe_file_target_read_file 시스템 함수를 사용하여 확장 이벤트에서 만든 파일을 읽을 수 있습니다.The sys.fn_xe_file_target_read_file system function can be used to read the files that are created by Extended Events. 행당 하나의 이벤트가 XML 형식으로 반환됩니다.One event, in XML format, is returned per row. XML 데이터를 결과 집합으로 구문 분석하려면 시스템 뷰를 쿼리합니다.Query the system view to parse the XML data as a result-set. 자세한 내용은 sys.fn_xe_file_target_read_file(Transact-SQL)을 참조하세요.For more information, see sys.fn_xe_file_target_read_file (Transact-SQL).

보안 Security

사용 권한 Permissions

fn_xe_file_target_read_file을 실행하려면 VIEW SERVER STATE 권한이 필요합니다.VIEW SERVER STATE permission is needed to run fn_xe_file_target_read_file.

SQL Server Management Studio를 관리자로 열기Open SQL Server Management Studio as Administrator

SQL Server Management Studio 사용 Using SQL Server Management Studio

진단 로그 파일을 보려면:To view the Diagnostic log files:

  1. 파일 메뉴에서 열기, 파일을 선택한 다음 보려는 진단 로그 파일을 선택합니다.From the File menu, select Open, File, and choose the diagnostic log file you want to view.

  2. 이벤트가 왼쪽 창에 행으로 표시되며 기본적으로 이름타임스탬프 라는 두 열만 표시됩니다.The events are displayed as rows in the right pane, and by default name, and timestamp are the only two columns displayed.

    또한 ExtendedEvents 메뉴도 활성화됩니다.This also activates the ExtendedEvents menu.

  3. 추가 열을 보려면 ExtendedEvents 메뉴로 이동하고 열 선택을 선택합니다.To see more columns, go the ExtendedEvents menu, and select Choose Columns.

    표시할 열을 선택할 수 있는 사용 가능한 열이 포함된 대화 상자가 열립니다.A dialog box opens with the available columns allowing you to select the columns for display.

  4. ExtendedEvents 메뉴를 사용하고 필터 옵션을 선택하여 이벤트 데이터를 필터링하고 정렬할 수 있습니다.You can filter, and sort the event data using the ExtendedEvents menu and selecting the Filter option.

Transact-SQL 사용 Using Transact-SQL

진단 로그 파일을 보려면:To view the Diagnostic log files:

SQLDIAG 로그 파일의 모든 로그 항목을 보려면 다음 쿼리를 사용합니다.To view all the log items in the SQLDIAG log file, use the following query:

SELECT  
xml_data.value('(event/@name)[1]','varchar(max)') AS 'Name'  
,xml_data.value('(event/@package)[1]','varchar(max)') AS 'Package'  
,xml_data.value('(event/@timestamp)[1]','datetime') AS 'Time'  
,xml_data.value('(event/data[@name=''state'']/value)[1]','int') AS 'State'  
,xml_data.value('(event/data[@name=''state_desc'']/text)[1]','varchar(max)') AS 'State Description'  
,xml_data.value('(event/data[@name=''failure_condition_level'']/value)[1]','int') AS 'Failure Conditions'  
,xml_data.value('(event/data[@name=''node_name'']/value)[1]','varchar(max)') AS 'Node_Name'  
,xml_data.value('(event/data[@name=''instancename'']/value)[1]','varchar(max)') AS 'Instance Name'  
,xml_data.value('(event/data[@name=''creation time'']/value)[1]','datetime') AS 'Creation Time'  
,xml_data.value('(event/data[@name=''component'']/value)[1]','varchar(max)') AS 'Component'  
,xml_data.value('(event/data[@name=''data'']/value)[1]','varchar(max)') AS 'Data'  
,xml_data.value('(event/data[@name=''info'']/value)[1]','varchar(max)') AS 'Info'  
FROM  
 ( SELECT object_name AS 'event'  
  ,CONVERT(xml,event_data) AS 'xml_data'  
  FROM sys.fn_xe_file_target_read_file('C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\SQLNODE1_MSSQLSERVER_SQLDIAG_0_129936003752530000.xel',NULL,NULL,NULL)   
)   
AS XEventData  
ORDER BY Time;  
참고

WHERE 절을 사용하여 특정 구성 요소 또는 상태에 대한 결과를 필터링할 수 있습니다.You can filter the results for specific components or state using the WHERE clause.

Transact-SQL 사용 Using Transact-SQL

진단 로그 속성을 구성하려면To configure the Diagnostic Log Properties

참고

이 절차에 대한 예는 이 섹션의 뒷부분에 나오는 예제(Transact-SQL)을 참조하세요.For an example of this procedure, see Example (Transact-SQL), later in this section.

DDL(데이터 정의 언어) 문, ALTER SERVER CONFIGURATION을 사용하여 sp_server_diagnostics(Transact-SQL) 프로시저에서 캡처된 진단 데이터의 로깅을 시작하거나 중지하고 로그 파일 롤오버 수, 로그 파일 크기 및 파일 위치와 같은 SQLDIAG 로그 구성 매개 변수를 설정할 수 있습니다.Using the Data Definition Language (DDL) statement, ALTER SERVER CONFIGURATION, you can start or stop logging diagnostic data captured by the sp_server_diagnostics (Transact-SQL) procedure, and set SQLDIAG log configuration parameters such as the log file rollover count, log file size, and file location. 구문에 대한 자세한 내용은 Setting diagnostic log options을 참조하세요.For syntax details, see Setting diagnostic log options.

예(Transact-SQL) Examples (Transact-SQL)

Setting diagnostic log options Setting diagnostic log options

이 섹션의 예에서는 진단 로그 옵션 값을 설정하는 방법을 보여 줍니다.The examples in this section show how to set the values for the diagnostic log option.

1.A. 진단 로깅 시작Starting diagnostic logging

다음 예에서는 진단 데이터의 로깅을 시작합니다.The following example starts the logging of diagnostic data.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;  
2.B. 진단 로깅 중지Stopping diagnostic logging

다음 예에서는 진단 데이터의 로깅을 중지합니다.The following example stops the logging of diagnostic data.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;  
3.C. 진단 로그의 위치 지정Specifying the location of the diagnostic logs

다음 예에서는 진단 로그의 위치를 지정된 파일 경로로 설정합니다.The following example sets the location of the diagnostic logs to the specified file path.

ALTER SERVER CONFIGURATION  
SET DIAGNOSTICS LOG PATH = 'C:\logs';  
4.D. 각 진단 로그의 최대 크기 지정Specifying the maximum size of each diagnostic log

다음 예에서는 각 진단 로그의 최대 크기를 10MB로 설정합니다.The following example set the maximum size of each diagnostic log to 10 megabytes.

ALTER SERVER CONFIGURATION   
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;  

참고 항목See Also

장애 조치(failover) 클러스터 인스턴스용 장애 조치(failover) 정책Failover Policy for Failover Cluster Instances