- Операционные системы
- Виртуализация
- IT-инфраструктура
- Защита ИС и периметра
- Сетевые службы
- Хранение данных
- СУБД
- Объединенные коммуникации
- Веб-серверы и веб-движки
- Скриптинг
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:22powershell/sql-server/powershell-changes-and-new-cmdlets-for-sql-server-2016-get-sqlerrorlog.txt · Последнее изменение: 29.11.2021 09:05 — Алексей Максимов
Инструменты страницы
Обсуждение