Charles Ouellet
Charles Ouellet

Reputation: 6518

Getting SQL Azure database replication role in C#

I am trying to check the replication role of a SQL Azure database using the Azure SDK for .NET.

I used the SqlManagementClient to fetch databases from our subscription but there are no properties indicating the replication role.

I used the following code to fetch databases.

var client = GetSqlManagementClient();

var database = client.Databases
    .List("<serverName>")
    .First(x => x.Name == "<databaseName>");

Is there another way to get this information that I am missing?

Upvotes: 0

Views: 235

Answers (1)

Jambor - MSFT
Jambor - MSFT

Reputation: 3293

If you means to read secondly location, I think Azure ARM management could help us to do this. I have tried it on my local and get the result as followings:

enter image description here

[Update]

Here is my test code:

  public async Task<string> GetToken()
        {
            AuthenticationResult result = null;
            string test;
            AuthenticationContext authContext = new AuthenticationContext(adInfo.AuthUrl + adInfo.Telnant);
            ClientCredential cc = new ClientCredential(adInfo.ClientId, adInfo.ClientSecret);
            try
            {
                result = await authContext.AcquireTokenAsync(adInfo.Resource,cc);               
                test = result.AccessToken;
                return test;
            }
            catch (AdalException ex)
            {
                return ex.Message;
            }   
        }

        public async Task GetSQLInfo()
        {
            string token = await GetToken();
            var sqlclient = new SqlManagementClient(new TokenCloudCredentials(adApplication.Subscription, token));
            var data = await sqlclient.Databases.GetAsync("jatestgroup", "jaserver", "jasql");
        }

Here is my class about adInfo and adApplication:

  public class AdInfo
    {
        [JsonProperty(PropertyName = "clientid")]
        public string ClientId { get; set; }
        [JsonProperty(PropertyName = "clientsecret")]
        public string ClientSecret { get; set; }
        [JsonProperty(PropertyName = "returnurl")]
        public string ReturnUrl { get; set; }
        [JsonProperty(PropertyName = "telnantid")]
        public string Telnant { get; set; }
        [JsonProperty(PropertyName = "authurl")]
        public string  AuthUrl { get; set; }
        [JsonProperty(PropertyName = "resource")]
        public string Resource { get; set; }

    }
    public class AdApplication
    {
        [JsonProperty(PropertyName = "ARMTemplate")]
        public AdInfo Application { get; set; }
        [JsonProperty(PropertyName = "subscription")]
        public string Subscription { get; set; }
    }

My Json Settings:

{
  "ARMTemplate": {
    "clientid": "****",
    "clientsecret": "****",
    "returnurl": "http://localhost:20190",
    "telnantid": "****",
    "authurl": "https://login.microsoftonline.com/",
    "resource": "https://management.core.windows.net/"
  },
  "subscription": "***"
}

Since this issue is more related with Auth failed. I would suggest you create a new thread and give more info for us if my code does not give you help.

Upvotes: 1

Related Questions