BACPAC は、データベースのスキーマとテーブルデータを合わせた情報を持つファイルですね。よく オンプレミスの SQLServer 上のデータベースを Windows Azure の SQL データベースに移行したりする際に使われたりしますよね。
それでは、PowerShell で BACPAC ファイルを生成してみたいと思います。
(Microsoft.SqlServer.Dac.dll が存在しない場合は、Microsoft® SQL Server® 2012 SP1 用 Feature Pack をダウンロードしてください。)
$DllPath = "C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\Microsoft.SqlServer.Dac.dll" $BackpacFilePath = "C:\temp\test.bacpac" $DatabaseName = "BACPAC実行対象データベース名" $ConnectionString = "Data Source=’SQLServerインスタンス名’;Initial Catalog=’データベース名’;Integrated Security=True"; Add-Type -Path $DllPath $Sql = New-Object Microsoft.SqlServer.Dac.DacServices($ConnectionString) if($Sql -eq $null){ return } Write-Host $(Get-Date).ToString("yyyy/MM/dd hh:mm:ss") "- Start." $Sql.ExportBacpac($BackpacFilePath, $DatabaseName) Write-Host $(Get-Date).ToString("yyyy/MM/dd hh:mm:ss") "- Finish."