Управление SQL Server c помощью PowerShell

Содержание

Слайд 2

Работа с SQL Server

WMI (Windows Management Instrumentation)
.NET (Microsoft .NET Framework)
SMO (Server Management

Работа с SQL Server WMI (Windows Management Instrumentation) .NET (Microsoft .NET Framework)
Objects)
SQL Server PowerShell Provider
Набор командлетов SQL Server
SQLPSX (SQL Server PowerShell Extensions)

Слайд 3

WMI Provider for SQL Server 2008

WMI Provider for Configuration Management (Поставщик WMI

WMI Provider for SQL Server 2008 WMI Provider for Configuration Management (Поставщик
для управления конфигурацией)
Управление службами SQL Server  (весь функционал SQL Server Configuration Manager )
Управление сетевой конфигурацией SQL Server  (серверными и клиентскими сетевыми библиотеками, настройками сетевых протоколов и т. п.), в том числе и на удалённом сервере(!).
WMI Provider for Server Events (Поставщик WMI для событий сервера)
события DDL (Data Definition Language — язык определения данных) — это события, которые связаны с созданием, удалением или изменением объектов на уровне сервера или на уровне базы данных;
события трассировки — это те события, информацию о которых можно получить при помощи SQL Server Profiler.

Слайд 4

WMI Provider for Configuration Management

Пространство имён
root\Microsoft\SqlServer\ComputerManagement10 for SQL Server 2008
root\Microsoft\SqlServer\ComputerManagement for SQL

WMI Provider for Configuration Management Пространство имён root\Microsoft\SqlServer\ComputerManagement10 for SQL Server 2008
Server 2005
Список классов
Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10
–list | Where-Object {-not ($_.Name -like '__*')}
Remote computer
Get-WmiObject –computerName MyServerDB -namespace root\Microsoft\SqlServer\ComputerManagement10
–list | Where-Object {-not ($_.Name -like '__*')}

Слайд 5

WMI Provider for Server Events

Пространство имён
root\Microsoft\SqlServer\ServerEvents\instancename
Инстанс по умолчанию: root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER
Именованный инстанс INSTANCE1: root\Microsoft\SqlServer\ServerEvents\INSTANCE1
Инстанс

WMI Provider for Server Events Пространство имён root\Microsoft\SqlServer\ServerEvents\instancename Инстанс по умолчанию: root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER
по умолчанию на удалённом серврере MyServerDB
\\MyServerDB\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER

Слайд 6

WMI

Демонстрация

WMI Демонстрация

Слайд 7

.NET Framework

Windows PowerShell построен на базе Microsoft .NET Framework и интегрирован с

.NET Framework Windows PowerShell построен на базе Microsoft .NET Framework и интегрирован
ним
Пример:
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=katmai;Database=master;Integrated Security=True“
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "Select @@version as SQLServerVersion“
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]

Слайд 8

.NET

Демонстрация

.NET Демонстрация

Слайд 9

SMO (Server Management Objects)

Объекты SMO SQL Server – это объекты, созданные для

SMO (Server Management Objects) Объекты SMO SQL Server – это объекты, созданные
управления Microsoft SQL Server программными средствами. Объекты SMO можно использовать для создания специализированных приложений управления SQL Server.
Пример:
$smovar = New-Object ('Microsoft.SqlServer.Management.Smo.Server') 'localhost'
$smovar.Version
$smovar.Edition
$smovar.LoginMode

Слайд 10

SMO

Демонстрация

SMO Демонстрация

Слайд 11

SQL Server PowerShell Provider

Поставщик SQL Server для Windows PowerShell отображает иерархию объектов

SQL Server PowerShell Provider Поставщик SQL Server для Windows PowerShell отображает иерархию
SQL Server в виде путей, аналогичных путям файловой системы. Можно определить расположение объекта с помощью путей, а затем использовать методы, доступные в моделях объектов SMO, для выполнения действий с объектами.
"Диск" (drive) SQLSERVER позволяет управлять объектами
1) SQLSERVER:\SQL (Объекты базы данных, такие как таблицы, представления и хранимые процедуры)
2) SQLSERVER:\SQLPolicy (Объекты управления на основе политик, такие как политики и аспекты)
3) SQLSERVER:\SQLRegistration (Зарегистрированные объекты серверов, такие как группы серверов и зарегистрированные серверы, как они видятся в SQL Management Studio -> View -> Registered Servers)
4) SQLSERVER:\DataCollection (сбор данных по производительности)

Слайд 12

SQL Server PowerShell Provider

Демонстрация

SQL Server PowerShell Provider Демонстрация

Слайд 13

Набор командлетов SQL Server

Invoke-Sqlcmd
Командлет Invoke-Sqlcmd поддерживает выполнение сценариев sqlcmd или команд, которые

Набор командлетов SQL Server Invoke-Sqlcmd Командлет Invoke-Sqlcmd поддерживает выполнение сценариев sqlcmd или
содержат инструкции Transact-SQL или XQuery. Он может принимать входные данные sqlcmd в виде символьного строкового входного параметра или имени открываемого файла сценария.
Invoke-PolicyEvaluation
Командлет Invoke-PolicyEvaluation сообщает, соответствует ли целевой набор объектов SQL Server условиям, определенным в схемах управления на основе политик. Кроме того, этот командлет можно использовать для повторного задания любых настраиваемых параметров в целевых объектах, которые не соответствуют условиям политики.

Слайд 14

Набор командлетов

Демонстрация

Набор командлетов Демонстрация

Слайд 15

SQLPSX (SQL Server PowerShell Extensions)

Коллекция бесплатный командлетов, облегчающих жизнь администратору(http://sqlpsx.codeplex.com/)

SQLPSX (SQL Server PowerShell Extensions) Коллекция бесплатный командлетов, облегчающих жизнь администратору(http://sqlpsx.codeplex.com/)

Слайд 16

SQLPSX

Демонстрация

SQLPSX Демонстрация

Слайд 17

Ссылки:

Общие сведения о SQL Server PowerShell
http://msdn.microsoft.com/ru-ru/library/cc281954.aspx
Официальный блог разработчиков PowerShell
http://blogs.msdn.com/powershell/
Мой блог
http://www.t-sql.ru

Ссылки: Общие сведения о SQL Server PowerShell http://msdn.microsoft.com/ru-ru/library/cc281954.aspx Официальный блог разработчиков PowerShell http://blogs.msdn.com/powershell/ Мой блог http://www.t-sql.ru
Имя файла: Управление-SQL-Server-c-помощью-PowerShell.pptx
Количество просмотров: 159
Количество скачиваний: 0