use*_*er1 2 sql azure azure-sql-database
因此,我使用Visual Studio数据库项目将数据库发布到Azure。
默认情况下,这会将数据库发布为S0定价层。然后,我必须登录门户并将“定价”层更改为S1。
从这个答案中,我可以看到有人ServiceObjective在创建数据库时设置了属性,如下所示:
CREATE DATABASE
[{databaseName}]
(MAXSIZE={maxSize}, EDITION='{edition}',SERVICE_OBJECTIVE='{serviceObjective}'
Run Code Online (Sandbox Code Playgroud)
在门户中更改定价层后,我运行以下命令:
SELECT DATABASEPROPERTYEX('MyDatabaseName', 'ServiceObjective')
Run Code Online (Sandbox Code Playgroud)
它返回,S1所以我确定ServiceObjective是正确的属性
但是我的问题是我可以使用以下命令创建数据库后设置此属性吗? Alter
我可以使用SQL更改SQL Azure ServiceObjective(定价层)
看来这是可能的(我尚未测试),文档也说明了这一点: 更改现有数据库的版本,大小和服务目标
ALTER DATABASE [db1]
MODIFY
(EDITION = 'Premium', MAXSIZE = 1024 GB, SERVICE_OBJECTIVE = 'P15');
Run Code Online (Sandbox Code Playgroud)
以下是SQLAZURE alter的总语法
-- 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>) }
}
}
[;]
Run Code Online (Sandbox Code Playgroud)