Как установить целевой уровень на уровне сервера (уровень цен) для существующей базы данных в свободном API Azure для SQL Server?

Как установить целевой уровень сервера (уровень цен) для существующей базы данных SQL Azure в свободном API Azure для SQL Server?

Я использую Microsoft.Azure.Management.Sql.Fluent, версия 1.10.0, которая является последней на сегодняшний день.

Этот пример кода, предоставленный Microsoft, создает базу данных SQL Azure, а затем устанавливает уровень ее сервера

        var azCreds = SdkContext.AzureCredentialsFactory.FromFile(filePath);

        var azure = Azure.Configure()
            .Authenticate(azCreds)
            .WithSubscription("mysubscriptionid");

        var sqlServer =

                azure.SqlServers.Define("existingsqlserverid")
                .WithRegion(Region.USEast)
                .WithExistingResourceGroup("Default-SQL-EastUS")
                .WithAdministratorLogin("mylogin")
                .WithAdministratorPassword("mypassword")

               .Create()
               .Databases
               .Define("NewDbName")
               .Create()
               .Update()

               .WithEdition(DatabaseEditions.Standard)
               .WithServiceObjective(ServiceObjectiveName.S1)
               .Apply();

Как мне установить уровень обслуживания существующей БД?

Самое близкое, что я могу получить, это

        .WithAdministratorPassword("mypassword")

        .DefineDatabase("OldDbName")
        .WithEdition(DatabaseEditions.Standard)
        .WithServiceObjective(ServiceObjectiveName.S2);

который не генерирует исключения, но и ничего не делает. Уровень обслуживания БД не меняется.

Такое ощущение, что мне нужно Apply() здесь, но это не вариант.

Документ Microsoft по API Azure Fluent для SQL Server очень скудный.

1 ответ

Такое ощущение, что мне нужно Apply() здесь, но это не вариант.

Вы почти получаете ответ. На основании моего теста, это нужно .Apply(),

Я проверяю это с помощью следующего кода. А также проверьте это на лазурном портале.

var credFile = @"file path"; // example: c:\tom\auth.txt
var resourceGroup = "resource group name";
var azureSQLName = "Azure sql server name"; //just name of the Azure sql server such as tomdemo
var databaseName = "database name";
var credentials = SdkContext.AzureCredentialsFactory.FromFile(credFile);
var azure = Azure
            .Configure()
            .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
            .Authenticate(credentials)
            .WithDefaultSubscription();

var updateAzureDatabasePriceTier = azure
            .SqlServers
            .GetByResourceGroup(resourceGroup, azureSQLName)
            .Databases.Get(databaseName)
            .Update()
            .WithEdition(DatabaseEditions.Standard)
            .WithServiceObjective(ServiceObjectiveName.S0)
            .Apply();

введите описание изображения здесь

Проверьте с портала Azure

введите описание изображения здесь

Другие вопросы по тегам