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.

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
se voglio esportare alcuni campi su un file CSV:

PowerShell

$tbl | select name, create_date | Export-Csv $pwd\table.csv
La variabile $pwd ritorna il percorso corrente
Tags:
PowerShell200 Script85 SQL Server100 T-SQL66
Potrebbe interessarti anche: