Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


Боковая панель

powershell:sql-server:powershell-changes-and-new-cmdlets-for-sql-server-2016-get-sqlerrorlog

Изменения PowerShell и новые командлеты для SQL Server 2016

Данный материал является переводом оригинальной стать: Rajendra Gupta "PowerShell changes and new cmdlets for SQL Server 2016"

PowerShell - это важная оболочка Windows, которая может взаимодействовать с SQL Server, помогая автоматизировать и выполнять несколько задач администратора баз данных. Windows PowerShell поддерживает более сложную логику, чем сценарии T-SQL, что дает администраторам SQL Server возможность создавать надежные сценарии администрирования. В SQL Server 2016 есть некоторые существенные изменения, а также новые командлеты, и в этом совете мы рассмотрим некоторые из этих новых командлетов PowerShell.


PS-модуль SQLSERVER

Microsoft изменила модуль SQL PowerShell с SQLPS на SQLSERVER. Чтобы увидеть командлеты в модуле SQLSERVER, выполните следующую команду.

get-command -module SQLSERVER


Командлет Get-SqlErrorLog

PowerShell командлет Get-SqlErrorLog используется для получения сведений из журналов SQL Server. Мы можем фильтровать журналы ошибок по тексту, датам и т.д. Мы можем получить свойство и определение Get-sqlErrorLog следующим образом:

Get-Command | Where-Object {$_.Name -eq"Get-SqlErrorLog"} | Format-List *

Получить общее количество событий в журналах ошибок:

Get-SqlErrorLog -ServerInstance localhost\sql2016 | measure

Отфильтровать журналы ошибок Вот пример, в котором мы ищем слово «login».

Get-SqlErrorLog | Where-Object { $_.text -like "*Login*"} | Out-Grid View

Точно так же, если мы хотим отфильтровать с помощью ключевого слова SQL Server, выполните следующую команду.

Get-SqlErrorLog | Where-Object { $_.text -like "*SQL Server*"} | Out-GridView

Чтобы отфильтровать журналы между двумя датами, мы можем использовать параметр -Before и -After.

Get-SqlErrorLog -After "2021/09/25"  -Before "2021/10/01" `
 | Where-Object { $_.text -like "*SQL Server*"} | Out-GridView

Чтобы просмотреть журналы ошибок после определенной даты, мы можем запустить следующую команду.

Get-SqlErrorLog `
 | Where-Object {$_.Text -like '*SQL Server*' -and $_.Date -gt '10/01/2016'} `
 | Out-GridView


Командлет Set-SqlErrorLog

Мы можем получить свойство и определение Set-sqlErrorLog следующим образом:

Get-Command | Where-Object {$_.Name -eq "Set-SqlErrorLog"} | Format-List *

Мы можем настроить количество журналов ошибок с помощью этой команды. Самые старые файлы удаляются при создании нового файла журнала. Чтобы ограничить количество файлов с помощью PowerShell, напишите следующее:

Set-SqlErrorLog -MaxLogCount 10

Если мы хотим сгенерировать сценарий T-SQL, чтобы установить максимальное количество файлов журнала ошибок равным 12, выполните следующую команду.

Set-SqlErrorLog -MaxLogCount 12 -Script

Автор первичной редакции:
Пётр Окунев
Время публикации: 27.11.2021 11:22

Обсуждение

Ваш комментарий:
 

powershell/sql-server/powershell-changes-and-new-cmdlets-for-sql-server-2016-get-sqlerrorlog.txt · Последнее изменение: 29.11.2021 09:05 — Алексей Максимов