Get-SqlErrorLog
SQL Server 오류 로그를 가져옵니다.
구문
ByPath (기본값)
Get-SqlErrorLog
[[-Path] <String[]>]
[-Timespan <TimeSpan>]
[-Before <DateTime>]
[-After <DateTime>]
[-Since <SinceType>]
[-Ascending]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
ByName
Get-SqlErrorLog
[[-ServerInstance] <String[]>]
[-Timespan <TimeSpan>]
[-Before <DateTime>]
[-After <DateTime>]
[-Since <SinceType>]
[-Ascending]
[-Credential <PSCredential>]
[-ConnectionTimeout <Int32>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
ByObject
Get-SqlErrorLog
[-InputObject] <Server[]>
[-Timespan <TimeSpan>]
[-Before <DateTime>]
[-After <DateTime>]
[-Since <SinceType>]
[-Ascending]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Description
Get-SqlErrorLog cmdlet은 SQL Server 오류 로그를 가져옵니다.
이 cmdlet은 오류 로그를 가져오기 위해 다음과 같은 작업 모드를 지원합니다.
- SQL Server의 인스턴스를 전달합니다.
- SQL Server 인스턴스의 Path 매개 변수를 지정합니다.
- 유효한 컨텍스트에서 cmdlet을 호출합니다.
예제
예제 1: 검색 단어가 있는 특정 시간 프레임에서 생성된 모든 로그 가져오기
PS C:\> CD SQLSERVER:\SQL\MyServer\MyInstance
PS SQLSERVER:\SQL\MyServer\MyInstance> Get-SqlErrorLog -Since Yesterday | Where-Object { $_.Text -match 'Error' } | Format-Table
Date Source Text ArchiveNo ServerInstance
---- ------ ---- --------- --------------
6/16/2016 6:04:20 PM Logon Error: 17828, Severity: 20, State: 4. 0 MyServer\MyInstance
첫 번째 명령은 디렉터리를 SQL Server 인스턴스로 변경합니다.
예제 2: 특정 시간 프레임에서 생성된 모든 로그 가져오기
PS C:\> CD SQLSERVER:\SQL\MyServer\MyInstance
PS SQLSERVER:\SQL\MyServer\MyInstance> Get-SqlErrorLog -Timespan '05:30:00' | Format-Table
Date Source Text
---- ------ ----
6/17/2016 12:00:00 AM spid26s This instance of SQL Server has been using a process ID of 21520 since 6/10/2016 3:56:...
6/16/2016 6:04:20 PM Logon The prelogin packet used to open the connection is structurally invalid; the connectio...
6/16/2016 6:04:20 PM Logon Error: 17828, Severity: 20, State: 4.
첫 번째 명령은 디렉터리를 SQL Server 인스턴스로 변경합니다.
예제 3: 특정 시간 프레임에서 생성된 모든 로그를 오름차순으로 정렬하고 그룹화합니다.
PS C:\> CD SQLSERVER:\SQL\MyServer
PS SQLSERVER:\SQL\MyServer> ls | Get-SqlErrorLog -After '2016-05-10' -Before '2016-06-18' -Ascending | ? { $_.Text -match 'Login failed' } | Group-Object -Property ServerInstance
Count Name Group
----- ---- -----
1 MyServer {{ Date = 6/17/2016 2:00:04 AM, Source = Logon, Text = Login failed for user ...
2 MyServer\INST1 {{ Date = 6/10/2016 3:58:46 PM, Source = Logon, Text = Login failed for user
첫 번째 명령은 디렉터리를 SQL Server 인스턴스로 변경합니다.
매개 변수
-AccessToken
사용자/암호 또는 Windows 인증 대신 SQL Server에 인증하는 데 사용되는 액세스 토큰입니다.
예를 들어 연결하거나 SQL Azure DB 사용하려면 SQL Azure Managed Instance 이 메서드를 Service PrincipalManaged Identity사용할 수 있습니다.
사용할 매개 변수는 토큰을 나타내는 문자열이거나 PSAccessToken 실행 Get-AzAccessToken -ResourceUrl https://database.windows.net하여 반환된 개체일 수 있습니다.
이 매개 변수는 모듈의 v22에서 새로 생성됩니다.
매개 변수 속성
| 형식: | PSObject |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-After
이 cmdlet은 지정된 시간 후에 생성된 오류 로그만 가져오게 지정합니다.
Before 매개 변수를 지정하는 경우 이 cmdlet은 지정하기 전에 생성된 모든 오류 로그를 가져옵니다.
Since 또는 Timespan 매개 변수를 사용하려는 경우 이 매개 변수를 지정하지 마세요.
형식은 .Net System.DataTime.Parse()의 규칙에 따라 정의됩니다.
매개 변수 속성
| 형식: | DateTime |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Ascending
cmdlet이 오류 로그 컬렉션을 로그 날짜별로 오름차순으로 정렬한다는 것을 나타냅니다. 이 매개 변수를 지정하지 않으면 cmdlet은 오류 로그를 내림차순으로 정렬합니다.
이 cmdlet이 여러 원본에 오류 로그를 가져오면 정렬이 동일한 원본의 모든 오류 로그에 적용됩니다. 이 cmdlet이 가져오는 로그는 먼저 원본별로 그룹화된 다음 로그 날짜를 기준으로 정렬됩니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Before
이 cmdlet은 지정된 시간 이전에 생성된 오류 로그만 가져오게 지정합니다.
After 매개 변수를 지정하면 cmdlet은 기본적으로 현재로 설정됩니다. 즉, cmdlet은 현재 시간까지 이 매개 변수에 대해 지정한 후 생성된 모든 오류 로그를 가져옵니다.
Since 또는 Timespan 매개 변수를 사용하려는 경우 이 매개 변수의 값을 지정하지 마세요. 형식은 .Net System.Datatime.Parse()의 규칙에 따라 정의됩니다.
매개 변수 속성
| 형식: | DateTime |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-ConnectionTimeout
시간 제한 오류가 발생하기 전에 서버 연결을 대기할 시간(초)을 지정합니다. 제한 시간 값은 0에서 65534 사이의 정수여야 합니다. 0을 지정하면 연결 시도가 시간 초과되지 않습니다.
매개 변수 속성
| 형식: | Int32 |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
ByName
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Credential
이 작업을 수행할 수 있는 권한이 있는 SQL Server 로그인의 자격 증명을 지정하는 데 사용되는 PSCredential 개체를 지정합니다.
매개 변수 속성
| 형식: | PSCredential |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
ByName
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Encrypt
SQL Server에 연결할 때 사용할 암호화 유형입니다.
이 값은 Encrypt Microsoft.Data.SqlClient 드라이버의 SqlConnection 개체에 있는 속성 SqlConnectionEncryptOption 에 매핑됩니다.
모듈의 v22에서 기본값은 Optional v21과의 호환성을 위한 것입니다. 모듈의 v23+에서 기본값은 기존 스크립트에 대한 호환성이 손상되는 변경을 만들 수 있는 '필수'입니다.
이 매개 변수는 모듈의 v22에서 새로 생성됩니다.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 허용되는 값: | Mandatory, Optional, Strict |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-HostNameInCertificate
SQL Server TLS/SSL 인증서의 유효성을 검사할 때 사용할 호스트 이름입니다. SQL Server 인스턴스가 Force Encryption을 사용하도록 설정되어 있고 호스트 이름/짧은 이름을 사용하여 인스턴스에 연결하려는 경우 이 매개 변수를 전달해야 합니다. 이 매개 변수를 생략하면 강제 암호화를 사용하도록 설정된 SQL Server 인스턴스에 연결하려면 FQDN(정규화된 도메인 이름)을 -ServerInstance 전달해야 합니다.
이 매개 변수는 모듈의 v22에서 새로 생성됩니다.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-InputObject
이 cmdlet에서 로그를 가져오는 대상 인스턴스의 서버 개체를 배열로 지정합니다.
매개 변수 속성
| 형식: | Server[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
ByObject
| Position: | 1 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Path
이 cmdlet이 작업을 실행하는 SQL Server 인스턴스에 대한 경로를 배열로 지정합니다. 이 매개 변수의 값을 지정하지 않으면 cmdlet은 현재 작업 위치를 사용합니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
ByPath
| Position: | 1 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-ServerInstance
SQL Server 인스턴스의 이름을 배열로 지정합니다. 기본 인스턴스의 경우 컴퓨터 이름인 MyComputer만 지정합니다. 명명된 인스턴스의 경우 ComputerName\InstanceName 형식을 사용합니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
ByName
| Position: | 1 |
| 필수: | False |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Since
Timespan 매개 변수의 약어를 지정합니다.
After 또는 Before 매개 변수를 사용하려는 경우 이 매개 변수를 지정하지 마세요.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- 자정(자정 이후에 생성된 모든 로그를 가져옵니다.)
- 어제(지난 24시간 동안 생성된 모든 로그를 가져옵니다).
- LastWeek(지난 주에 생성된 모든 로그를 가져옵니다.)
- LastMonth(지난 달에 생성된 모든 로그를 가져옵니다.)
매개 변수 속성
| 형식: | SinceType |
| Default value: | None |
| 허용되는 값: | Midnight, Yesterday, LastWeek, LastMonth |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Timespan
이 cmdlet이 시간 범위를 벗어난 오류 로그에서 필터링하는 TimeSpan 개체를 지정합니다.
이 매개 변수의 형식은 d.HH:mm:ss입니다.
Since, After 또는 Before 매개 변수를 사용하는 경우 이 매개 변수는 무시됩니다.
매개 변수 속성
| 형식: | TimeSpan |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-TrustServerCertificate
신뢰의 유효성을 검사하기 위해 인증서 체인을 건너뛰는 동안 채널이 암호화되는지 여부를 나타냅니다.
모듈의 v22에서 기본값은 $true v21과의 호환성을 위한 것입니다. 모듈의 v23+에서 기본값은 '$false'이며, 이로 인해 기존 스크립트에 대한 호환성이 손상되는 변경이 발생할 수 있습니다.
이 매개 변수는 모듈의 v22에서 새로 생성됩니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.