Estou usando as classes .NET no namespace System.Data.SqlClient em um SQL 2019 Enterprise Edition e executei com êxito comandos TSQL por meio da criação de uma função no PowerShell.
function SqlQuery($server, $database, $query)
{
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = "Server=$server;Database=$database;Integrated Security=True;"
$connection.Open()
$command = $connection.CreateCommand()
$command.CommandText = $query
$result = $command.ExecuteReader()
$table = new-object “System.Data.DataTable”
$table.Load($result)
$connection.Close()
return $table
}
SqlQuery $Server $Database "SELECT * FROM Staff"
Eu tenho alguns pedaços muito grandes de código T-SQL armazenados em arquivos discretos que gostaria de executar nessa instância. É possível utilizar a função para chamar um script T-SQL armazenado em um arquivo do sistema de arquivos?