PowerShell から SQLServer のデータベースやテーブルを削除

by kusakari 7. 12月 2009 20:24

前回前々回とPowerShellから、SQLServerにデータベースとテーブルを作成したり、定義を変更してみたりしましたので、今回は、データベースやテーブルを削除してみたいと思います。
※SQLServer2008では、PowerShellがサポートされ専用のコマンドレットを使うことが出来ます。


方法としては、イロイロあると思いますが、今回は下記の2通りの方法を紹介いたします。

  1. System.Data.SqlClient
  2. Invoke-Sqlcmd

なお、今回の実験は、前回の環境からの続きになります。


■1.System.Data.SqlClient
System.Data.SqlClient でデータベースやテーブルの定義変更をしてみます。

 

【データベース削除】
下記は、ローカルの SQLServer に作成されている PowerShell という名前のデータベースを削除しています。

$query = @"
DROP DATABASE PowerShell
"@

$strConn = 'Data Source = localhost; Integrated Security = True'
$conn = New-Object System.Data.SqlClient.SqlConnection($strConn)
$cmd = New-Object System.Data.SqlClient.SqlCommand($query, $conn)
$conn | % `
{
    $_.Open();
    [void]$cmd.ExecuteNonQuery();
    $_.Close();
    $_.Dispose();
}

 

【テーブル削除】
下記は、ローカルの SQLServer の PowerShell データベースにある tbl_ps テーブルを削除しています。

$query = @"
DROP TABLE tbl_ps
"@

$strConn = 'Data Source = localhost; Initial Catalog = PowerShell; Integrated Security = True'
$conn = New-Object System.Data.SqlClient.SqlConnection($strConn)
$cmd = New-Object System.Data.SqlClient.SqlCommand($query, $conn)
$conn | % `
{
    $_.Open();
    [void]$cmd.ExecuteNonQuery();
    $_.Close();
    $_.Dispose();
}




■2.Invoke-Sqlcmd
Invoke-Sqlcmd を使ってデータベースやテーブルの削除をしてみたいと思います。
なお、Invoke-Sqlcmd を使う場合は下記のコマンドなどで追加してください。

Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100

 

【データベース削除】
下記は、ローカルの SQLServer に作成されている PowerShell という名前のデータベースを削除しています。

$query = @"
DROP DATABASE PowerShell
"@

Invoke-Sqlcmd -Query $query

 

【テーブル削除】
下記は、ローカルの SQLServer の PowerShell データベースにある tbl_ps テーブルを削除しています。

$query = @"
DROP TABLE tbl_ps
"@

Invoke-Sqlcmd -Database PowerShell -Query $query




今回、データベースやテーブルの削除で使用したクエリは、簡単なテスト目的でのクエリです。記載しているサンプルは、例外処理に関しては記載してありませんので、ご注意ください。また、クエリに関して他の設定を行う場合は、下記のMSDNをご覧ください。

DROP DATABASE 
http://msdn.microsoft.com/ja-jp/library/ms178613.aspx
DROP TABLE http://msdn.microsoft.com/ja-jp/library/ms173790.aspx


 

コメントを書く


(アイコンを表示しますか Gravatar )

  Country flag

biuquote
  • コメント
  • プレビュー
Loading



Calendar

<<  7月 2010  >>
月曜火曜水曜木曜金曜土曜日曜
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

View posts in large calendar

RecentComments

Comment RSS