2013-10-01 20 views
0

我使用powershell從bacpac文件創建SQL Azure數據庫。但是,有時我會在數據庫大小超過默認最大大小時遇到​​麻煩。數據庫大小過大時,Powershell importBacpac到Azure會失敗?

根據文檔,應該可以將DB大小添加到ImportBacpac方法,但我不確定如何在PowerShell中使用它。

任何正在修改數據庫最大大小的數據庫的人?

文檔:http://technet.microsoft.com/en-us/library/jj870786.aspx

當前代碼

function restore-SQLBackup 
([string]$ConnectionString = $(throw "The ConnectionString parameter is required."), 
[string]$DatabaseName = $(throw "The databaseName parameter is required."), 
[string]$fileName = $(throw "The fileName parameter is required."), 
[string]$microsoftSqlServerDacPath = "C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\Microsoft.SqlServer.Dac.dll") { 

Add-Type -Path $microsoftSqlServerDacPath 

$Services = new-object Microsoft.SqlServer.Dac.DacServices $ConnectionString 

if ($Services -eq $null) 
{ 
    exit 
} 

$timeStamp = (Get-Date).ToString("yyyy-MM-dd_HH-mm-ss") 

$bacpac = [Microsoft.SqlServer.Dac.BacPackage]::Load($fileName) 
Write-Host "Starting restoring $DatabaseName at $timeStamp" 
$Watch = New-Object System.Diagnostics.StopWatch 
$Watch.Start() 
$Services.ImportBacpac($bacpac, $DatabaseName) 
$Watch.Stop() 
Write-Host "Restore completed in" $Watch.Elapsed.ToString() 
} 

回答

1

試圖改變這樣的:

$Watch.Start() 
$DatabaseSpecifications = New-Object Microsoft.SqlServer.Dac.DacAzureDatabaseSpecification 
$DatabaseSpecifications.MaximumSize = 5 #5GB, based on your need 
$Services.ImportBacpac($bacpac, $DatabaseName,$DatabaseSpecifications) 
$Watch.Stop() 

這裏是我使用的文檔:http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dac.dacazuredatabasespecification.maximumsize.aspx

下面是該cmdlet通用數據庫調整大小: http://msdn.microsoft.com/en-us/library/windowsazure/jj983732.aspx