更改导致SQL Azure数据库不可用的表

时间:2016-03-15 20:36:24

标签: sql-server azure azure-sql-database

我必须执行两个表的交换,这使我的系统不可用20分钟(很多数据)。

我的示例代码:

query = "DROP TABLE MY_TABLE; ";
query += "EXEC sp_rename MY_TABLE_TEMP, MY_TABLE; ";
query += "ALTER TABLE MY_TABLE ADD CONSTRAINT PK_MY_TABLE PRIMARY KEY CLUSTERED (ID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]";

在SQL Azure数据库上执行上述语句,这导致数据库不可用20分钟。有什么见解吗?

2 个答案:

答案 0 :(得分:0)

您的数据库是否在美国东部?如果是这样,他们会遇到云问题。 https://azure.microsoft.com/en-us/status/

答案 1 :(得分:0)

如果存在DTU压力,Azure数据库可以限制新查询,因此我建议检查以下内容

1.查看DTU状态,如果任何DTU指标始终高于90%,那么在排除故障后您可能需要考虑升级到更高层,以查看是否可以降低DTU指标

SELECT  
    AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent', 
    MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent', 
    AVG(avg_data_io_percent) AS 'Average Data IO In Percent', 
    MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent', 
    AVG(avg_log_write_percent) AS 'Average Log Write Utilization In Percent', 
    MAX(avg_log_write_percent) AS 'Maximum Log Write Utilization In Percent', 
    AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent', 
    MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent' 
FROM sys.dm_db_resource_stats; 

2.查看表的大小,因为您尝试更改PK,所有非聚簇索引中必须更新相同的值。请参阅等待统计信息..

相关问题