SQL Server 2008 を PowerShell で扱う方法について説明します。以下の説明は、Windows Server 2008 R2 Enterprise Edition にインストールした SQL Server 2008 Enterprise Edition で行っています。ファイル名を指定して実行から sqlps を実行します。
データベースを作成
Invoke-SqlCmd "CREATE DATABASE TestDB2 ON PRIMARY (NAME = N'TestDB', FILENAME = 'D:\TestDB.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) LOG ON ( NAME= 'TestDB_log', FILENAME = N'D:\TestDB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)"
データベースディレクトリに移動
cd .\SQL\DELL390\DEFAULT\Databases\TestDB2
テーブルとデータを作成
Invoke-Sqlcmd "CREATE TABLE [dbo].[EMP]([EMPNO] [int],[ENAME] [nvarchar](10))" Invoke-Sqlcmd "INSERT INTO [dbo].[EMP] VALUES (10, 'Yamada')" Invoke-Sqlcmd "INSERT INTO [dbo].[EMP] VALUES (20, 'Tanaka')"
テーブルディレクトリに移動し、テーブル名を取得
cd .\Tables dir
テーブルのデータを取得
Invoke-Sqlcmd "SELECT * FROM [dbo].[EMP]" ※尚、SQL Server 2008 用の PowerShell で使用できる専用のコマンドレットは次の通りです。 Convert-UrnToPath Decode-SqlName Encode-SqlName Invoke-PolicyEvaluation Invoke-Sqlcmd