从VS C#创建Azure SQL数据库时设置服务层

Chi*_* Wu 6 c# entity-framework azure visual-studio azure-sql-database

在C#中从Visual Studio创建新数据库时是否可以设置Microsoft Azure SQL数据库服务层?目前,我可以连接到Azure SQL服务器并创建表没有问题但由于某种原因(可能是Microsoft Default),数据库将在Web中创建,这是将要停用的服务层.我想根据需要将默认服务层设置为Basic,Standard或Premium.

到目前为止我发现的是当我调用这个方法时Database.Initialize(true)< - EF http://msdn.microsoft.com/en-us/library/system.data.entity.database.initialize(v=vs .113).aspx 它将创建数据库并将其设置为Web服务层.

Pra*_*aja 0

正如 Simon 所提到的,只有在配置数据库之后才能完成 SQL 数据层。

\n\n

在 Powershell 中,这是一个可以在数据库配置后调用的函数

\n\n
Function Update-DatabaseServiceTier\n{\n    Param\n    (\n        [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=0)][ValidateNotNullOrEmpty()]\n        [String]$databasename,\n        [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=1)][ValidateNotNullOrEmpty()]\n        [String]$PerformanceLevel,\n        [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=2)][ValidateNotNullOrEmpty()]\n        [String]$Edition,\n        [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=3)][ValidateNotNullOrEmpty()]\n        [String]$MaxSize,\n        [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=4)][ValidateNotNullOrEmpty()]\n        [String]$SQLServerName,\n        [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=5)][ValidateNotNullOrEmpty()]\n        [String]$userId,\n        [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=6)][ValidateNotNullOrEmpty()]\n        [String]$password\n    )  \n         # Get current Database Details\n         $DatabaseDetails = Get-AzureSqlDatabase -ServerName $SQLServerName -DatabaseName $databasename -ErrorAction Stop -WarningAction SilentlyContinue\n         $currentEdition = $DatabaseDetails.Edition\n         $currentSize = $DatabaseDetails.MaxSizeGB\n\n         if (($currentEdition -ne $Edition) -or ($currentSize -ne $MaxSize))\n         {\n             Write-Verbose " Upgrading the Database Edition - Database Size"\n\n             # Set SQL Server Connection Context\n             $server = Get-AzureSqlDatabaseServer $SQLServerName -ErrorAction Stop -WarningAction SilentlyContinue\n             $servercredential = New-object System.Management.Automation.PSCredential($userId, ($password | ConvertTo-SecureString -asPlainText -Force))\n             $ctx = $server | New-AzureSqlDatabaseServerContext -Credential $serverCredential\n\n             $db = Get-AzureSqlDatabase $ctx \xe2\x80\x93DatabaseName $databasename -ErrorAction Stop -WarningAction SilentlyContinue\n             $PL = Get-AzureSqlDatabaseServiceObjective -Context $ctx -ServiceObjectiveName $PerformanceLevel -ErrorAction Stop -WarningAction SilentlyContinue\n\n             # Update SQL Server Properties (Service Objective, Edition and Size)\n             Set-AzureSqlDatabase -ConnectionContext $ctx \xe2\x80\x93Database $db -ServiceObjective $PL -Edition $Edition -MaxSizeGB $MaxSize -Force -ErrorAction Stop -WarningAction SilentlyContinue\n\n         }\n         else\n         {\n            Write-Verbose ""\n            Write-Verbose " Database Edition and Size upto date!!"\n         }\n}\n
Run Code Online (Sandbox Code Playgroud)\n