Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
Данный материал является переводом оригинальной стать: 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.
Microsoft изменила модуль SQL PowerShell с SQLPS на SQLSERVER. Чтобы увидеть командлеты в модуле SQLSERVER, выполните следующую команду.
SQLPS
SQLSERVER
get-command -module SQLSERVER
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, выполните следующую команду.
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 следующим образом:
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