我可以更改SQL Azure ServiceObjective(定价层)使用SQL

问题描述:

因此,我使用Visual Studio数据库项目将我的数据库发布到Azure。我可以更改SQL Azure ServiceObjective(定价层)使用SQL

默认情况下,该数据库以S0定价层发布。然后我必须登录到Portal并将定价层级更改为S1

this answer我可以看到创建了以下这样一个数据库,当有人设置ServiceObjective属性:

CREATE DATABASE 
[{databaseName}] 
(MAXSIZE={maxSize}, EDITION='{edition}',SERVICE_OBJECTIVE='{serviceObjective}' 

门户更改定价等级后,我运行此命令:

SELECT DATABASEPROPERTYEX('MyDatabaseName', 'ServiceObjective') 

,它返回S1所以我肯定ServiceObjective是正确的属性

但我的问题是可以我设置该属性创建使用Alter

我可以阿尔特SQL Azure的ServiceObjective(定价等级)使用SQL

看来,这是可能的(我还不测试),文档状态的数据库后,这还有: Changing the edition, size and service objective for an existing database

ALTER DATABASE [db1] 
MODIFY 
(EDITION = 'Premium', MAXSIZE = 1024 GB, SERVICE_OBJECTIVE = 'P15'); 

下面是SQLAZURE总语法改变

-- Azure SQL Database Syntax 
ALTER DATABASE { database_name } 
{ 
    MODIFY NAME =new_database_name 
    | MODIFY (<edition_options> [, ... n]) 
    | SET { <option_spec> [ ,... n ] } 
    | ADD SECONDARY ON SERVER <partner_server_name> 
     [WITH (\<add-secondary-option>::= [, ... n]) ] 
    | REMOVE SECONDARY ON SERVER <partner_server_name> 
    | FAILOVER 
    | FORCE_FAILOVER_ALLOW_DATA_LOSS 
} 

<edition_options> ::= 
{ 

     MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 … 1024 … 4096 GB }  
    | EDITION = { 'basic' | 'standard' | 'premium' | 'premiumrs' } 
    | SERVICE_OBJECTIVE = 
       { 'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12' | 
       | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15' | 
       | 'PRS1' | 'PRS2' | 'PRS4' | 'PRS6' | 
       | { ELASTIC_POOL (name = <elastic_pool_name>) } 
       } 
} 

<add-secondary-option> ::= 
    { 
     ALLOW_CONNECTIONS = { ALL | NO } 
    | SERVICE_OBJECTIVE = 
       { 'S0' | 'S1' | 'S2' | 'S3' | 'S4'| 'S6'| 'S7'| 'S9'| 'S12' | 
       | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15' | 
       | 'PRS1' | 'PRS2' | 'PRS4' | 'PRS6' | 
       | { ELASTIC_POOL (name = <elastic_pool_name>) } 
       } 
    } 

[;] 
+0

经过测试和完美工作 – user1

您可以运行ALTER DATABASE语句需要指定一个最小版和服务目标,如下图所示:

ALTER DATABASE [DBName] MODIFY(EDITION='Standard', SERVICE_OBJECTIVE='S2') 

希望这有助于。