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

Как установить целевой уровень на уровне сервера (уровень цен) для существующей базы данных 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Сервер очень разреженный.

1 Ответ

0 голосов
/ 23 мая 2018

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

Вы почти получаете ответ.Исходя из моего теста, ему нужно .Apply().

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

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();

enter image description here

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

enter image description here

...