Published on

September 18, 2016

Запрос к SQL Server с помощью PowerShell

Устали писать длинный код только для запроса базы данных SQL Server? Хорошие новости! С помощью PowerShell вы можете легко запросить базу данных всего несколькими строками кода.

PowerShell, построенный на .NET, позволяет использовать возможности библиотек .NET для взаимодействия с различными системами данных, включая SQL Server. Давайте рассмотрим простой пример:

$conn = New-Object System.Data.SqlClient.SqlConnection("Data Source=ИмяВашейМашины\ИмяВашегоИнстанса; InitialCatalog=master; Integrated Security=SSPI")
$conn.Open()

$cmd1 = $conn.CreateCommand()
$cmd1.CommandType = [System.Data.CommandType]::StoredProcedure
$cmd1.CommandText = "sp_databases"

$data = $cmd1.ExecuteReader()
$dt = New-Object "System.Data.DataTable"
$dt.Load($data)

$dt | Format-Table

$conn.Close()

В приведенном выше коде мы устанавливаем соединение с SQL Server с помощью строки подключения. Затем мы создаем объект команды и устанавливаем его тип на хранимую процедуру. Далее мы указываем хранимую процедуру, которую хотим выполнить, в данном случае это “sp_databases”. Мы выполняем команду и загружаем результаты в DataTable. Наконец, мы отображаем данные в отформатированной таблице.

Хотя приведенный выше код работает отлично, есть еще более простой и чистый способ запроса SQL Server с помощью PowerShell, если у вас установлена SQL Server Management Studio (SSMS) 2008.

Вам нужно только открыть PowerShell Integrated Scripting Environment (ISE) и добавить модуль SQL Server. После добавления вы можете использовать командлет “invoke-sqlcmd” для выполнения ваших запросов. Вот пример:

# Добавление модулей SQL Server
Add-PSSnapin SqlServerCmdletSnapin100

# Выполнение хранимой процедуры "sp_databases" и форматирование результатов
Invoke-Sqlcmd -Query "sp_databases" -Database master -ServerInstance WIN7\Kilimanjaro | Format-Table

Как видите, использование командлета “invoke-sqlcmd” намного проще и чище по сравнению с предыдущим кодом. Он устраняет необходимость вручную создавать соединение, команду и обрабатывать процесс извлечения данных.

В заключение, если вы хотите сэкономить время и усилия при запросе базы данных SQL Server, я настоятельно рекомендую использовать PowerShell с модулем SQL Server. Это обеспечивает более удобный и эффективный способ взаимодействия с вашими данными. Почему бы не попробовать и не ощутить мощь PowerShell для SQL Server?

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.