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


 .NET Framework >  SqlConnection


<# Example 1 #>

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

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

 

<# Example 2 #>

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

Write-SqlTableData ...

 

<# Example 3 #>

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

$con.Open()

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

$sqlcmd.ExecuteNonQuery()

 

<# Example 4 #>

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

$con.Open()

$sqlcmd = New-Object System.Data.SqlClient.SqlCommand ("SELECT * FROM Categories", $con)

$table = New-Object System.Data.DataTable

$table.Load($sqlcmd.ExecuteReader())

$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() } }

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