Eseguire una query su sql e ritornare i dati in PowerShell
In questo esempio in PowerShell 1.0 eseguo una query che mi ritorna tutti i nomi dei database presenti su SQL Server, tranne i DB di sistema e i DB di reporting.
se voglio esportare alcuni campi su un file CSV:
PowerShell
#nome server o alias
$sqlServer = "mysqlserver.sgart.local"
$database = "master"
$query = "select database_id, name, create_date, recovery_model_desc from sys.databases where owner_sid <> 0x01 AND Name not in ('ReportServer', 'ReportServerTempDB') ORDER BY Name"
$cnn = "server=$sqlServer;database=$database;Integrated Security=sspi"
#$cnn = "server=$sqlServer;database=$database;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
$da = new-object System.Data.SqlClient.SqlDataAdapter($query, $cnn)
$tbl = new-object System.Data.DataTable
$count = $da.fill($tbl)
$da.dispose()
#return data
Write-Host "Record letti: $count" -ForegroundColor Green
$tbl
PowerShell
$tbl | select name, create_date | Export-Csv $pwd\table.csv
La variabile $pwd ritorna il percorso corrente