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.

Это значение сопоставляется со свойством EncryptSqlConnectionEncryptOption объекта 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[]