我做一個高檔與一個天青SQL數據庫這樣的代碼:檢查一個SQL Azure數據庫是可從C#代碼
ALTER DATABASE [MYDATABASE]修改(SERVICE_OBJECTIVE = 'S1');
當Azure完成作業並且表已經可用時,如何從c#代碼中獲知?
檢查SERVICE_OBJECTIVE值是不夠的,該過程仍然繼續。
我做一個高檔與一個天青SQL數據庫這樣的代碼:檢查一個SQL Azure數據庫是可從C#代碼
ALTER DATABASE [MYDATABASE]修改(SERVICE_OBJECTIVE = 'S1');
當Azure完成作業並且表已經可用時,如何從c#代碼中獲知?
檢查SERVICE_OBJECTIVE值是不夠的,該過程仍然繼續。
而不是在T-SQL中執行此任務,我將使用API調用轉到REST API從C#執行任務,您可以在MSDN上找到所有的詳細信息。
具體來說,你應該看看Get Create or Update Database Status API方法,它允許您撥打以下網址:
GET https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}/databases/{database-name}}/operationResults/{operation-id}?api-version={api-version}
的JSON身體允許你通過以下參數:
{
"id": "{uri-of-database}",
"name": "{database-name}",
"type": "{database-type}",
"location": "{server-location}",
"tags": {
"{tag-key}": "{tag-value}",
...
},
"properties": {
"databaseId": "{database-id}",
"edition": "{database-edition}",
"status": "{database-status}",
"serviceLevelObjective": "{performance-level}",
"collation": "{collation-name}",
"maxSizeBytes": {max-database-size},
"creationDate": "{date-create}",
"currentServiceLevelObjectiveId":"{current-service-id}",
"requestedServiceObjectiveId":"{requested-service-id}",
"defaultSecondaryLocation": "{secondary-server-location}"
}
}
在屬性部分,serviceLevelObjective
屬性是您可以用來調整數據庫大小的屬性。最後,您可以在Get Database API方法上執行GET,您可以在其中比較currentServiceLevelObjectiveId
和requestedServiceObjectiveId
屬性,以確保您的命令已成功。
注意:不要忘記在Azure中傳遞API調用所需的所有常用參數。