CI CD in Azure Synapse Analytics Part 4 - The Release Pipeline

Published Jan 31 2021 09:58 PM 14.8K Views

Here's a quick review of the road so far:

 

CI CD in Azure Synapse Analytics Part 1

  • Creating an Azure DevOps project
  • Linking our Azure Synapse Analytics environment to that Project via Git
  • Validating that our Azure DevOps Repo was populated with our Azure Synapse Analytics environment

CI CD in Azure Synapse Analytics Part 2:

  • Create a new branch on our Repo
  • Edit our Azure Synapse Analytics environment
    • Specifically my SQL scripts have demos all over the place and Buck Woody said I have to clean up my very messy room .... Azure Synapse Analytics environment
  • Create a Pull Request in Azure Synapse Analytics to merge our new branch with the main
  • Approve the Pull Request in Azure DevOps
  • Validate our main branch is updated in our Azure Synapse Analytics Environment

CI CD in Azure Synapse Analytics Part 3

  • Create an Artifact pipeline
    • This is to create an Artifact we can use to deploy to another environment

This time we will:

  • Give our Azure DevOps Service Principal access to our Azure Synapse Workspace
  • Validate or Give our Azure DevOps Service Principal Storage Contributor & User Access Administrator (*This is only if your storage account was provisioned before you created your Synapse Workspace or if you connect your Dev, QA, and Prod to the same ADLS G2 storage account.  If you create your Synapse Workspace and Storage account from an ARM template deployed from DevOps, then your DevOps Service Principal will have Owner on the Storage Account and that gives the Service Principal User Access Administrator capabilities.)
  • Create the release pipeline
  • Validate the deployment
  • *If you have SQL Provisioned Pools as part of your deployment pause them, because they will be created on deployment

Before we create our release pipeline we need to make sure the Azure Service Principal account has the proper permissions.  If we do not, you well get cryptic errors with a GUID and something about "does not have permissions to blah blah blah".  Trust me, it is super annoying.

 

The two permission we will need are located in two different places, the first is in our Azure Synapse Workspace, specifically using Azure Synapse Studio.  The second will be in the Storage Account for our Azure Data Lake Gen 2 that is the default ADLS connection for our Azure Synapse Studio.

 

First open your Azure Synapse Studio and navigate to the Management Blade.

 

CI CD Release Pipeline 01.png

 

Now Click on Access Control.  The user that created the Azure Synapse Workspace is automatically given the role of Synapse Administrator, the second user with that role will be the Managed Identity for the Azure Synapse Workspace.  We need to add our Azure DevOps Service Principal to this role.

 

*A quick note, I prefer to manage this in an Azure Active Directory Group. In this blog I will show how to add the account directly to the Azure Synapse Workspace.  However, the best practice would be to have an AAD group that is granted Synapse Administrator and then add the role to that group.

 

Click the +Add link.

 

CI CD Release Pipeline 02.png

 

Now we will type in the Azure DevOps Project name.  If your project URL was https://bobsburgers.visualstudio.net and your project name was Azure Synapse Studio CI CD you would type in bobsburgers-Azure Synapse Studio CI CD.  This would show you the Service Principal GUID following that name. 

 

Click the name as it appears and then click the Apply Button.

 

CI CD Release Pipeline 03.png

Now open a browser and navigate to the Azure Portal.  In the search window at the type Storage Accounts.  Select the storage account that you are using as your default ADLS Storage Account for your Azure Synapse Workspace.  Click the Access Control (IAM) blade.  Click +Add, then click Add role assignment.

 

CI CD Release Pipeline 05.png

 

Select Storage Blob Data Contributor for Role.  In the Select text box, type in the Azure DevOps Service Principal the same way we did in the for the Synapse Administrator role.

 

CI CD Release Pipeline 06.png

 

Repeat the previous steps, except this time specify the User Access Administrator Role.

 

CI CD Release Pipeline 07.png

 

Next we will navigate to our Azure DevOps Project.   Select pipelines, Releases, and New Pipeline.

 

CI CD Release Pipeline 08.png

 

Click on Empty Job.  Then click on Add an artifact.

 

CI CD Release Pipeline 09.png

 

Ensure our project is selected.  Select the name of the Build Pipeline that we created in our previous blog (Or whatever YOU wanted to name your Build Pipeline because my naming conventions do not define you!).  Select the Latest Build, and click Add. 

CI CD Release Pipeline 10.png

 

Rename the Release Pipeline to reflect what we are doing.  We selected Deploy Dev Release.  Clock on the Stage1 link 1 job, 0 task

 

CI CD Release Pipeline 11.png

Click the + plus sign on Agent Job.  In the search text box type "Synapse", the Synapse workspace deployment task will appear if you have installed it from the Marketplace.  If not, FEAR NOT!  You should see a link for it below under the heading Marketplace.  Click on it to install the task to your Azure DevOps project.

 

CI CD Release Pipeline 12.png

 

Once you have added the task, click on the task.  We will fill out the Template, Template parameters, Synapse Workspace connection type, Synapse Workspace name, and we will get to OverrideArmParameters in a moment.  That will a lot more details.

 

First click on the ... ellipses by Template. 

CI CD Release Pipeline 13.png

 Navigate through the build pipeline, ASW_Drop, ARM, to the TemplateForWorkspace.json.  Select the .json file and click OK.

 

CI CD Release Pipeline 14.png

 

Now repeat the same steps for the Template Parameters text box, this time selecting the TemplateParametersForWorkspace.json file.

 

CI CD Release Pipeline 15.png

 

 

Under Synapse workspace connection type, select the Azure Subscription that contains the environment where we are deploying our release.  Specify the Resource Group and the Azure Synapse Workspace name.

 

CI CD Release Pipeline 16.png

Now we begin to focus on the override parameters.  First we will travel back to our Repo and look at the TemplateForWorkspace.json.  Any string that has a type "secureString" will need to have an override parameter. Depending on the level of development you have done, you may have many of these strings, in our example we have two.  The default workspace connection to the Provisioned SQL Pools and a Linked Service I created to an Azure SQL Database.

 

CI CD Release Pipeline 17.png

 

Dear Reader, you are wondering where to find those.  You are in luck!  Navigate to your Azure Synapse Analytics Workspace, click on the Manage blade, then Linked services.  Now click on the { } Code symbol after the name of the linked service that is a type securedString.  

CI CD Release Pipeline 18.png
This will open a view of the JSON in that contains the data we need.  Copy the text between the double quotes.  DO NOT SELECT THE DOUBLE QUOTES!! JUST THE STRING BETWEEN THE DOUBLE QOUTES!  

Sorry for yelling, but we will use this string soon and the double quotes "" will cause it to fail.

CI CD Release Pipeline 19.png

 

Now let's do the same thing for the Azure SQL Database.

CI CD Release Pipeline 20.png

 

 

Now navigate back to our Azure DevOps Release pipeline.  Click on Variables, then click the + Add button 3 times.  We will be creating two variables based on the secureStrings in our JSON file.  We will also be creating a system.debug value to give us extra information in our release pipeline, it's value is True.

After you copy in the secureStrings, click the lock button by the two connection strings, leave system.debug unencrypted.

CI CD Release Pipeline 22.png

Your pipeline should look similar to this.

CI CD Release Pipeline 22b.png

 

 

Now we will go to the OverrideArmParameters text area.  We will use the following syntax                                -variableNameFromTheJsonFile $(devOpsPipelineVarriable)

For example:

            -bballasw-WorkspaceDefaultSqlServer_connectionString $(WorkspaceDefault) -Lahman_connectionString $(Lahman)

CI CD Release Pipeline 23.png

Yours may vary based your number of secureStrings and names.  Now let's click Save on our pipeline.

CI CD Release Pipeline 24.png

Make a comment and click OK

CI CD Release Pipeline 25.png

Now click Create release.

CI CD Release Pipeline 26.png

 

Click Create

 

CI CD Release Pipeline 27.png

Click Release-1 (or whatever your release number is).

CI CD Release Pipeline 28.png

 

After your Agent begins to process click on Logs and watch it run!

 

CI CD Release Pipeline 29.png

 

 

AND NOW!!!!! ......it failed.

 

A few times.  But hey, it's not developing if there isn't a failure.  So it's almost 1 am, and I *believe* I have it running so let me take this time to walk you through what I've found.

Spark Pools and Self Hosted Integration Runtimes are not created in a pipeline.  If you have a Linked Service that uses a Self Hosted Integration Runtime you will need to manually create that in your QA or Prod environment prior to deployment. 

If you are developing Notebooks and have them connected to a Spark Pool, you will need to recreate that Spark Pool in QA or Production.  Notebooks that are linked to a Spark Pool that does not exist in an environment will fail to deploy.

 

Name them the same thing.  Do not change names.  Trust me.  

If you are doing a deployment and your Provisioned SQL Pools are Paused then the deployment will fail.  *More to come on database migrations, a database project build, and release is still needed.

 

Here's a quick image. 

CI CD Release Pipeline 30.png

I'm on release 4, attempt 2.  This appears to be running just fine for me.

VICTORY!!

 

CI CD Release Pipeline 31.png

 

Now let us go and check our QA Workspace!  First up Scripts and Notebooks.

 

CI CD Release Pipeline 32.png

Excellent!  Everything is there.  Next let us look at our Provisioned SQL Pools.

CI CD Release Pipeline 33.png

Looks great!  As a quick side note the databases will be brought over at DW100c, so you can auto scale them as needed.  Also if you are in a demo environment like me, be sure to pause them after the deployment completes.   Next up Pipelines.

 

CI CD Release Pipeline 34.png

I like this!  Now let's check out linked services.

 

CI CD Release Pipeline 35.png

 

I don't like this.  Here are my Dev links for my default workspace in my QA environment.  Right now the only way I've found to clean this up is to use the Az.Synapse PowerShell Module.  Navigate back to your release pipeline.  Edit it, add an Azure PowerShell task.  We will then use this script:

 

 

##Required for azure devops initial deployment
Install-Module Az.Synapse -RequiredVersion 0.2.0 -Scope CurrentUser -Force

#get rid of dev linked service in QA
Remove-AzSynapseLinkedService -WorkspaceName yourworkspaceName -Name linkedservicetoRemove
Remove-AzSynapseLinkedService -WorkspaceName yourworkspaceName -Name linkedservicetoRemove

 

Under Azure PowerShell version options select Specify other version, set Preferred Azure PowerShell Version 3.1.0.  

 

The next time you run your deployment, this should clean up those links.

CI CD Release Pipeline 36.png

 

All right Dear Reader, I'm off to sleep.  Happy Monday and as always, thank you for stopping by.

Thanks,

 

Brad

 

 

 

 

 

26 Comments
Established Member

Hi Brad,

Thanks for this new article and all the work you've done, I can't wait to give it a try and hopefully get this working finally! I can already see places I went wrong. :D

 

 

Thank you @KeyBee !  Good Luck :)!

Microsoft

Thank you Brad for this article! YOU SAVED MY DAY! I spent already hours to get the thing running...

Senior Member

Hi Brad,

 

Thanks a lot for the blog. It explains my questions on why it ignores my Spark pools when deploying to another workspace.

One question though, why do we have to override those parameters with type secureString? Before reading this I had tried a few times without overriding any parameters and didn't see any obvious error (might have missed something?)

 

And also fyi, my workspace studio publishes the resources into a separate branch named 'workspace_publish' so we have to deploy from there. I'm not sure why yours uses the same branch.

Hi @MinhDNguyen By Default, unless you change it to main, the default publish branch will be Workplace_Publish.  In part 1 I left this as the default, but you can change it, even after deployment.

In the Management Blade you would click on Git Configuration, then click at the Gear icon at the top and it will open a blade on the right hand screen.  you can change workplace publish to main.

 

Other wise every time you publish your JSON in Azure DevOps, it will publish the newest JSON to that Workplace_Publish branch.  You would need to build off of that branch instead of main.  It's get's a bit confusing to me, but my Buddy Steve St. Jean (to whom I owe teaching me how to do this prior to Winter Break in December) who is one of the best Developers I've ever met, assured me this was the way to go.  And if I got any of this wrong, it is my fault and not Steve's, I'm just doing a bad job re-explaining this :). 

Senior Member

Thank you Brad for your explanation. Additionally, I would like to ask: why do we have to override those secureString parameters?

I had tried to deploy a few times without overriding any parameters before coming across this article, and didn't see any obvious issues. I might have missed something though....

Hi @MinhDNguyen In ARM secureStrings are a data type requiring an encrypted value.  It is the most common and popular way of handling secrets in ARM template parameters. If you  have a field in an ARM template that specifies a parameter of type secureString, you must pass it an encrypted value.  It cannot be null, it cannot be in plain text. 

 

Instead of inserting the text you can use Azure Key Vault to pass strings, you can also create variable groups that could be assigned per environment so you can have different variables for QA and Prod.  I plan to get into those things eventually but not this early in the series. 

I cannot explain why you are not getting this error, this was the first error I ran into that had to be fixed.  I'm glad you are not receiving errors :).

Regular Visitor

Thank you so much for this.  I was attempting to use documentation but could get none of the steps in it to work.  This series has been a breath of clarity.

 

 

Regular Visitor

Hi @Bradley Ball (MICROSOFT) quick question about the powershell task that removes the dev linked services.  I had a few issues with it if I'm honest, I found that with

Install-Module Az.Synapse -RequiredVersion 0.2.0 -Scope CurrentUser -Force

Remove-AzSynapseLinkedService was not in the list of cmdlets imported, changing to version 0.7.0 solved this for me.  I also had to add a -Force command to the  Remove-AzSynapseLinkedService task:

$linkedService | Remove-AzSynapseLinkedService  -Force

All of these were surmountable and as you said

But hey, it's not developing if there isn't a failure. 

What I did find however was that the Linked service that had Related objects (the default storage in my case) is not removed. 

Before

BeforeBefore

After
AfterAfter

How did you solve that issue if indeed you could? I noticed in your image there is 1 related object I assume its an Integration dataset. Have you a way to change the name of the service that Integration datasets are pointing to? 

Senior Member

Hello Bradley , Thanks a lot for sharing! All steps I've done and it works perfectly.

 

 

Microsoft

Hi @Bradley Ball (MICROSOFT) ,

Thank you for publishing this series.

In the official CI/CD documentation, there are two tasks before the Synapse Workspace deployment task. One is for deploying an ARM template. Though it's not explicitly stated, I take it this is to create or update the actual Synapse Workspace itself, before deploying the contents?

Can you elaborate on why that's not in your walkthrough, please?

 
 
Frequent Visitor

Thank you for the post. In your response to @MinhDNguyen I understand your perspective but there are still issues with that approach. There are valuable insights that we lose when we don't maintain lineage between main and our releases, like user story/task/bug tracking. Right now, this is proving to be challenging, because when I link and track changes with my release pipeline, I lose all insight on the release, but I can track those changes for my database project for the Synapse dedicated SQL Pool, maintained in a separate repo with independent build and releases. My concern is that for larger teams where we have policy protected branches, we lose the ability to merge these changes back into main with the manual publish, to do this we would need an additional pull request. The Azure Data Factory team has a much better approach to this issue. Automated publishing for continuous integration and delivery - Azure Data Factory | Microsoft Docs I think the biggest advantage to an approach where we leverage a more traditional build pipeline is that it empowers the engineering team to leverage the most appropriate branching strategy for their teams and is more suitable for managing hotfixes without a ton of manual work to deploy changes.

Senior Member

Hi Brad,

 

In this example we can see that the provisioned SQL pools databases are populated in the new workspace. How about the SQL on demand databases? Are they propagated from the source workspace too? In my experience, they are not. I do hope that I am missing something on this because I need the SQL on demand databases :cry:

Senior Member

Hi Brad,

 

We have successfully implemented the CI/CD as described in this blog and it is working great. However, we have noticed that deleting objects in the Synapse workspace, like a trigger or SQL script, are not deleted in further environments when running the release pipeline. The TemplateForWorkspace.json file that is built does not contain the deleted objects. Is there a trick to delete objects in a Synapse workspace and have those objects deleted from the further environments? Just wondering what method can be used to handle the deletions. Thanks.


Eric

Hi @swordSDC this is fixed in the latest version of the Azure DevOps Synapse Deployment task for workspace.  Make sure you are using version 1 and not version 0 the default in this blog.  I will be posting a follow up on this soon!

Hi @eleicht you are correct, working on a blog for this as well (YOU ALL ASK GREAT QUESTIONS!!!).  The Synapse Deployment task for workspace does not delete objects from a QA or Production environment if you delete them in development.  For this you must use a PowerShell command to remove the pipelines, notebooks, or SQL Scripts you've created and deleted in Dev.  

Microsoft

Great article bradley  , the effort you put into this will save a lot of sleepless nights for others :)

Established Member

Hi @MinhDNguyen the SQL Serverless DB does not get created as part of the pipeline (from our testing). So we have gone down the PowerShell route as part of the release pipeline that creates the databases, keys, schemas, procs, permissions etc. If anyone has found a better method please do shout! 

Established Member

@eleicht I logged a support call with MSFT about deleted artefacts from DEV hanging around in QA/PROD as I had no idea how to approach this with PowerShell and they sent me a screenshot of a checkbox (that I had no idea was there, maybe it's new?!) Give it a try, it has worked for me!

KeyBee_0-1622212556278.png

 

Senior Member

Great series of articles Brad, I am stuck on some permission issue though when running the deployment in ADO.  I get the error:

 

Getting Artifacts from workspace: <target workspace name>.
Failed to fetch workspace info, status: 403; status message: Forbidden
Error during execution: Failed to fetch workspace info Forbidden
 
Now I figure it is because the Service Account we use in ADO doesn't have access to the target workspace, so I added them as Synapse Administrator, however I still get the error.  In your previous post you said "*a quick side note, make sure the AAD account you are using to connect to Azure DevOps is the same account that has permissions to your Azure Synapse Studio workspace.", which I am sure I have done (basically I have given everyone Synapse Administrator and I still get the issue!).  Are we supposed to also set something else up in the Synapse IAM roles?
 
Edit: Don't worry about this - there were about 20 service principals with the same name, I added them all as Synapse Administrators and I was successful at pushing through changes. Leaving this here in case it helps others.
Occasional Visitor

I get below error after following these steps:

"Encountered with exception:Error: Failed to parse package: TypeError: Cannot read property 'startsWith' of undefined"

Occasional Visitor

Hi Brad, thanks for this series, it has helped a lot! 

I'm having a problem with the Synapse deployment task in the release pipeline.  I'm getting a 404 for workspace not found.  I've followed all the steps, including the pre-requisites but I can't figure this one out.  The workspace does exist (running az synapse workspace show in the pipeline works).  Any thoughts?  Thanks for any help you can give.

Log snippet:

2021-07-21T16:36:06.0662405Z Workspace info url: https://management.azure.com***/providers/Microsoft.Synapse/workspaces/<workspace-name>?api-version=2019-06-01-preview
2021-07-21T16:36:06.0704131Z ##[debug][POST]https://login.windows.net/***/oauth2/token/
2021-07-21T16:36:06.5016969Z Failed to fetch workspace info, status: 404; status message: Not Found
2021-07-21T16:36:06.5072255Z Error during execution: Error: Get workspace location error: Failed to fetch workspace info Not Found
2021-07-21T16:36:06.5074281Z ##[debug]task result: Failed
2021-07-21T16:36:06.5161943Z ##[error]Encountered with exception:Error: Get workspace location error: Failed to fetch workspace info Not Found

 

Senior Member

Hey Brad - I have also created a process for doing CD for SQL scripts, releasing these to higher environments via an Azure Powershell script.  This enables me to do continuous deployment on SQL Scripts stored in the Develop part of Synapse Studio with releases happening automatically when the "Publish" button is hit. It's a little fragile, but can easily be adapted to specific circumstances.  When you say "*More to come on database migrations, a database project build, and release is still needed." - this isn't currently possible as Visual Studio 2019 doesn't support Synapse Serverless pools yet, but they are working on it.

 

For us, we have Cosmos databases storing event streams in Dev/QA/Prod.  We develop views over the Cosmos data and store these views as SQL Scripts executed against the Dev instance.  To release to the QA/PROD environment we:

  1. Create scripts in Dev Synapse Studio and commit/publish
  2. On publish, run an ADO build then release pipeline
  3. Run the Synapse release process as you describe
  4. Run a Powershell script which:
    1. Extracts the SQL Scripts from our Repo
    2. Makes modifications to the SQL Scripts depending on the environment
    3. Executes the SQL Scripts on the target environments serverless SQL DB

Brent_Leslie_0-1627441767452.png

 

There are a few special things I picked up with running Powershell scripts along the way, including having to escape key powershell characters (like "$") with "`" and special cases where you need to use double quotes and escape single quotes.  But as a result we can run full CD processes for Synapse.  If anyone wants the script, I am happy to share.

Occasional Visitor

Hi,

 

Great blog on CI/CD for most of Synapse Workspace :)

 

And what about Synapse Dedicated DB Pool? What've tried with VS 2019 and database projects, does not yet support it :(

 

Do you have any tips or insights about it?

Microsoft

@pacorreia you can create dedicated sql pool using powershell cmdlet - New-AzSynapseSqlPool (Az.Synapse) | Microsoft Docs

Once you create the sql pool, you can use VS 2019 SSDT database project to develop objects for SQL pool. Do change the target platform of the SSDT project to "Azure SQL Data Warehouse" to support dedicated pool. There is no support to Serverless pool though

Regular Visitor

Hi Bradley,

 

Thanks for the post. I have followed the same steps, I am not facing any error. Release pipeline executes succefully but I am not able to see any scripts in destination workspace. 
I have a question here when i create a synapse deployment task- > Synapse Workspace connection type-> should i use the Subscription that is showing in azure portal or should i use the service connection of Devops?

 

Thanks and Regards,

Shashwathi

%3CLINGO-SUB%20id%3D%22lingo-sub-2034434%22%20slang%3D%22en-US%22%3ECI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2034434%22%20slang%3D%22en-US%22%3E%3CP%3EHere's%20a%20quick%20review%20of%20the%20road%20so%20far%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fdata-architecture-blog%2Fci-cd-in-azure-synapse-analytics-part-1%2Fba-p%2F1964172%22%20target%3D%22_self%22%3ECI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%201%3C%2FA%3E%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3ECreating%20an%20Azure%20DevOps%20project%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3ELinking%20our%20Azure%20Synapse%20Analytics%20environment%20to%20that%20Project%20via%20Git%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EValidating%20that%20our%20Azure%20DevOps%20Repo%20was%20populated%20with%20our%20Azure%20Synapse%20Analytics%20environment%3C%2FSPAN%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-message-read%22%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fdata-architecture-blog%2Fci-cd-in-azure-synapse-analytics-part-2%2Fba-p%2F1991060%22%20target%3D%22_self%22%3ECI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%202%3C%2FA%3E%3A%3C%2FSPAN%3E%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3ECreate%20a%20new%20branch%20on%20our%20Repo%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EEdit%20our%20Azure%20Synapse%20Analytics%20environment%3C%2FSPAN%3E%3CUL%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3ESpecifically%20my%20SQL%20scripts%20have%20demos%20all%20over%20the%20place%20and%20Buck%20Woody%20said%20I%20have%20to%20clean%20up%20my%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3Every%20messy%26nbsp%3Broom%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E....%20Azure%20Synapse%20Analytics%20environment%3C%2FSPAN%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3ECreate%20a%20Pull%20Request%20in%20Azure%20Synapse%20Analytics%20to%20merge%20our%20new%20branch%20with%20the%20main%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EApprove%20the%20Pull%20Request%20in%20Azure%20DevOps%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EValidate%20our%20main%20branch%20is%20updated%20in%20our%20Azure%20Synapse%20Analytics%20Environment%3C%2FSPAN%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fdata-architecture-blog%2Fci-cd-in-azure-synapse-analytics-part-3%2Fba-p%2F1993201%22%20target%3D%22_self%22%3ECI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%203%3C%2FA%3E%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3ECreate%20an%20Artifact%20pipeline%3C%2FSPAN%3E%3CUL%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EThis%20is%20to%20create%20an%20Artifact%20we%20can%20use%20to%20deploy%20to%20another%20environment%3C%2FSPAN%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-message-read%22%3EThis%20time%20we%20will%3A%3C%2FSPAN%3E%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EGive%20our%20Azure%20DevOps%20Service%20Principal%20access%20to%20our%20Azure%20Synapse%20Workspace%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EValidate%20or%20Give%20our%20Azure%20DevOps%20Service%20Principal%20Storage%20Contributor%20%26amp%3B%20User%20Access%20Administrator%20(*This%20is%20only%20if%20your%20storage%20account%20was%20provisioned%20before%20you%20created%20your%20Synapse%20Workspace%20or%20if%20you%20connect%20your%20Dev%2C%20QA%2C%20and%20Prod%20to%20the%20same%20ADLS%20G2%20storage%20account.%26nbsp%3B%20If%20you%20create%20your%20Synapse%20Workspace%20and%20Storage%20account%20from%20an%20ARM%20template%20deployed%20from%20DevOps%2C%20then%20your%20DevOps%20Service%20Principal%20will%20have%20Owner%20on%20the%20Storage%20Account%20and%20that%20gives%20the%20Service%20Principal%20User%20Access%20Administrator%20capabilities.)%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3ECreate%20the%20release%20pipeline%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3EValidate%20the%20deployment%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%20class%3D%22lia-message-read%22%3E*If%20you%20have%20SQL%20Provisioned%20Pools%20as%20part%20of%20your%20deployment%20pause%20them%2C%20because%20they%20will%20be%20created%20on%20deployment%3C%2FSPAN%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-message-read%22%3EBefore%20we%20create%20our%20release%20pipeline%20we%20need%20to%20make%20sure%20the%20Azure%20Service%20Principal%20account%20has%20the%20proper%20permissions.%26nbsp%3B%20If%20we%20do%20not%2C%20you%20well%20get%20cryptic%20errors%20with%20a%20GUID%20and%20something%20about%20%22does%20not%20have%20permissions%20to%20blah%20blah%20blah%22.%26nbsp%3B%20Trust%20me%2C%20it%20is%20super%20annoying.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-message-read%22%3EThe%20two%20permission%20we%20will%20need%20are%20located%20in%20two%20different%20places%2C%20the%20first%20is%20in%20our%20Azure%20Synapse%20Workspace%2C%20specifically%20using%20Azure%20Synapse%20Studio.%26nbsp%3B%20The%20second%20will%20be%20in%20the%20Storage%20Account%20for%20our%20Azure%20Data%20Lake%20Gen%202%20that%20is%20the%20default%20ADLS%20connection%20for%20our%20Azure%20Synapse%20Studio.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-message-read%22%3EFirst%20open%20your%20Azure%20Synapse%20Studio%20and%20navigate%20to%20the%20Management%20Blade.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2001.png%22%20style%3D%22width%3A%20410px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250890i3A1B9DFDCA7D9B91%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2001.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2001.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20Click%20on%20Access%20Control.%26nbsp%3B%20The%20user%20that%20created%20the%20Azure%20Synapse%20Workspace%20is%20automatically%20given%20the%20role%20of%20Synapse%20Administrator%2C%20the%20second%20user%20with%20that%20role%20will%20be%20the%20Managed%20Identity%20for%20the%20Azure%20Synapse%20Workspace.%26nbsp%3B%20We%20need%20to%20add%20our%20Azure%20DevOps%20Service%20Principal%20to%20this%20role.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E*A%20quick%20note%2C%20I%20prefer%20to%20manage%20this%20in%20an%20Azure%20Active%20Directory%20Group.%20In%20this%20blog%20I%20will%20show%20how%20to%20add%20the%20account%20directly%20to%20the%20Azure%20Synapse%20Workspace.%26nbsp%3B%20However%2C%20the%20best%20practice%20would%20be%20to%20have%20an%20AAD%20group%20that%20is%20granted%20Synapse%20Administrator%20and%20then%20add%20the%20role%20to%20that%20group.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EClick%20the%20%2BAdd%20link.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2002.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250891iB792DC329C6DA041%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2002.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2002.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20we%20will%20type%20in%20the%20Azure%20DevOps%20Project%20name.%26nbsp%3B%20If%20your%20project%20URL%20was%20%3CA%20href%3D%22https%3A%2F%2Fbobsburgers.visualstudio.net%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fbobsburgers.visualstudio.net%3C%2FA%3E%26nbsp%3Band%20your%20project%20name%20was%20Azure%20Synapse%20Studio%20CI%20CD%20you%20would%20type%20in%20bobsburgers-Azure%20Synapse%20Studio%20CI%20CD.%26nbsp%3B%20This%20would%20show%20you%20the%20Service%20Principal%20GUID%20following%20that%20name.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EClick%20the%20name%20as%20it%20appears%20and%20then%20click%20the%20Apply%20Button.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2003.png%22%20style%3D%22width%3A%20617px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250893i20AAB5DD1E53B917%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2003.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2003.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3ENow%20open%20a%20browser%20and%20navigate%20to%20the%20Azure%20Portal.%26nbsp%3B%20In%20the%20search%20window%20at%20the%20type%20Storage%20Accounts.%26nbsp%3B%20Select%20the%20storage%20account%20that%20you%20are%20using%20as%20your%20default%20ADLS%20Storage%20Account%20for%20your%20Azure%20Synapse%20Workspace.%26nbsp%3B%20Click%20the%20Access%20Control%20(IAM)%20blade.%26nbsp%3B%20Click%20%2BAdd%2C%20then%20click%20Add%20role%20assignment.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2005.png%22%20style%3D%22width%3A%20894px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250899i3788F7E7AA104672%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2005.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2005.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESelect%20Storage%20Blob%20Data%20Contributor%20for%20Role.%26nbsp%3B%20In%20the%20Select%20text%20box%2C%20type%20in%20the%20Azure%20DevOps%20Service%20Principal%20the%20same%20way%20we%20did%20in%20the%20for%20the%20Synapse%20Administrator%20role.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2006.png%22%20style%3D%22width%3A%20413px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250900i5DD2136FBC6DA2FD%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2006.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2006.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ERepeat%20the%20previous%20steps%2C%20except%20this%20time%20specify%20the%20User%20Access%20Administrator%20Role.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2007.png%22%20style%3D%22width%3A%20414px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250905iBEF90B55749F01F7%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2007.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2007.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENext%20we%20will%20navigate%20to%20our%20Azure%20DevOps%20Project.%26nbsp%3B%20%26nbsp%3BSelect%20pipelines%2C%20Releases%2C%20and%20New%20Pipeline.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2008.png%22%20style%3D%22width%3A%20985px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250907iB6CE2615EB6F767A%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2008.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2008.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EClick%20on%20Empty%20Job.%26nbsp%3B%20Then%20click%20on%20Add%20an%20artifact.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2009.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250908iA4186F485745152A%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2009.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2009.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EEnsure%20our%20project%20is%20selected.%26nbsp%3B%20Select%20the%20name%20of%20the%20Build%20Pipeline%20that%20we%20created%20in%20our%20previous%20blog%20(Or%20whatever%20YOU%20wanted%20to%20name%20your%20Build%20Pipeline%20because%20my%20naming%20conventions%20do%20not%20define%20you!).%26nbsp%3B%20Select%20the%20Latest%20Build%2C%20and%20click%20Add.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2010.png%22%20style%3D%22width%3A%20628px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250909i609BF81D1415111B%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2010.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2010.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ERename%20the%20Release%20Pipeline%20to%20reflect%20what%20we%20are%20doing.%26nbsp%3B%20We%20selected%20Deploy%20Dev%20Release.%26nbsp%3B%20Clock%20on%20the%20Stage1%20link%201%20job%2C%200%20task%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2011.png%22%20style%3D%22width%3A%20681px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250910iB3BCFA1AD5F311C1%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2011.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2011.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EClick%20the%20%2B%20plus%20sign%20on%20Agent%20Job.%26nbsp%3B%20In%20the%20search%20text%20box%20type%20%22Synapse%22%2C%20the%20Synapse%20workspace%20deployment%20task%20will%20appear%20if%20you%20have%20installed%20it%20from%20the%20Marketplace.%26nbsp%3B%20If%20not%2C%20FEAR%20NOT!%26nbsp%3B%20You%20should%20see%20a%20link%20for%20it%20below%20under%20the%20heading%20Marketplace.%26nbsp%3B%20Click%20on%20it%20to%20install%20the%20task%20to%20your%20Azure%20DevOps%20project.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2012.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250911iDF3629D3F652E8F3%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2012.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2012.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOnce%20you%20have%20added%20the%20task%2C%20click%20on%20the%20task.%26nbsp%3B%20We%20will%20fill%20out%20the%20Template%2C%20Template%20parameters%2C%20Synapse%20Workspace%20connection%20type%2C%20Synapse%20Workspace%20name%2C%20and%20we%20will%20get%20to%20OverrideArmParameters%20in%20a%20moment.%26nbsp%3B%20That%20will%20a%20lot%20more%20details.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EFirst%20click%20on%20the%20...%20ellipses%20by%20Template.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2013.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250913i9A05CE71BD5BF74C%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2013.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2013.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3BNavigate%20through%20the%20build%20pipeline%2C%20ASW_Drop%2C%20ARM%2C%20to%20the%20TemplateForWorkspace.json.%26nbsp%3B%20Select%20the%20.json%20file%20and%20click%20OK.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2014.png%22%20style%3D%22width%3A%20550px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250914i3F35794A58656713%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2014.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2014.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20repeat%20the%20same%20steps%20for%20the%20Template%20Parameters%20text%20box%2C%20this%20time%20selecting%20the%20TemplateParametersForWorkspace.json%20file.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2015.png%22%20style%3D%22width%3A%20541px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250915iECC7049B8539A3F1%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2015.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2015.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EUnder%20Synapse%20workspace%20connection%20type%2C%20select%20the%20Azure%20Subscription%20that%20contains%20the%20environment%20where%20we%20are%20deploying%20our%20release.%26nbsp%3B%20Specify%20the%20Resource%20Group%20and%20the%20Azure%20Synapse%20Workspace%20name.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2016.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250917iBBFB6CF9AB0C25DF%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2016.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2016.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3ENow%20we%20begin%20to%20focus%20on%20the%20override%20parameters.%26nbsp%3B%20First%20we%20will%20travel%20back%20to%20our%20Repo%20and%20look%20at%20the%20TemplateForWorkspace.json.%26nbsp%3B%20Any%20string%20that%20has%20a%20type%20%22secureString%22%20will%20need%20to%20have%20an%20override%20parameter.%20Depending%20on%20the%20level%20of%20development%20you%20have%20done%2C%20you%20may%20have%20many%20of%20these%20strings%2C%20in%20our%20example%20we%20have%20two.%26nbsp%3B%20The%20default%20workspace%20connection%20to%20the%20Provisioned%20SQL%20Pools%20and%20a%20Linked%20Service%20I%20created%20to%20an%20Azure%20SQL%20Database.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2017.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250918iA8E086974B33422F%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2017.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2017.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EDear%20Reader%2C%20you%20are%20wondering%20where%20to%20find%20those.%26nbsp%3B%20You%20are%20in%20luck!%26nbsp%3B%20Navigate%20to%20your%20Azure%20Synapse%20Analytics%20Workspace%2C%20click%20on%20the%20Manage%20blade%2C%20then%20Linked%20services.%26nbsp%3B%20Now%20click%20on%20the%20%7B%20%7D%20Code%20symbol%20after%20the%20name%20of%20the%20linked%20service%20that%20is%20a%20type%20securedString.%26nbsp%3B%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2018.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250919i437F7B8D08F45041%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2018.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2018.png%22%20%2F%3E%3C%2FSPAN%3E%3CBR%20%2F%3EThis%20will%20open%20a%20view%20of%20the%20JSON%20in%20that%20contains%20the%20data%20we%20need.%26nbsp%3B%20Copy%20the%20text%20between%20the%20double%20quotes.%26nbsp%3B%20DO%20NOT%20SELECT%20THE%20DOUBLE%20QUOTES!!%20JUST%20THE%20STRING%20BETWEEN%20THE%20DOUBLE%20QOUTES!%26nbsp%3B%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CP%3ESorry%20for%20yelling%2C%20but%20we%20will%20use%20this%20string%20soon%20and%20the%20double%20quotes%20%22%22%20will%20cause%20it%20to%20fail.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2019.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250920iCEF7654AA9E7CE69%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2019.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2019.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20let's%20do%20the%20same%20thing%20for%20the%20Azure%20SQL%20Database.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2020.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250921i4B749124AA97EE79%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2020.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2020.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20navigate%20back%20to%20our%20Azure%20DevOps%20Release%20pipeline.%26nbsp%3B%20Click%20on%20Variables%2C%20then%20click%20the%20%2B%20Add%20button%203%20times.%26nbsp%3B%20We%20will%20be%20creating%20two%20variables%20based%20on%20the%20secureStrings%20in%20our%20JSON%20file.%26nbsp%3B%20We%20will%20also%20be%20creating%20a%20system.debug%20value%20to%20give%20us%20extra%20information%20in%20our%20release%20pipeline%2C%20it's%20value%20is%20True.%3CBR%20%2F%3E%3CBR%20%2F%3EAfter%20you%20copy%20in%20the%20secureStrings%2C%20click%20the%20lock%20button%20by%20the%20two%20connection%20strings%2C%20leave%20system.debug%20unencrypted.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2022.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250923iE4AEBAEC575E9745%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2022.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2022.png%22%20%2F%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CP%3EYour%20pipeline%20should%20look%20similar%20to%20this.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2022b.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250924i2318EE0E10573556%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2022b.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2022b.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20we%20will%20go%20to%20the%20OverrideArmParameters%20text%20area.%26nbsp%3B%20We%20will%20use%20the%20following%20syntax%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20-variableNameFromTheJsonFile%20%24(devOpsPipelineVarriable)%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CP%3EFor%20example%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20-bballasw-WorkspaceDefaultSqlServer_connectionString%20%24(WorkspaceDefault)%20-Lahman_connectionString%20%24(Lahman)%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2023.png%22%20style%3D%22width%3A%20600px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250925iD4D8B33F721320F7%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2023.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2023.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EYours%20may%20vary%20based%20your%20number%20of%20secureStrings%20and%20names.%26nbsp%3B%20Now%20let's%20click%20Save%20on%20our%20pipeline.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2024.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250926i7BC0531EA7BFA076%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2024.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2024.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EMake%20a%20comment%20and%20click%20OK%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2025.png%22%20style%3D%22width%3A%20496px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250927iD68CA0F69F75A1EE%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2025.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2025.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3ENow%20click%20Create%20release.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2026.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250929iF19008EAAE742470%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2026.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2026.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EClick%20Create%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2027.png%22%20style%3D%22width%3A%20616px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250930i9E124656C044F40F%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2027.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2027.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EClick%20Release-1%20(or%20whatever%20your%20release%20number%20is).%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2028.png%22%20style%3D%22width%3A%20418px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250931i4924F642F3713184%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2028.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2028.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAfter%20your%20Agent%20begins%20to%20process%20click%20on%20Logs%20and%20watch%20it%20run!%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2029.png%22%20style%3D%22width%3A%20662px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250932iAE3C443F20256387%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2029.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2029.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAND%20NOW!!!!!%20......it%20failed.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EA%20few%20times.%26nbsp%3B%20But%20hey%2C%20it's%20not%20developing%20if%20there%20isn't%20a%20failure.%26nbsp%3B%20So%20it's%20almost%201%20am%2C%20and%20I%20*believe*%20I%20have%20it%20running%20so%20let%20me%20take%20this%20time%20to%20walk%20you%20through%20what%20I've%20found.%3CBR%20%2F%3E%3CBR%20%2F%3ESpark%20Pools%20and%20Self%20Hosted%20Integration%20Runtimes%20are%20not%20created%20in%20a%20pipeline.%26nbsp%3B%20If%20you%20have%20a%20Linked%20Service%20that%20uses%20a%20Self%20Hosted%20Integration%20Runtime%20you%20will%20need%20to%20manually%20create%20that%20in%20your%20QA%20or%20Prod%20environment%20prior%20to%20deployment.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EIf%20you%20are%20developing%20Notebooks%20and%20have%20them%20connected%20to%20a%20Spark%20Pool%2C%20you%20will%20need%20to%20recreate%20that%20Spark%20Pool%20in%20QA%20or%20Production.%26nbsp%3B%20Notebooks%20that%20are%20linked%20to%20a%20Spark%20Pool%20that%20does%20not%20exist%20in%20an%20environment%20will%20fail%20to%20deploy.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EName%20them%20the%20same%20thing.%26nbsp%3B%20Do%20not%20change%20names.%26nbsp%3B%20Trust%20me.%26nbsp%3B%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EIf%20you%20are%20doing%20a%20deployment%20and%20your%20Provisioned%20SQL%20Pools%20are%20Paused%20then%20the%20deployment%20will%20fail.%26nbsp%3B%20*More%20to%20come%20on%20database%20migrations%2C%20a%20database%20project%20build%2C%20and%20release%20is%20still%20needed.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EHere's%20a%20quick%20image.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2030.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250933i667BB35CF14FF222%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2030.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2030.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EI'm%20on%20release%204%2C%20attempt%202.%26nbsp%3B%20This%20appears%20to%20be%20running%20just%20fine%20for%20me.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CP%3EVICTORY!!%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2031.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250934i7CF39A45B0CBE502%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2031.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2031.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20let%20us%20go%20and%20check%20our%20QA%20Workspace!%26nbsp%3B%20First%20up%20Scripts%20and%20Notebooks.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2032.png%22%20style%3D%22width%3A%20459px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250937iF56D9A000BC39519%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2032.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2032.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EExcellent!%26nbsp%3B%20Everything%20is%20there.%26nbsp%3B%20Next%20let%20us%20look%20at%20our%20Provisioned%20SQL%20Pools.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2033.png%22%20style%3D%22width%3A%20363px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250938i8349518FCC4631AB%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2033.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2033.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3ELooks%20great!%26nbsp%3B%20As%20a%20quick%20side%20note%20the%20databases%20will%20be%20brought%20over%20at%20DW100c%2C%20so%20you%20can%20auto%20scale%20them%20as%20needed.%26nbsp%3B%20Also%20if%20you%20are%20in%20a%20demo%20environment%20like%20me%2C%20be%20sure%20to%20pause%20them%20after%20the%20deployment%20completes.%26nbsp%3B%20%26nbsp%3BNext%20up%20Pipelines.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2034.png%22%20style%3D%22width%3A%20443px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250940i302E38AE2309B8E5%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2034.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2034.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EI%20like%20this!%26nbsp%3B%20Now%20let's%20check%20out%20linked%20services.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2035.png%22%20style%3D%22width%3A%20896px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250941i799311585F2CCB77%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2035.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2035.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20don't%20like%20this.%26nbsp%3B%20Here%20are%20my%20Dev%20links%20for%20my%20default%20workspace%20in%20my%20QA%20environment.%26nbsp%3B%20Right%20now%20the%20only%20way%20I've%20found%20to%20clean%20this%20up%20is%20to%20use%20the%20Az.Synapse%20PowerShell%20Module.%26nbsp%3B%20Navigate%20back%20to%20your%20release%20pipeline.%26nbsp%3B%20Edit%20it%2C%20add%20an%20Azure%20PowerShell%20task.%26nbsp%3B%20We%20will%20then%20use%20this%20script%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%23%23Required%20for%20azure%20devops%20initial%20deployment%3CBR%20%2F%3EInstall-Module%20Az.Synapse%20-RequiredVersion%200.2.0%20-Scope%20CurrentUser%20-Force%3C%2FP%3E%0A%3CP%3E%23get%20rid%20of%20dev%20linked%20service%20in%20QA%3CBR%20%2F%3ERemove-AzSynapseLinkedService%20-WorkspaceName%20yourworkspaceName%20-Name%20linkedservicetoRemove%3CBR%20%2F%3ERemove-AzSynapseLinkedService%20-WorkspaceName%20yourworkspaceName%20-Name%20linkedservicetoRemove%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EUnder%20Azure%20PowerShell%20version%20options%20select%20Specify%20other%20version%2C%20set%20Preferred%20Azure%20PowerShell%20Version%203.1.0.%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20next%20time%20you%20run%20your%20deployment%2C%20this%20should%20clean%20up%20those%20links.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22CI%20CD%20Release%20Pipeline%2036.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F250942i87348B20AC75C3B8%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CI%20CD%20Release%20Pipeline%2036.png%22%20alt%3D%22CI%20CD%20Release%20Pipeline%2036.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAll%20right%20Dear%20Reader%2C%20I'm%20off%20to%20sleep.%26nbsp%3B%20Happy%20Monday%20and%20as%20always%2C%20thank%20you%20for%20stopping%20by.%3CBR%20%2F%3E%3CBR%20%2F%3EThanks%2C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBrad%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2034434%22%20slang%3D%22en-US%22%3E%3CP%3ETime%20to%20build%20the%20Release%20Pipeline%2C%20and%20make%20sure%20we%20know%20how%20to%20handle%20secure%20strings.%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2112739%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2112739%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F952360%22%20target%3D%22_blank%22%3E%40MinhDNguyen%3C%2FA%3E%26nbsp%3BIn%20ARM%20secureStrings%20are%20a%20data%20type%20requiring%20an%20encrypted%20value.%26nbsp%3B%20It%20is%20the%20most%20common%20and%20popular%20way%20of%20handling%20secrets%20in%20ARM%20template%20parameters.%20If%20you%26nbsp%3B%20have%20a%20field%20in%20an%20ARM%20template%20that%20specifies%20a%20parameter%20of%20type%20secureString%2C%20you%20must%20pass%20it%20an%20encrypted%20value.%26nbsp%3B%20It%20cannot%20be%20null%2C%20it%20cannot%20be%20in%20plain%20text.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EInstead%20of%20inserting%20the%20text%20you%20can%20use%20Azure%20Key%20Vault%20to%20pass%20strings%2C%20you%20can%20also%20create%20variable%20groups%20that%20could%20be%20assigned%20per%20environment%20so%20you%20can%20have%20different%20variables%20for%20QA%20and%20Prod.%26nbsp%3B%20I%20plan%20to%20get%20into%20those%20things%20eventually%20but%20not%20this%20early%20in%20the%20series.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EI%20cannot%20explain%20why%20you%20are%20not%20getting%20this%20error%2C%20this%20was%20the%20first%20error%20I%20ran%20into%20that%20had%20to%20be%20fixed.%26nbsp%3B%20I'm%20glad%20you%20are%20not%20receiving%20errors%20%3A).%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2111981%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2111981%22%20slang%3D%22en-US%22%3E%3CP%3EThank%20you%20Brad%26nbsp%3Bfor%20your%20explanation.%20Additionally%2C%20I%20would%20like%20to%20ask%3A%20why%20do%20we%20have%20to%20override%20those%20secureString%20parameters%3F%3C%2FP%3E%3CP%3EI%20had%20tried%20to%20deploy%20a%20few%20times%20without%20overriding%20any%20parameters%20before%20coming%20across%20this%20article%2C%20and%20didn't%20see%20any%20obvious%20issues.%20I%20might%20have%20missed%20something%20though....%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2111718%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2111718%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F952360%22%20target%3D%22_blank%22%3E%40MinhDNguyen%3C%2FA%3E%26nbsp%3BBy%20Default%2C%20unless%20you%20change%20it%20to%20main%2C%20the%20default%20publish%20branch%20will%20be%20Workplace_Publish.%26nbsp%3B%20In%20part%201%20I%20left%20this%20as%20the%20default%2C%20but%20you%20can%20change%20it%2C%20even%20after%20deployment.%3CBR%20%2F%3E%3CBR%20%2F%3EIn%20the%20Management%20Blade%20you%20would%20click%20on%20Git%20Configuration%2C%20then%20click%20at%20the%20Gear%20icon%20at%20the%20top%20and%20it%20will%20open%20a%20blade%20on%20the%20right%20hand%20screen.%26nbsp%3B%20you%20can%20change%20workplace%20publish%20to%20main.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOther%20wise%20every%20time%20you%20publish%20your%20JSON%20in%20Azure%20DevOps%2C%20it%20will%20publish%20the%20newest%20JSON%20to%20that%20Workplace_Publish%20branch.%26nbsp%3B%20You%20would%20need%20to%20build%20off%20of%20that%20branch%20instead%20of%20main.%26nbsp%3B%20It's%20get's%20a%20bit%20confusing%20to%20me%2C%20but%20my%20Buddy%20Steve%20St.%20Jean%20(to%20whom%20I%20owe%20teaching%20me%20how%20to%20do%20this%20prior%20to%20Winter%20Break%20in%20December)%20who%20is%20one%20of%20the%20best%20Developers%20I've%20ever%20met%2C%20assured%20me%20this%20was%20the%20way%20to%20go.%26nbsp%3B%20And%20if%20I%20got%20any%20of%20this%20wrong%2C%20it%20is%20my%20fault%20and%20not%20Steve's%2C%20I'm%20just%20doing%20a%20bad%20job%20re-explaining%20this%20%3A).%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2111519%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2111519%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20Brad%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%20a%20lot%20for%20the%20blog.%20It%20explains%20my%20questions%20on%20why%20it%20ignores%20my%20Spark%20pools%20when%20deploying%20to%20another%20workspace.%3C%2FP%3E%3CP%3EOne%20question%20though%2C%20why%20do%20we%20have%20to%20override%20those%20parameters%20with%20type%20secureString%3F%20Before%20reading%20this%20I%20had%20tried%20a%20few%20times%20without%20overriding%20any%20parameters%20and%20didn't%20see%20any%20obvious%20error%20(might%20have%20missed%20something%3F)%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAnd%20also%20fyi%2C%20my%20workspace%20studio%20publishes%20the%20resources%20into%20a%20separate%20branch%20named%20'workspace_publish'%20so%20we%20have%20to%20deploy%20from%20there.%20I'm%20not%20sure%20why%20yours%20uses%20the%20same%20branch.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2110923%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2110923%22%20slang%3D%22en-US%22%3E%3CP%3EThank%20you%20Brad%20for%20this%20article!%20YOU%20SAVED%20MY%20DAY!%20I%20spent%20already%20hours%20to%20get%20the%20thing%20running...%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2110007%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2110007%22%20slang%3D%22en-US%22%3E%3CP%3EThank%20you%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F919968%22%20target%3D%22_blank%22%3E%40KeyBee%3C%2FA%3E%26nbsp%3B!%26nbsp%3B%20Good%20Luck%20%3A)!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2109663%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2109663%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20Brad%2C%3C%2FP%3E%3CP%3EThanks%20for%20this%20new%20article%20and%20all%20the%20work%20you've%20done%2C%20I%20can't%20wait%20to%20give%20it%20a%20try%20and%20hopefully%20get%20this%20working%20finally!%20I%20can%20already%20see%20places%20I%20went%20wrong.%20%3AD%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2159786%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2159786%22%20slang%3D%22en-US%22%3E%3CP%20data-unlink%3D%22true%22%3EThank%20you%20so%20much%20for%20this.%26nbsp%3B%20I%20was%20attempting%20to%20use%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fsynapse-analytics%2Fcicd%2Fcontinuous-integration-deployment%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%22%3Edocumentation%3C%2FA%3E%26nbsp%3Bbut%20could%20get%20none%20of%20the%20steps%20in%20it%20to%20work.%26nbsp%3B%20This%20series%20has%20been%20a%20breath%20of%20clarity.%3C%2FP%3E%3CP%20data-unlink%3D%22true%22%3E%26nbsp%3B%3C%2FP%3E%3CP%20data-unlink%3D%22true%22%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2162250%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2162250%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F73694%22%20target%3D%22_blank%22%3E%40Bradley%20Ball%20(MICROSOFT)%3C%2FA%3E%26nbsp%3Bquick%20question%20about%20the%20powershell%20task%20that%20removes%20the%20dev%20linked%20services.%26nbsp%3B%20I%20had%20a%20few%20issues%20with%20it%20if%20I'm%20honest%2C%20I%20found%20that%20with%3C%2FP%3E%3CPRE%3EInstall-Module%20Az.Synapse%20-RequiredVersion%200.2.0%20-Scope%20CurrentUser%20-Force%3C%2FPRE%3E%3CP%3E%3CSPAN%3ERemove-AzSynapseLinkedService%20was%20not%20in%20the%20list%20of%20cmdlets%20imported%2C%20changing%20to%20version%200.7.0%20solved%20this%20for%20me.%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3EI%20also%20had%20to%20add%20a%20-Force%20command%20to%20the%26nbsp%3B%26nbsp%3B%3CSPAN%3ERemove-AzSynapseLinkedService%20task%3A%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%3E%24linkedService%20%7C%20Remove-AzSynapseLinkedService%20%20-Force%3C%2FPRE%3E%3CP%3E%3CSPAN%3EAll%20of%20these%20were%20surmountable%20and%20as%20you%20said%3C%2FSPAN%3E%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3EB%3CSPAN%3Eut%20hey%2C%20it's%20not%20developing%20if%20there%20isn't%20a%20failure.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3EWhat%20I%20did%20find%20however%20was%20that%20the%20Linked%20service%20that%20had%20Related%20objects%20(the%20default%20storage%20in%20my%20case)%20is%20not%20removed.%26nbsp%3B%3C%2FP%3E%3CP%3EBefore%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%222021-02-24%2009_33_47-synapsedestination%20-%20Azure%20Synapse%20Analytics%20and%201%20more%20page%20-%20sword%20cloud%20platf.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F257346i59F7BFE66C651C7B%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%222021-02-24%2009_33_47-synapsedestination%20-%20Azure%20Synapse%20Analytics%20and%201%20more%20page%20-%20sword%20cloud%20platf.png%22%20alt%3D%22Before%22%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EBefore%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EAfter%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%222021-02-24%2011_17_18-synapsedestination%20-%20Azure%20Synapse%20Analytics%20and%201%20more%20page%20-%20sword%20cloud%20platf.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F257345i3A1F4F966A7C27A9%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%222021-02-24%2011_17_18-synapsedestination%20-%20Azure%20Synapse%20Analytics%20and%201%20more%20page%20-%20sword%20cloud%20platf.png%22%20alt%3D%22After%22%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EAfter%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EHow%20did%20you%20solve%20that%20issue%20if%20indeed%20you%20could%3F%26nbsp%3BI%20noticed%20in%20your%20image%20there%20is%201%20related%20object%20I%20assume%20its%20an%20Integration%20dataset.%20Have%20you%20a%20way%20to%20change%20the%20name%20of%20the%20service%20that%20Integration%20datasets%20are%20pointing%20to%3F%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2171538%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2171538%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20Bradley%20%2C%26nbsp%3BThanks%20a%20lot%20for%20sharing!%20All%20steps%20I've%20done%20and%20it%20works%20perfectly.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2172626%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2172626%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F73694%22%20target%3D%22_blank%22%3E%40Bradley%20Ball%20(MICROSOFT)%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3EThank%20you%20for%20publishing%20this%20series.%3C%2FP%3E%0A%3CP%3EIn%20the%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fsynapse-analytics%2Fcicd%2Fcontinuous-integration-deployment%23set-up-a-stage-task-for-arm-resource-create-and-update%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Eofficial%20CI%2FCD%20documentation%3C%2FA%3E%2C%20there%20are%20two%20tasks%20before%20the%20Synapse%20Workspace%20deployment%20task.%20One%20is%20for%20deploying%20an%20ARM%20template.%20Though%20it's%20not%20explicitly%20stated%2C%20I%20take%20it%20this%20is%20to%20create%20or%20update%20the%20actual%20Synapse%20Workspace%20itself%2C%20before%20deploying%20the%20contents%3F%3C%2FP%3E%0A%3CP%3ECan%20you%20elaborate%20on%20why%20that's%20not%20in%20your%20walkthrough%2C%20please%3F%3C%2FP%3E%0A%3CDIV%20class%3D%22ms-editor-squiggler%22%20style%3D%22color%3A%20initial%3B%20font%3A%20initial%3B%20font-feature-settings%3A%20initial%3B%20font-kerning%3A%20initial%3B%20font-optical-sizing%3A%20initial%3B%20font-variation-settings%3A%20initial%3B%20forced-color-adjust%3A%20initial%3B%20text-orientation%3A%20initial%3B%20text-rendering%3A%20initial%3B%20-webkit-font-smoothing%3A%20initial%3B%20-webkit-locale%3A%20initial%3B%20-webkit-text-orientation%3A%20initial%3B%20-webkit-writing-mode%3A%20initial%3B%20writing-mode%3A%20initial%3B%20zoom%3A%20initial%3B%20place-content%3A%20initial%3B%20place-items%3A%20initial%3B%20place-self%3A%20initial%3B%20alignment-baseline%3A%20initial%3B%20animation%3A%20initial%3B%20appearance%3A%20initial%3B%20aspect-ratio%3A%20initial%3B%20backdrop-filter%3A%20initial%3B%20backface-visibility%3A%20initial%3B%20background%3A%20initial%3B%20background-blend-mode%3A%20initial%3B%20baseline-shift%3A%20initial%3B%20block-size%3A%20initial%3B%20border-block%3A%20initial%3B%20border%3A%20initial%3B%20border-radius%3A%20initial%3B%20border-collapse%3A%20initial%3B%20border-inline%3A%20initial%3B%20inset%3A%20initial%3B%20box-shadow%3A%20initial%3B%20box-sizing%3A%20initial%3B%20break-after%3A%20initial%3B%20break-before%3A%20initial%3B%20break-inside%3A%20initial%3B%20buffered-rendering%3A%20initial%3B%20caption-side%3A%20initial%3B%20caret-color%3A%20initial%3B%20clear%3A%20initial%3B%20clip%3A%20initial%3B%20clip-path%3A%20initial%3B%20clip-rule%3A%20initial%3B%20color-interpolation%3A%20initial%3B%20color-interpolation-filters%3A%20initial%3B%20color-rendering%3A%20initial%3B%20color-scheme%3A%20initial%3B%20columns%3A%20initial%3B%20column-fill%3A%20initial%3B%20gap%3A%20initial%3B%20column-rule%3A%20initial%3B%20column-span%3A%20initial%3B%20contain%3A%20initial%3B%20contain-intrinsic-size%3A%20initial%3B%20content%3A%20initial%3B%20content-visibility%3A%20initial%3B%20counter-increment%3A%20initial%3B%20counter-reset%3A%20initial%3B%20counter-set%3A%20initial%3B%20cursor%3A%20initial%3B%20cx%3A%20initial%3B%20cy%3A%20initial%3B%20d%3A%20initial%3B%20display%3A%20block%3B%20dominant-baseline%3A%20initial%3B%20empty-cells%3A%20initial%3B%20fill%3A%20initial%3B%20fill-opacity%3A%20initial%3B%20fill-rule%3A%20initial%3B%20filter%3A%20initial%3B%20flex%3A%20initial%3B%20flex-flow%3A%20initial%3B%20float%3A%20initial%3B%20flood-color%3A%20initial%3B%20flood-opacity%3A%20initial%3B%20grid%3A%20initial%3B%20grid-area%3A%20initial%3B%20height%3A%200px%3B%20hyphens%3A%20initial%3B%20image-orientation%3A%20initial%3B%20image-rendering%3A%20initial%3B%20inline-size%3A%20initial%3B%20inset-block%3A%20initial%3B%20inset-inline%3A%20initial%3B%20isolation%3A%20initial%3B%20letter-spacing%3A%20initial%3B%20lighting-color%3A%20initial%3B%20line-break%3A%20initial%3B%20list-style%3A%20initial%3B%20margin-block%3A%20initial%3B%20margin%3A%20initial%3B%20margin-inline%3A%20initial%3B%20marker%3A%20initial%3B%20mask%3A%20initial%3B%20mask-type%3A%20initial%3B%20max-block-size%3A%20initial%3B%20max-height%3A%20initial%3B%20max-inline-size%3A%20initial%3B%20max-width%3A%20initial%3B%20min-block-size%3A%20initial%3B%20min-height%3A%20initial%3B%20min-inline-size%3A%20initial%3B%20min-width%3A%20initial%3B%20mix-blend-mode%3A%20initial%3B%20object-fit%3A%20initial%3B%20object-position%3A%20initial%3B%20offset%3A%20initial%3B%20opacity%3A%20initial%3B%20order%3A%20initial%3B%20origin-trial-test-property%3A%20initial%3B%20orphans%3A%20initial%3B%20outline%3A%20initial%3B%20outline-offset%3A%20initial%3B%20overflow-anchor%3A%20initial%3B%20overflow-wrap%3A%20initial%3B%20overflow%3A%20initial%3B%20overscroll-behavior-block%3A%20initial%3B%20overscroll-behavior-inline%3A%20initial%3B%20overscroll-behavior%3A%20initial%3B%20padding-block%3A%20initial%3B%20padding%3A%20initial%3B%20padding-inline%3A%20initial%3B%20page%3A%20initial%3B%20page-orientation%3A%20initial%3B%20paint-order%3A%20initial%3B%20perspective%3A%20initial%3B%20perspective-origin%3A%20initial%3B%20pointer-events%3A%20initial%3B%20position%3A%20initial%3B%20quotes%3A%20initial%3B%20r%3A%20initial%3B%20resize%3A%20initial%3B%20ruby-position%3A%20initial%3B%20rx%3A%20initial%3B%20ry%3A%20initial%3B%20scroll-behavior%3A%20initial%3B%20scroll-margin-block%3A%20initial%3B%20scroll-margin%3A%20initial%3B%20scroll-margin-inline%3A%20initial%3B%20scroll-padding-block%3A%20initial%3B%20scroll-padding%3A%20initial%3B%20scroll-padding-inline%3A%20initial%3B%20scroll-snap-align%3A%20initial%3B%20scroll-snap-stop%3A%20initial%3B%20scroll-snap-type%3A%20initial%3B%20shape-image-threshold%3A%20initial%3B%20shape-margin%3A%20initial%3B%20shape-outside%3A%20initial%3B%20shape-rendering%3A%20initial%3B%20size%3A%20initial%3B%20speak%3A%20initial%3B%20stop-color%3A%20initial%3B%20stop-opacity%3A%20initial%3B%20stroke%3A%20initial%3B%20stroke-dasharray%3A%20initial%3B%20stroke-dashoffset%3A%20initial%3B%20stroke-linecap%3A%20initial%3B%20stroke-linejoin%3A%20initial%3B%20stroke-miterlimit%3A%20initial%3B%20stroke-opacity%3A%20initial%3B%20stroke-width%3A%20initial%3B%20tab-size%3A%20initial%3B%20table-layout%3A%20initial%3B%20text-align%3A%20initial%3B%20text-align-last%3A%20initial%3B%20text-anchor%3A%20initial%3B%20text-combine-upright%3A%20initial%3B%20text-decoration%3A%20initial%3B%20text-decoration-skip-ink%3A%20initial%3B%20text-indent%3A%20initial%3B%20text-overflow%3A%20initial%3B%20text-shadow%3A%20initial%3B%20text-size-adjust%3A%20initial%3B%20text-transform%3A%20initial%3B%20text-underline-offset%3A%20initial%3B%20text-underline-position%3A%20initial%3B%20touch-action%3A%20initial%3B%20transform%3A%20initial%3B%20transform-box%3A%20initial%3B%20transform-origin%3A%20initial%3B%20transform-style%3A%20initial%3B%20transition%3A%20initial%3B%20user-select%3A%20initial%3B%20vector-effect%3A%20initial%3B%20vertical-align%3A%20initial%3B%20visibility%3A%20initial%3B%20-webkit-app-region%3A%20initial%3B%20border-spacing%3A%20initial%3B%20-webkit-border-image%3A%20initial%3B%20-webkit-box-align%3A%20initial%3B%20-webkit-box-decoration-break%3A%20initial%3B%20-webkit-box-direction%3A%20initial%3B%20-webkit-box-flex%3A%20initial%3B%20-webkit-box-ordinal-group%3A%20initial%3B%20-webkit-box-orient%3A%20initial%3B%20-webkit-box-pack%3A%20initial%3B%20-webkit-box-reflect%3A%20initial%3B%20-webkit-highlight%3A%20initial%3B%20-webkit-hyphenate-character%3A%20initial%3B%20-webkit-line-break%3A%20initial%3B%20-webkit-line-clamp%3A%20initial%3B%20-webkit-mask-box-image%3A%20initial%3B%20-webkit-mask%3A%20initial%3B%20-webkit-mask-composite%3A%20initial%3B%20-webkit-perspective-origin-x%3A%20initial%3B%20-webkit-perspective-origin-y%3A%20initial%3B%20-webkit-print-color-adjust%3A%20initial%3B%20-webkit-rtl-ordering%3A%20initial%3B%20-webkit-ruby-position%3A%20initial%3B%20-webkit-tap-highlight-color%3A%20initial%3B%20-webkit-text-combine%3A%20initial%3B%20-webkit-text-decorations-in-effect%3A%20initial%3B%20-webkit-text-emphasis%3A%20initial%3B%20-webkit-text-emphasis-position%3A%20initial%3B%20-webkit-text-fill-color%3A%20initial%3B%20-webkit-text-security%3A%20initial%3B%20-webkit-text-stroke%3A%20initial%3B%20-webkit-transform-origin-x%3A%20initial%3B%20-webkit-transform-origin-y%3A%20initial%3B%20-webkit-transform-origin-z%3A%20initial%3B%20-webkit-user-drag%3A%20initial%3B%20-webkit-user-modify%3A%20initial%3B%20white-space%3A%20initial%3B%20widows%3A%20initial%3B%20width%3A%20initial%3B%20will-change%3A%20initial%3B%20word-break%3A%20initial%3B%20word-spacing%3A%20initial%3B%20x%3A%20initial%3B%20y%3A%20initial%3B%20z-index%3A%20initial%3B%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%20class%3D%22ms-editor-squiggler%22%20style%3D%22color%3A%20initial%3B%20font%3A%20initial%3B%20font-feature-settings%3A%20initial%3B%20font-kerning%3A%20initial%3B%20font-optical-sizing%3A%20initial%3B%20font-variation-settings%3A%20initial%3B%20forced-color-adjust%3A%20initial%3B%20text-orientation%3A%20initial%3B%20text-rendering%3A%20initial%3B%20-webkit-font-smoothing%3A%20initial%3B%20-webkit-locale%3A%20initial%3B%20-webkit-text-orientation%3A%20initial%3B%20-webkit-writing-mode%3A%20initial%3B%20writing-mode%3A%20initial%3B%20zoom%3A%20initial%3B%20place-content%3A%20initial%3B%20place-items%3A%20initial%3B%20place-self%3A%20initial%3B%20alignment-baseline%3A%20initial%3B%20animation%3A%20initial%3B%20appearance%3A%20initial%3B%20aspect-ratio%3A%20initial%3B%20backdrop-filter%3A%20initial%3B%20backface-visibility%3A%20initial%3B%20background%3A%20initial%3B%20background-blend-mode%3A%20initial%3B%20baseline-shift%3A%20initial%3B%20block-size%3A%20initial%3B%20border-block%3A%20initial%3B%20border%3A%20initial%3B%20border-radius%3A%20initial%3B%20border-collapse%3A%20initial%3B%20border-inline%3A%20initial%3B%20inset%3A%20initial%3B%20box-shadow%3A%20initial%3B%20box-sizing%3A%20initial%3B%20break-after%3A%20initial%3B%20break-before%3A%20initial%3B%20break-inside%3A%20initial%3B%20buffered-rendering%3A%20initial%3B%20caption-side%3A%20initial%3B%20caret-color%3A%20initial%3B%20clear%3A%20initial%3B%20clip%3A%20initial%3B%20clip-path%3A%20initial%3B%20clip-rule%3A%20initial%3B%20color-interpolation%3A%20initial%3B%20color-interpolation-filters%3A%20initial%3B%20color-rendering%3A%20initial%3B%20color-scheme%3A%20initial%3B%20columns%3A%20initial%3B%20column-fill%3A%20initial%3B%20gap%3A%20initial%3B%20column-rule%3A%20initial%3B%20column-span%3A%20initial%3B%20contain%3A%20initial%3B%20contain-intrinsic-size%3A%20initial%3B%20content%3A%20initial%3B%20content-visibility%3A%20initial%3B%20counter-increment%3A%20initial%3B%20counter-reset%3A%20initial%3B%20counter-set%3A%20initial%3B%20cursor%3A%20initial%3B%20cx%3A%20initial%3B%20cy%3A%20initial%3B%20d%3A%20initial%3B%20display%3A%20block%3B%20dominant-baseline%3A%20initial%3B%20empty-cells%3A%20initial%3B%20fill%3A%20initial%3B%20fill-opacity%3A%20initial%3B%20fill-rule%3A%20initial%3B%20filter%3A%20initial%3B%20flex%3A%20initial%3B%20flex-flow%3A%20initial%3B%20float%3A%20initial%3B%20flood-color%3A%20initial%3B%20flood-opacity%3A%20initial%3B%20grid%3A%20initial%3B%20grid-area%3A%20initial%3B%20height%3A%200px%3B%20hyphens%3A%20initial%3B%20image-orientation%3A%20initial%3B%20image-rendering%3A%20initial%3B%20inline-size%3A%20initial%3B%20inset-block%3A%20initial%3B%20inset-inline%3A%20initial%3B%20isolation%3A%20initial%3B%20letter-spacing%3A%20initial%3B%20lighting-color%3A%20initial%3B%20line-break%3A%20initial%3B%20list-style%3A%20initial%3B%20margin-block%3A%20initial%3B%20margin%3A%20initial%3B%20margin-inline%3A%20initial%3B%20marker%3A%20initial%3B%20mask%3A%20initial%3B%20mask-type%3A%20initial%3B%20max-block-size%3A%20initial%3B%20max-height%3A%20initial%3B%20max-inline-size%3A%20initial%3B%20max-width%3A%20initial%3B%20min-block-size%3A%20initial%3B%20min-height%3A%20initial%3B%20min-inline-size%3A%20initial%3B%20min-width%3A%20initial%3B%20mix-blend-mode%3A%20initial%3B%20object-fit%3A%20initial%3B%20object-position%3A%20initial%3B%20offset%3A%20initial%3B%20opacity%3A%20initial%3B%20order%3A%20initial%3B%20origin-trial-test-property%3A%20initial%3B%20orphans%3A%20initial%3B%20outline%3A%20initial%3B%20outline-offset%3A%20initial%3B%20overflow-anchor%3A%20initial%3B%20overflow-wrap%3A%20initial%3B%20overflow%3A%20initial%3B%20overscroll-behavior-block%3A%20initial%3B%20overscroll-behavior-inline%3A%20initial%3B%20overscroll-behavior%3A%20initial%3B%20padding-block%3A%20initial%3B%20padding%3A%20initial%3B%20padding-inline%3A%20initial%3B%20page%3A%20initial%3B%20page-orientation%3A%20initial%3B%20paint-order%3A%20initial%3B%20perspective%3A%20initial%3B%20perspective-origin%3A%20initial%3B%20pointer-events%3A%20initial%3B%20position%3A%20initial%3B%20quotes%3A%20initial%3B%20r%3A%20initial%3B%20resize%3A%20initial%3B%20ruby-position%3A%20initial%3B%20rx%3A%20initial%3B%20ry%3A%20initial%3B%20scroll-behavior%3A%20initial%3B%20scroll-margin-block%3A%20initial%3B%20scroll-margin%3A%20initial%3B%20scroll-margin-inline%3A%20initial%3B%20scroll-padding-block%3A%20initial%3B%20scroll-padding%3A%20initial%3B%20scroll-padding-inline%3A%20initial%3B%20scroll-snap-align%3A%20initial%3B%20scroll-snap-stop%3A%20initial%3B%20scroll-snap-type%3A%20initial%3B%20shape-image-threshold%3A%20initial%3B%20shape-margin%3A%20initial%3B%20shape-outside%3A%20initial%3B%20shape-rendering%3A%20initial%3B%20size%3A%20initial%3B%20speak%3A%20initial%3B%20stop-color%3A%20initial%3B%20stop-opacity%3A%20initial%3B%20stroke%3A%20initial%3B%20stroke-dasharray%3A%20initial%3B%20stroke-dashoffset%3A%20initial%3B%20stroke-linecap%3A%20initial%3B%20stroke-linejoin%3A%20initial%3B%20stroke-miterlimit%3A%20initial%3B%20stroke-opacity%3A%20initial%3B%20stroke-width%3A%20initial%3B%20tab-size%3A%20initial%3B%20table-layout%3A%20initial%3B%20text-align%3A%20initial%3B%20text-align-last%3A%20initial%3B%20text-anchor%3A%20initial%3B%20text-combine-upright%3A%20initial%3B%20text-decoration%3A%20initial%3B%20text-decoration-skip-ink%3A%20initial%3B%20text-indent%3A%20initial%3B%20text-overflow%3A%20initial%3B%20text-shadow%3A%20initial%3B%20text-size-adjust%3A%20initial%3B%20text-transform%3A%20initial%3B%20text-underline-offset%3A%20initial%3B%20text-underline-position%3A%20initial%3B%20touch-action%3A%20initial%3B%20transform%3A%20initial%3B%20transform-box%3A%20initial%3B%20transform-origin%3A%20initial%3B%20transform-style%3A%20initial%3B%20transition%3A%20initial%3B%20user-select%3A%20initial%3B%20vector-effect%3A%20initial%3B%20vertical-align%3A%20initial%3B%20visibility%3A%20initial%3B%20-webkit-app-region%3A%20initial%3B%20border-spacing%3A%20initial%3B%20-webkit-border-image%3A%20initial%3B%20-webkit-box-align%3A%20initial%3B%20-webkit-box-decoration-break%3A%20initial%3B%20-webkit-box-direction%3A%20initial%3B%20-webkit-box-flex%3A%20initial%3B%20-webkit-box-ordinal-group%3A%20initial%3B%20-webkit-box-orient%3A%20initial%3B%20-webkit-box-pack%3A%20initial%3B%20-webkit-box-reflect%3A%20initial%3B%20-webkit-highlight%3A%20initial%3B%20-webkit-hyphenate-character%3A%20initial%3B%20-webkit-line-break%3A%20initial%3B%20-webkit-line-clamp%3A%20initial%3B%20-webkit-mask-box-image%3A%20initial%3B%20-webkit-mask%3A%20initial%3B%20-webkit-mask-composite%3A%20initial%3B%20-webkit-perspective-origin-x%3A%20initial%3B%20-webkit-perspective-origin-y%3A%20initial%3B%20-webkit-print-color-adjust%3A%20initial%3B%20-webkit-rtl-ordering%3A%20initial%3B%20-webkit-ruby-position%3A%20initial%3B%20-webkit-tap-highlight-color%3A%20initial%3B%20-webkit-text-combine%3A%20initial%3B%20-webkit-text-decorations-in-effect%3A%20initial%3B%20-webkit-text-emphasis%3A%20initial%3B%20-webkit-text-emphasis-position%3A%20initial%3B%20-webkit-text-fill-color%3A%20initial%3B%20-webkit-text-security%3A%20initial%3B%20-webkit-text-stroke%3A%20initial%3B%20-webkit-transform-origin-x%3A%20initial%3B%20-webkit-transform-origin-y%3A%20initial%3B%20-webkit-transform-origin-z%3A%20initial%3B%20-webkit-user-drag%3A%20initial%3B%20-webkit-user-modify%3A%20initial%3B%20white-space%3A%20initial%3B%20widows%3A%20initial%3B%20width%3A%20initial%3B%20will-change%3A%20initial%3B%20word-break%3A%20initial%3B%20word-spacing%3A%20initial%3B%20x%3A%20initial%3B%20y%3A%20initial%3B%20z-index%3A%20initial%3B%22%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2215447%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2215447%22%20slang%3D%22en-US%22%3E%3CP%3EThank%20you%20for%20the%20post.%20In%20your%20response%20to%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F952360%22%20target%3D%22_blank%22%3E%40MinhDNguyen%3C%2FA%3E%20I%20understand%20your%20perspective%20but%20there%20are%20still%20issues%20with%20that%20approach.%20There%20are%20valuable%20insights%20that%20we%20lose%20when%20we%20don't%20maintain%20lineage%20between%20main%20and%20our%20releases%2C%20like%20user%20story%2Ftask%2Fbug%20tracking.%20Right%20now%2C%20this%20is%20proving%20to%20be%20challenging%2C%20because%20when%20I%20link%20and%20track%20changes%20with%20my%20release%20pipeline%2C%20I%20lose%20all%20insight%20on%20the%20release%2C%20but%20I%20can%20track%20those%20changes%20for%20my%20database%20project%20for%20the%20Synapse%20dedicated%20SQL%20Pool%2C%20maintained%20in%20a%20separate%20repo%20with%20independent%20build%20and%20releases.%20My%20concern%20is%20that%20for%20larger%20teams%20where%20we%20have%20policy%20protected%20branches%2C%20we%20lose%20the%20ability%20to%20merge%20these%20changes%20back%20into%20main%20with%20the%20manual%20publish%2C%20to%20do%20this%20we%20would%20need%20an%20additional%20pull%20request.%20The%20Azure%20Data%20Factory%20team%20has%20a%20much%20better%20approach%20to%20this%20issue.%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdata-factory%2Fcontinuous-integration-deployment-improvements%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EAutomated%20publishing%20for%20continuous%20integration%20and%20delivery%20-%20Azure%20Data%20Factory%20%7C%20Microsoft%20Docs%3C%2FA%3E%26nbsp%3BI%20think%20the%20biggest%20advantage%20to%20an%20approach%20where%20we%20leverage%20a%20more%20traditional%20build%20pipeline%20is%20that%20it%20empowers%20the%20engineering%20team%20to%20leverage%20the%20most%20appropriate%20branching%20strategy%20for%20their%20teams%20and%20is%20more%20suitable%20for%20managing%20hotfixes%20without%20a%20ton%20of%20manual%20work%20to%20deploy%20changes.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2264332%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2264332%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20Brad%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIn%20this%20example%20we%20can%20see%20that%20the%20provisioned%20SQL%20pools%20databases%20are%20populated%20in%20the%20new%20workspace.%20How%20about%20the%20SQL%20on%20demand%20databases%3F%20Are%20they%20propagated%20from%20the%20source%20workspace%20too%3F%20In%20my%20experience%2C%20they%20are%20not.%20I%20do%20hope%20that%20I%20am%20missing%20something%20on%20this%20because%20I%20need%20the%20SQL%20on%20demand%20databases%20%3CIMG%20class%3D%22lia-deferred-image%20lia-image-emoji%22%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fhtml%2F%402F5B53C90739358292524B2CDF7F85DA%2Fimages%2Femoticons%2Fcry_40x40.gif%22%20alt%3D%22%3Acry%3A%22%20title%3D%22%3Acry%3A%22%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2323706%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2323706%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20Brad%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20have%20successfully%20implemented%20the%20CI%2FCD%20as%20described%20in%20this%20blog%20and%20it%20is%20working%20great.%20However%2C%20we%20have%20noticed%20that%20deleting%20objects%20in%20the%20Synapse%20workspace%2C%20like%20a%20trigger%20or%20SQL%20script%2C%20are%20not%20deleted%20in%20further%20environments%20when%20running%20the%20release%20pipeline.%20The%20TemplateForWorkspace.json%20file%20that%20is%20built%20does%20not%20contain%20the%20deleted%20objects.%20Is%20there%20a%20trick%20to%20delete%20objects%20in%20a%20Synapse%20workspace%20and%20have%20those%20objects%20deleted%20from%20the%20further%20environments%3F%20Just%20wondering%20what%20method%20can%20be%20used%20to%20handle%20the%20deletions.%20Thanks.%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EEric%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326752%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326752%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F976321%22%20target%3D%22_blank%22%3E%40swordSDC%3C%2FA%3E%26nbsp%3Bthis%20is%20fixed%20in%20the%20latest%20version%20of%20the%20Azure%20DevOps%20Synapse%20Deployment%20task%20for%20workspace.%26nbsp%3B%20Make%20sure%20you%20are%20using%20version%201%20and%20not%20version%200%20the%20default%20in%20this%20blog.%26nbsp%3B%20I%20will%20be%20posting%20a%20follow%20up%20on%20this%20soon!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326754%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326754%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1008795%22%20target%3D%22_blank%22%3E%40eleicht%3C%2FA%3E%26nbsp%3Byou%20are%20correct%2C%20working%20on%20a%20blog%20for%20this%20as%20well%20(YOU%20ALL%20ASK%20GREAT%20QUESTIONS!!!).%26nbsp%3B%20The%20Synapse%20Deployment%20task%20for%20workspace%20does%20not%20delete%20objects%20from%20a%20QA%20or%20Production%20environment%20if%20you%20delete%20them%20in%20development.%26nbsp%3B%20For%20this%20you%20must%20use%20a%20PowerShell%20command%20to%20remove%20the%20pipelines%2C%20notebooks%2C%20or%20SQL%20Scripts%20you've%20created%20and%20deleted%20in%20Dev.%26nbsp%3B%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2348292%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2348292%22%20slang%3D%22en-US%22%3E%3CP%3EGreat%20article%20bradley%26nbsp%3B%20%2C%20the%20effort%20you%20put%20into%20this%20will%20save%20a%20lot%20of%20sleepless%20nights%20for%20others%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2371693%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2371693%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F952360%22%20target%3D%22_blank%22%3E%40MinhDNguyen%3C%2FA%3E%26nbsp%3Bthe%20SQL%20Serverless%20DB%20does%20not%20get%20created%20as%20part%20of%20the%20pipeline%20(from%20our%20testing).%20So%20we%20have%20gone%20down%20the%20PowerShell%20route%20as%20part%20of%20the%20release%20pipeline%20that%20creates%20the%20databases%2C%20keys%2C%20schemas%2C%20procs%2C%20permissions%20etc.%20If%20anyone%20has%20found%20a%20better%20method%20please%20do%20shout!%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2396041%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2396041%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1008795%22%20target%3D%22_blank%22%3E%40eleicht%3C%2FA%3E%26nbsp%3BI%20logged%20a%20support%20call%20with%20MSFT%20about%20deleted%20artefacts%20from%20DEV%20hanging%20around%20in%20QA%2FPROD%20as%20I%20had%20no%20idea%20how%20to%20approach%20this%20with%20PowerShell%20and%20they%20sent%20me%20a%20screenshot%20of%20a%20checkbox%20(that%20I%20had%20no%20idea%20was%20there%2C%20maybe%20it's%20new%3F!)%20Give%20it%20a%20try%2C%20it%20has%20worked%20for%20me!%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22KeyBee_0-1622212556278.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F284621i791BB49E5A4E31E1%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22KeyBee_0-1622212556278.png%22%20alt%3D%22KeyBee_0-1622212556278.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2521371%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2521371%22%20slang%3D%22en-US%22%3E%3CP%3EGreat%20series%20of%20articles%20Brad%2C%20I%20am%20stuck%20on%20some%20permission%20issue%20though%20when%20running%20the%20deployment%20in%20ADO.%26nbsp%3B%20I%20get%20the%20error%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3EGetting%26nbsp%3BArtifacts%26nbsp%3Bfrom%26nbsp%3Bworkspace%3A%26nbsp%3B%3CTARGET%20workspace%3D%22%22%20name%3D%22%22%3E.%3C%2FTARGET%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EFailed%26nbsp%3Bto%26nbsp%3Bfetch%26nbsp%3Bworkspace%26nbsp%3Binfo%2C%26nbsp%3Bstatus%3A%26nbsp%3B403%3B%26nbsp%3Bstatus%26nbsp%3Bmessage%3A%26nbsp%3BForbidden%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EError%26nbsp%3Bduring%26nbsp%3Bexecution%3A%26nbsp%3BFailed%26nbsp%3Bto%26nbsp%3Bfetch%26nbsp%3Bworkspace%26nbsp%3Binfo%26nbsp%3BForbidden%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ENow%20I%20figure%20it%20is%20because%20the%20Service%20Account%20we%20use%20in%20ADO%20doesn't%20have%20access%20to%20the%20target%20workspace%2C%20so%20I%20added%20them%20as%20Synapse%20Administrator%2C%20however%20I%20still%20get%20the%20error.%26nbsp%3B%20In%20your%20previous%20post%20you%20said%20%22%3CEM%3E*a%20quick%20side%20note%2C%20make%20sure%20the%20AAD%20account%20you%20are%20using%20to%20connect%20to%20Azure%20DevOps%20is%20the%20same%20account%20that%20has%20permissions%20to%20your%20Azure%20Synapse%20Studio%20workspace.%3C%2FEM%3E%22%2C%20which%20I%20am%20sure%20I%20have%20done%20(basically%20I%20have%20given%20everyone%20Synapse%20Administrator%20and%20I%20still%20get%20the%20issue!).%26nbsp%3B%20Are%20we%20supposed%20to%20also%20set%20something%20else%20up%20in%20the%20Synapse%20IAM%20roles%3F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3EEdit%3A%20Don't%20worry%20about%20this%20-%20there%20were%20about%2020%20service%20principals%20with%20the%20same%20name%2C%20I%20added%20them%20all%20as%20Synapse%20Administrators%20and%20I%20was%20successful%20at%20pushing%20through%20changes.%20Leaving%20this%20here%20in%20case%20it%20helps%20others.%3C%2FSTRONG%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2537974%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2537974%22%20slang%3D%22en-US%22%3E%3CP%3EI%20get%20below%20error%20after%20following%20these%20steps%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22line-area%20flex-center%20flex-row%20flex-grow%20justify-start%20highlight%22%3E%3CSPAN%20class%3D%22content%22%3E%3CSPAN%20class%3D%22pl-error%22%3E%3CSPAN%3E%22Encountered%20with%20exception%3AError%3A%20Failed%20to%20parse%20package%3A%20TypeError%3A%20Cannot%20read%20property%20'startsWith'%20of%20undefined%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2572235%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2572235%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20Brad%2C%20thanks%20for%20this%20series%2C%20it%20has%20helped%20a%20lot!%26nbsp%3B%3C%2FP%3E%3CP%3EI'm%20having%20a%20problem%20with%20the%20Synapse%20deployment%20task%20in%20the%20release%20pipeline.%26nbsp%3B%20I'm%20getting%20a%20404%20for%20workspace%20not%20found.%26nbsp%3B%20I've%20followed%20all%20the%20steps%2C%20including%20the%20pre-requisites%20but%20I%20can't%20figure%20this%20one%20out.%26nbsp%3B%20The%20workspace%20does%20exist%20(running%26nbsp%3Baz%20synapse%20workspace%20show%20in%20the%20pipeline%20works).%26nbsp%3B%20Any%20thoughts%3F%26nbsp%3B%20Thanks%20for%20any%20help%20you%20can%20give.%3C%2FP%3E%3CP%3ELog%20snippet%3A%3C%2FP%3E%3CP%3E2021-07-21T16%3A36%3A06.0662405Z%20Workspace%20info%20url%3A%20%3CA%20href%3D%22https%3A%2F%2Fmanagement.azure.com***%2Fproviders%2FMicrosoft.Synapse%2Fworkspaces%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fmanagement.azure.com***%2Fproviders%2FMicrosoft.Synapse%2Fworkspaces%2F%3C%2FA%3E%3CWORKSPACE-NAME%3E%3Fapi-version%3D2019-06-01-preview%3CBR%20%2F%3E2021-07-21T16%3A36%3A06.0704131Z%20%23%23%5Bdebug%5D%5BPOST%5D%3CA%20href%3D%22https%3A%2F%2Flogin.windows.net%2F***%2Foauth2%2Ftoken%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Flogin.windows.net%2F***%2Foauth2%2Ftoken%2F%3C%2FA%3E%3CBR%20%2F%3E2021-07-21T16%3A36%3A06.5016969Z%20Failed%20to%20fetch%20workspace%20info%2C%20status%3A%20404%3B%20status%20message%3A%20Not%20Found%3CBR%20%2F%3E2021-07-21T16%3A36%3A06.5072255Z%20Error%20during%20execution%3A%20Error%3A%20Get%20workspace%20location%20error%3A%20Failed%20to%20fetch%20workspace%20info%20Not%20Found%3CBR%20%2F%3E2021-07-21T16%3A36%3A06.5074281Z%20%23%23%5Bdebug%5Dtask%20result%3A%20Failed%3CBR%20%2F%3E2021-07-21T16%3A36%3A06.5161943Z%20%23%23%5Berror%5DEncountered%20with%20exception%3AError%3A%20Get%20workspace%20location%20error%3A%20Failed%20to%20fetch%20workspace%20info%20Not%20Found%3C%2FWORKSPACE-NAME%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2593514%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2593514%22%20slang%3D%22en-US%22%3E%3CP%3EHey%20Brad%26nbsp%3B-%20I%20have%20also%20created%20a%20process%20for%20doing%20CD%20for%20SQL%20scripts%2C%20releasing%20these%20to%20higher%20environments%20via%20an%20Azure%20Powershell%20script.%26nbsp%3B%20This%20enables%20me%20to%20do%20continuous%20deployment%20on%20SQL%20Scripts%20stored%20in%20the%20Develop%20part%20of%20Synapse%20Studio%20with%20releases%20happening%20automatically%20when%20the%20%22Publish%22%20button%20is%20hit.%20It's%20a%20little%20fragile%2C%20but%20can%20easily%20be%20adapted%20to%20specific%20circumstances.%26nbsp%3B%20When%20you%20say%20%22%3CSPAN%3E*More%20to%20come%20on%20database%20migrations%2C%20a%20database%20project%20build%2C%20and%20release%20is%20still%20needed.%22%20-%20this%20isn't%20currently%20possible%20as%20Visual%20Studio%202019%20doesn't%20support%20Synapse%20Serverless%20pools%20yet%2C%20%3CA%20href%3D%22https%3A%2F%2Fdevelopercommunity.visualstudio.com%2Ft%2Fssdt-doesnt-support-openrowset-provider-syntax%2F1470331%3Ffrom%3Demail%26amp%3Bviewtype%3Dall%23T-ND1485607%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%22%3Ebut%20they%20are%20working%20on%20it%3C%2FA%3E.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EFor%20us%2C%20we%20have%20Cosmos%20databases%20storing%20event%20streams%20in%20Dev%2FQA%2FProd.%26nbsp%3B%20We%20develop%20views%20over%20the%20Cosmos%20data%20and%20store%20these%20views%20as%20SQL%20Scripts%20executed%20against%20the%20Dev%20instance.%26nbsp%3B%20To%20release%20to%20the%20QA%2FPROD%20environment%20we%3A%3C%2FP%3E%3COL%3E%3CLI%3ECreate%20scripts%20in%20Dev%20Synapse%20Studio%20and%20commit%2Fpublish%3C%2FLI%3E%3CLI%3EOn%20publish%2C%20run%20an%20ADO%20build%20then%20release%20pipeline%3C%2FLI%3E%3CLI%3ERun%20the%20Synapse%20release%20process%20as%20you%20describe%3C%2FLI%3E%3CLI%3ERun%20a%20Powershell%20script%20which%3A%3COL%3E%3CLI%3EExtracts%20the%20SQL%20Scripts%20from%20our%20Repo%3C%2FLI%3E%3CLI%3EMakes%20modifications%20to%20the%20SQL%20Scripts%20depending%20on%20the%20environment%3C%2FLI%3E%3CLI%3EExecutes%20the%20SQL%20Scripts%20on%20the%20target%20environments%20serverless%20SQL%20DB%3C%2FLI%3E%3C%2FOL%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Brent_Leslie_0-1627441767452.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F298858iE2A84D0BE6C436B3%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Brent_Leslie_0-1627441767452.png%22%20alt%3D%22Brent_Leslie_0-1627441767452.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThere%20are%20a%20few%20special%20things%20I%20picked%20up%20with%20running%20Powershell%20scripts%20along%20the%20way%2C%20including%20having%20to%20escape%20key%20powershell%20characters%20(like%20%22%24%22)%20with%20%22%60%22%20and%20special%20cases%20where%20you%20need%20to%20use%20double%20quotes%20and%20escape%20single%20quotes.%26nbsp%3B%20But%20as%20a%20result%20we%20can%20run%20full%20CD%20processes%20for%20Synapse.%26nbsp%3B%20If%20anyone%20wants%20the%20script%2C%20I%20am%20happy%20to%20share.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2603213%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2603213%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EGreat%20blog%20on%20CI%2FCD%20for%20most%20of%20Synapse%20Workspace%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAnd%20what%20about%20Synapse%20Dedicated%20DB%20Pool%3F%20What've%20tried%20with%20VS%202019%20and%20database%20projects%2C%20does%20not%20yet%20support%20it%20%3A(%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EDo%20you%20have%20any%20tips%20or%20insights%20about%20it%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2653960%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2653960%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1119152%22%20target%3D%22_blank%22%3E%40pacorreia%3C%2FA%3E%26nbsp%3Byou%20can%20create%20dedicated%20sql%20pool%20using%20powershell%20cmdlet%20-%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowershell%2Fmodule%2Faz.synapse%2Fnew-azsynapsesqlpool%3Fview%3Dazps-6.3.0%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ENew-AzSynapseSqlPool%20(Az.Synapse)%20%7C%20Microsoft%20Docs%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EOnce%20you%20create%20the%20sql%20pool%2C%20you%20can%20use%20VS%202019%20SSDT%20database%20project%20to%20develop%20objects%20for%20SQL%20pool.%20Do%20change%20the%20target%20platform%20of%20the%20SSDT%20project%20to%20%22Azure%20SQL%20Data%20Warehouse%22%20to%20support%20dedicated%20pool.%20There%20is%20no%20support%20to%20Serverless%20pool%20though%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2769941%22%20slang%3D%22en-US%22%3ERe%3A%20CI%20CD%20in%20Azure%20Synapse%20Analytics%20Part%204%20-%20The%20Release%20Pipeline%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2769941%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20Bradley%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%20for%20the%20post.%20I%20have%20followed%20the%20same%20steps%2C%20I%20am%20not%20facing%20any%20error.%20Release%20pipeline%20executes%20succefully%20but%20I%20am%20not%20able%20to%20see%20any%20scripts%20in%20destination%20workspace.%26nbsp%3B%3CBR%20%2F%3EI%20have%20a%20question%20here%20when%20i%20create%20a%20synapse%20deployment%20task-%20%26gt%3B%20Synapse%20Workspace%20connection%20type-%26gt%3B%20should%20i%20use%20the%20Subscription%20that%20is%20showing%20in%20azure%20portal%20or%20should%20i%20use%20the%20service%20connection%20of%20Devops%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%20and%20Regards%2C%3C%2FP%3E%3CP%3EShashwathi%3C%2FP%3E%3C%2FLINGO-BODY%3E
Version history
Last update:
‎Jan 31 2021 09:56 PM