このスクリプトでは、GetConnectionString("master")
の部分で接続するデータベースを指定し、$query
の部分に実行したい SQL コマンドを記述することで、対象のデータベースに対して SQL を実行できます。
スクリプト内容
# DBへの接続文字列を取得
$connectionString = [Sitecore.Configuration.Settings]::GetConnectionString("master")
# 実行するSQLクエリ
$query = "SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';"
# SQLConnection、SQLCommandを設定
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection($connectionString);
$sqlCommand = New-Object System.Data.SqlClient.SQLCommand($query, $sqlConnection);
# DataTableを利用してSQL実行結果を一時格納
$resultsDataTable = New-Object System.Data.DataTable;
$sqlConnection.Open()
# ExecuteReaderを実行してDataTableにデータを格納
$resultsDataTable.Load($sqlCommand.ExecuteReader());
# CSV形式で標準出力
$resultsDataTable | ConvertTo-Csv -NoTypeInformation;
$sqlConnection.Close()
Write-Host "end"
出力例(CSV形式)
"TABLE_SCHEMA","TABLE_NAME"
"dbo","Items"
"dbo","Versions"
...(以下略)
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。