Are linked service parameters disappearing now?


It feels like something has changed in data factory linked service parameters recently. I have setup my data factory as follows:

  • I have created a linked service pointing to on-prem SQL boxes
  • I have added parameters to this linked service, using the "+ New" parameter box for Server/DB/User
  • I have then referenced these linked service parameters in the linked service Server/DB name/SQL Auth boxes:

This all works fine. This forms part of a release pipeline. I deployed this to UAT and noticed UAT no longer has most of these parameters specified, however it does have the Key Vault parameter:

The parameter definitions come through to UAT, but not the link to these parameters in the linked services:

I can also confirm this, when I Export the templates from the user interface in Data Factory, I check the ArmTemplate_0.json file (in the Linked Templates folder of the exported file) and the arm_template.json file from the root, to find where the Linked Service parameters should be specified. All I see is this in both files:

I would also expect to see additional "typeProperties" for the other parameters specified.

This seems to confirm that when specifying Linked Service parameters, not all values are being saved in the arm templates files. Only Azure Key Vault parameters are being saved? I just tried doing the same thing with a different data factory and get the same result. I thought there was something wrong with my CI/CD process, however it looks like the problem exists even without going through Azure DevOps release processes.

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

Accepted answer
  1. Saurabh Sharma 23,771 Reputation points Microsoft Employee

    @Anonymous Here is the response from the products team -
    Connection string is treated as a sensitive field even though the password is specified with a akv. In this case, the connection string value is stored in an arm template parameter named "onprem_SQL_Server_linked_service_use_parameters_connectionString" and it should look like below

    So, you need to either manually edit the arm template to give a default value to the "onprem_SQL_Server_linked_service_use_parameters_connectionString" or overwrite the parameter value in the deployment pipeline like

    We tried the second method and the linked service was successfully deployed like shown below-

    Please let me know if you have any other questions.

0 additional answers

Sort by: Most helpful