Azure Data Factory Linked Service settings for SQL is not consistent when deployed via CI/CD

Desmond Fernando 31 Reputation points
2022-08-11T08:23:33.71+00:00

In the development Azure Data Factory (ADF) the linked sql connection's Authentication Type is set as System Assigned Managed Identity. As shown in the image bellow.

230305-image.png

The ADF is connected to Azure Repo and when deployed via ARM template in CI/CD the same is created in the test ADF. Bellow is the Azure Pipeline power shell configuration for deployment.

230343-image.png

But when click on the Linked Service in the Test ADF it sets Authenticaion Type as SQL Authentication. (It should be System Assigned Managed Identity)
230373-image.png

As a result of this, the linked service connection in Test environment is unable to use System Assigned Managed Identity. I to understand what is causing this issue?

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
{count} votes

Answer accepted by question author
  1. Bhargava-MSFT 31,356 Reputation points Microsoft Employee Moderator
    2022-08-12T03:58:59.213+00:00

    Hello @Desmond Fernando ,

    The issue is most likely with your override template parameters only.

    Sorry, I overlooked your screenshot earlier. From your screenshot, it seems like you are using the "SQL authentication" connection string in your override template parameter for your SQL linked server connection string.

    I tested using SQL authentication connection string on the "SQL linked server connection string" value, then the authentication is changed to - "SQL auth"

    If I level it blank, it reflects the "System managed identity."

    230560-image.png

    230646-image.png

    Here is a sample SQL connection string with SQL authentication that I have used on my override template parameter.

    Server=tcp:myserver.database.windows.net,1433;Initial Catalog=demoDB;Persist Security Info=False;User ID=Demouser;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

    I hope this helps.

    1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. Mike Wong 46 Reputation points
    2023-09-01T10:59:47.77+00:00

    If anybody else is having this problem in 2023 in Synapse, check if your connectionString value is a | instead of anything else.

    This worked for me:

    "typeProperties": {
                        "connectionString": "|",
                        "baseUrl": "=",
                        "serviceEndpoint": "="
                    },
    
    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.