Вики IT-KB

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

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

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


powershell:sql-server:powershell-one-line-solutions-for-common-sql-server-dba-tasks-collecting-information-in-sql-server

Однострочные решения PowerShell для общих задач SQL Server DBA. Пример 2: Сбор информации в SQL Server

В этой заметке рассмотрены примеры создания однострочных сценариев PowerShell, работающих с объектами баз данных SQL Server


В первую очередь нужно импортировать PowerShell-модуль SQLPS:

Import-Module SQLPS -DisableNameChecking;

Найти 10 самых больших таблиц (в строках) в БД:

dir sqlserver:\sql\SERVERNAME\INSTANCENAME\databases\DBNAME\tables ` 
 | sort rowcount -desc | select name, rowcount -first 10;

Найти логины с правами sysadmin на множестве серверов (предполагаем только экземпляр sql сервера по умолчанию):

'Server1', 'Server2', 'Server3' | % { dir "sqlserver:\sql\$_\default\logins" } `
 | ? {$_.ismember('sysadmin')} | select Parent, Name | ft -AutoSize;

Найти размеры пользовательских БД на множестве серверов (предполагаем только экземпляры sql сервера по умолчанию):

'Server1', 'Server2', 'Server3' | % { dir sqlserver:\sql\$_\default\databases } `
 |  select parent, name, size | ogv -Title "Database Size(MB)";

Проверяем наличие логина с указанным именем на каких-либо серверах (предполагаем только экземпляры sql сервера по умолчанию):

'Server1', 'Server2', 'Server3' | % { dir sqlserver:\sql\$_\default\logins } `
 | ? {$_.name -like '*ThisLogin*'} |  select Parent, Name;

Проверяем, есть ли какая-либо БД с моделью восстановления НЕ simple, которая не имеет бэкапа лога транзакций за последний 1 час:

'Server1', 'Server2', 'Server3' | % {dir sqlserver:\sql\$_\default\databases} `
 | ? {($_.RecoveryModel -ne 'Simple') `
 -and ($_.lastlogbackupdate -lt (get-date).addhours(-1))} `
 | select Parent, Name, LastLogbackupdate;

Проверено на следующих конфигурациях:

Версия ОС Версия PowerShell Версия SQL Server
Windows Server 2008R2 3.0+ SQL Server 2012

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

Обсуждение

Ваш комментарий:
 
powershell/sql-server/powershell-one-line-solutions-for-common-sql-server-dba-tasks-collecting-information-in-sql-server.txt · Последнее изменение: 30.11.2021 19:43 — Пётр Окунев

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki