Поделиться через


Get-SqlErrorLog

Возвращает журналы ошибок SQL Server.

Синтаксис

Get-SqlErrorLog
   [-Timespan <TimeSpan>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Since <SinceType>]
   [-Ascending]
   [[-Path] <String[]>]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<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>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]
Get-SqlErrorLog
   [-Timespan <TimeSpan>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Since <SinceType>]
   [-Ascending]
   [-InputObject] <Server[]>
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [<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 модуля.

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-After

Указывает, что этот командлет получает только журналы ошибок, созданные после заданного времени.

Если указать параметр "Перед", этот командлет получает все журналы ошибок, созданные до указанного параметра.

Не указывайте этот параметр, если вы планируете использовать параметры "С момента" или "Таймпан".

Формат определяется в соответствии с правилами .NET System.DataTime.Parse().

Тип:DateTime
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Ascending

Указывает, что командлет сортирует коллекцию журналов ошибок по дате журнала по возрастанию. Если этот параметр не указан, командлет сортирует журналы ошибок в порядке убывания.

Когда этот командлет получает журналы ошибок несколько источников, сортировка применяется ко всем журналам ошибок из одного источника. Журналы, которые получает этот командлет, сначала группируются по источнику, а затем сортируются по дате журнала.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Before

Указывает, что этот командлет получает только журналы ошибок, созданные до заданного времени.

Если задан параметр After, командлет по умолчанию по умолчанию получает все журналы ошибок, созданные после указанного для этого параметра до настоящего времени.

Не указывайте значение для этого параметра, если планируется использовать параметры "С момента" или "Таймпан". Формат определяется в соответствии с правилами .NET System.Datatime.Parse().

Тип:DateTime
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ConnectionTimeout

Указывает количество секунд ожидания подключения к серверу до сбоя времени ожидания. Значение времени ожидания должно быть целым числом от 0 до 65534. Если задано значение 0, попытки подключения не истекает.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Указывает объект PSCredential, используемый для указания учетных данных для имени входа SQL Server, имеющего разрешение на выполнение этой операции.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Encrypt

Тип шифрования, используемый при подключении к SQL Server.

Это значение сопоставляется со свойством EncryptSqlConnectionEncryptOption в объекте SqlConnection драйвера Microsoft.Data.SqlClient.

В версии 22 модуля по умолчанию используется Optional (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет "Обязательный", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:String
Допустимые значения:Mandatory, Optional, Strict
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HostNameInCertificate

Имя узла, используемое при проверке TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и требуется подключиться к экземпляру с помощью имени узла или короткого имени. Если этот параметр опущен, передача полного доменного имени (FQDN) в -ServerInstance необходима для подключения к экземпляру SQL Server, включенного для принудительного шифрования.

Этот параметр является новым в версии 22 модуля.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Указывает объект сервера в виде массива целевого экземпляра, из который этот командлет получает журналы.

Тип:Server[]
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Path

Указывает путь в виде массива к экземпляру SQL Server, на котором выполняется операция. Если значение этого параметра не указано, командлет использует текущее рабочее расположение.

Тип:String[]
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProgressAction

Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.

Тип:ActionPreference
Aliases:proga
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ServerInstance

Указывает имя экземпляра SQL Server в виде массива. Для экземпляров по умолчанию укажите только имя компьютера: MyComputer. Для именованных экземпляров используйте формат ComputerName\InstanceName.

Тип:String[]
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Since

Указывает аббревиацию параметра Timespan.

Не указывайте этот параметр, если вы планируете использовать параметр After или Before.

Допустимые значения для этого параметра:

  • Полночь (получает все журналы, созданные после полуночи)
  • Вчера (получает все журналы, созданные за последние 24 часа).
  • LastWeek (получает все журналы, созданные на прошлой неделе)
  • LastMonth (получает все журналы, созданные в прошлом месяце)
Тип:SinceType
Допустимые значения:Midnight, Yesterday, LastWeek, LastMonth
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Timespan

Указывает объект TimeSpan, который этот командлет фильтрует из журналов ошибок, которые выполняются вне интервала времени.

Формат этого параметра — d.HH:mm:ss.

Этот параметр игнорируется, если вы используете параметры "С момента", "После" или "Перед".

Тип:TimeSpan
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TrustServerCertificate

Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.

В версии 22 модуля по умолчанию используется $true (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет иметь значение "$false", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

System.String[]

Microsoft.SqlServer.Management.Smo.Server[]