Работа с SQL через PowerShell


 .NET >  SqlConnection


<# Example 1 #>

Invoke-Sqlcmd -Query "EXEC dbo.CustOrderHist @CustomerID = N'ALFKI'" -ServerInstance "." -Database Northwind

Invoke-Sqlcmd -Query "EXEC dbo.CustOrderHist @CustomerID = N'ALFKI'" -ServerInstance "." -Database Northwind -U sa -P password

 

<# Example 2 #>

Read-SqlTableData -ServerInstance "." -Database Northwind -SchemaName dbo -TableName Categories -top 3

Write-SqlTableData ...

 

<# Example 3 #>

$con = New-Object System.Data.SqlClient.SqlConnection ("Data Source=.;Database=Northwind;Integrated Security=True")

$con.Open()

$sqlcmd = New-Object System.Data.SqlClient.SqlCommand ("UPDATE Categories SET CategoryName = CategoryName + '.'", $con)

$sqlcmd.ExecuteNonQuery()

$con.Dispose()

 

<# Example 4 #>

$con = New-Object System.Data.SqlClient.SqlConnection ("Data Source=.;Database=AdventureWorks;Integrated Security=True")

$con.Open()

$sqlcmd = New-Object System.Data.SqlClient.SqlCommand ("SELECT TOP (1) * FROM Production.Product", $con)

$table = New-Object System.Data.DataTable

$reader = $sqlcmd.ExecuteReader()

$table.Load($reader)

$reader.Dispose()

$con.Dispose()

$table


03.04.2019 11:10   alexander.surbashev  

Восхитительно. по завершению можно так же закрывать соединение $con.Close() $con.Dispose() Пробовал вот еще такой подход: $Name = "DBName" import-module sqlps $server = New-Object Microsoft.SqlServer.Management.Smo.Server(".\LOCALMSSQL") $server.Databases foreach ($db in $server.Databases.name){ if($db -like "*-local-" + $Name){ Write-Host 'This DB wil be removed'+$db -ForegroundColor Red $server.databases[$db] $server.databases[$db].Drop() } }

15.11.2019 16:02   alexander.surbashev  

в Свежем powershell появился командлет по работе с БД $BuildServerName = "ServerName" $Query = 'select * from....... ' Invoke-Sqlcmd -Query $Query -ServerInstance $BuildServerName

14.01.2020 18:43   alexander.surbashev  

что бы использовать invoke-Sqlcmd нужно установить Microsoft® System CLR Types for Microsoft SQL Server® 2016 (SQLSysClrTypes.msi) Microsoft® SQL Server® 2016 Shared Management Objects (SharedManagementObjects.msi) Microsoft® Windows PowerShell Extensions for Microsoft SQL Server® 2016 (PowerShellTools.msi)

Оставлять комментарии могут только зарегистрированные пользователи
Дата создания: 10.05.2018 14:03
Дата изменения: 10.05.2018 14:03
Автор: admin