Get-SqlErrorLog
Возвращает журналы ошибок SQL Server.
Синтаксис
Get-SqlErrorLog
[-Timespan <TimeSpan>]
[-Before <DateTime>]
[-After <DateTime>]
[-Since <SinceType>]
[-Ascending]
[[-Path] <String[]>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Get-SqlErrorLog
[-Timespan <TimeSpan>]
[-Before <DateTime>]
[-After <DateTime>]
[-Since <SinceType>]
[-Ascending]
[[-ServerInstance] <String[]>]
[-Credential <PSCredential>]
[-ConnectionTimeout <Int32>]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Get-SqlErrorLog
[-Timespan <TimeSpan>]
[-Before <DateTime>]
[-After <DateTime>]
[-Since <SinceType>]
[-Ascending]
[-InputObject] <Server[]>
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Описание
Командлет Get-SqlErrorLog получает журналы ошибок SQL Server.
Этот командлет поддерживает следующие режимы операций для получения журнала ошибок:
- Передайте экземпляр SQL Server.
- Укажите параметр Path экземпляра SQL Server.
- Вызовите командлет в допустимом контексте.
Примеры
Пример 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
Маркер доступа, используемый для проверки подлинности для SQL Server, в качестве альтернативы проверке подлинности пользователя или пароля или проверки подлинности Windows.
Его можно использовать, например, для подключения к SQL Azure DB
и SQL Azure Managed Instance
с помощью Service Principal
или Managed Identity
.
Используемый параметр может быть либо строкой, представляющей маркер, либо объектом, PSAccessToken
возвращаемым при выполнении команды Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Этот параметр является новым в версии 22 модуля.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-After
Указывает, что этот командлет получает только журналы ошибок, созданные после заданного времени.
Если указать параметр Before, этот командлет получает все журналы ошибок, созданные до указанного .
Не указывайте этот параметр, если вы планируете использовать параметры Since или Timespan.
Формат определяется в соответствии с правилами .NET System.DataTime.Parse().
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Ascending
Указывает, что командлет сортирует коллекцию журналов ошибок по дате журнала в порядке возрастания. Если этот параметр не указан, командлет сортирует журналы ошибок в порядке убывания.
Когда этот командлет получает журналы ошибок из нескольких источников, сортировка применяется ко всем журналам ошибок из одного источника. Журналы, которые получает этот командлет, сначала группируются по источнику, а затем сортируются по дате журнала.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Before
Указывает, что этот командлет получает только журналы ошибок, созданные до заданного времени.
Если указан параметр After, командлет по умолчанию имеет значение now, то есть командлет получает все журналы ошибок, созданные после того, что вы указали для этого параметра до текущего времени.
Не указывайте значение для этого параметра, если вы планируете использовать параметры Since или Timespan. Формат определяется в соответствии с правилами .NET System.Datatime.Parse().
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionTimeout
Указывает время ожидания подключения к серверу в секундах до истечения времени ожидания. Значение времени ожидания должно быть целым числом от 0 до 65 534. Если указано значение 0, попытки соединения не прекращаются.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Указывает объект PSCredential, используемый для указания учетных данных для имени входа SQL Server, у которого есть разрешение на выполнение этой операции.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Тип шифрования, используемый при подключении к SQL Server.
Это значение сопоставляется со свойством Encrypt
SqlConnectionEncryptOption
объекта SqlConnection драйвера Microsoft.Data.SqlClient.
В модуле версии 22 значение по умолчанию — Optional
(для совместимости с версией 21). В версии 23 и более поздних версий модуля значением по умолчанию будет "Обязательно", что может привести к критическому изменению для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Имя узла используется для проверки TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и вы хотите подключиться к экземпляру с помощью имени узла или shortname. Если этот параметр опущен, необходимо передать полное доменное имя (FQDN) в -ServerInstance для подключения к экземпляру SQL Server, включенного для принудительного шифрования.
Этот параметр является новым в версии 22 модуля.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Указывает объект сервера в виде массива целевого экземпляра, из которой этот командлет получает журналы.
Type: | Server[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Указывает путь в виде массива к экземпляру SQL Server, на котором этот командлет выполняет операцию. Если значение этого параметра не указано, командлет использует текущее рабочее расположение.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ServerInstance
Указывает имя экземпляра SQL Server в виде массива. Для экземпляров по умолчанию укажите только имя компьютера MyComputer. Для именованных экземпляров используйте формат Имя_компьютера\Имя_экземпляра.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Since
Задает сокращение для параметра Timespan.
Не указывайте этот параметр, если планируется использовать параметр After или Before.
Допустимые значения для этого параметра:
- Полночь (получает все журналы, созданные после полуночи)
- Вчера (получает все журналы, созданные за последние 24 часа).
- LastWeek (получает все журналы, созданные за последнюю неделю)
- LastMonth (получает все журналы, созданные за последний месяц)
Type: | SinceType |
Accepted values: | Midnight, Yesterday, LastWeek, LastMonth |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timespan
Указывает объект TimeSpan, который этот командлет отфильтровывает из журналов ошибок, которые находятся за пределами интервала времени.
Формат этого параметра — d.ЧЧ:мм:сс.
Этот параметр игнорируется при использовании параметров Since, After или Before.
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.
В модуле версии 22 значение по умолчанию — $true
(для совместимости с версией 21). В модуле версии 23+ значение по умолчанию будет "$false", что может привести к критическому изменению для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
System.String[]
Microsoft.SqlServer.Management.Smo.Server[]