PowerShellでSQLの操作をしたことがなかったので、ついでにとAzureSQLに対してやってみようと思います。今回の実行した環境は以下です
Version | |
OS | Windows 11 Pro |
PowerShell | 7.4.1 |
SQL認証でAzureSQLに接続する
当たり前ですが、SQL認証は普通のSQLサーバーとやり方がかわりませんでした
# サーバー名がTestだと『Test.database.windows.net』となる
$serverName = "<yourServerName>.database.windows.net"
$databaseName = "<databaseName>"
$userId = "<SQLServerのUserId>"
$password = "<$userIdのパスワード>"
# SqlConnectionオブジェクトを作成します
$connectionString = "Server=tcp:$serverName,1433;Initial Catalog=$databaseName;Persist Security Info=False;User ID=$userId;Password=$password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=60;"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
# データベースに接続します
$connection.Open()
実際にデータにアクセスする
SQLに接続した以降は違いはありません
$tableName = "dbo.<TableName>"
# SQLクエリを実行します
$command = $connection.CreateCommand()
$command.CommandText = "SELECT * FROM $tableName"
$result = $command.ExecuteReader()
# 結果を表示します
$table = new-object "System.Data.DataTable"
$table.Load($result)
$table
# 接続を閉じます
$connection.Close()
無事にSQLに登録されている値を取得することができました