{"id":25545228,"url":"https://github.com/kevchant/azuredevops-synapseserverlesssqlpool","last_synced_at":"2026-02-09T04:30:17.284Z","repository":{"id":63784519,"uuid":"421521518","full_name":"kevchant/AzureDevOps-SynapseServerlessSQLPool","owner":"kevchant","description":"Template to perform CI/CD for Azure Synapse serverless SQL Pools using Azure DevOps","archived":false,"fork":false,"pushed_at":"2024-09-03T10:03:04.000Z","size":34,"stargazers_count":29,"open_issues_count":0,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-01T19:35:40.326Z","etag":null,"topics":["azure-synapse","azuredevops"],"latest_commit_sha":null,"homepage":"","language":"TSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevchant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-10-26T17:28:13.000Z","updated_at":"2024-09-30T19:36:00.000Z","dependencies_parsed_at":"2022-11-25T23:15:42.613Z","dependency_job_id":null,"html_url":"https://github.com/kevchant/AzureDevOps-SynapseServerlessSQLPool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevchant%2FAzureDevOps-SynapseServerlessSQLPool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevchant%2FAzureDevOps-SynapseServerlessSQLPool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevchant%2FAzureDevOps-SynapseServerlessSQLPool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevchant%2FAzureDevOps-SynapseServerlessSQLPool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevchant","download_url":"https://codeload.github.com/kevchant/AzureDevOps-SynapseServerlessSQLPool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239800429,"owners_count":19699129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-synapse","azuredevops"],"created_at":"2025-02-20T08:18:28.624Z","updated_at":"2026-02-09T04:30:17.185Z","avatar_url":"https://github.com/kevchant.png","language":"TSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure Synapse Serverless SQL Pool Database Project\r\n\r\nExample of a Migration-Based deployment that deploys to an Azure Synapse serverless SQL Pool using Azure DevOps. Based on a blog post I wrote called '[CI/CD for serverless SQL pools using Azure DevOps](https://bit.ly/3FWCHQl)'.\r\n\r\nYou can see this template in action in the [video for the November 2022 edition of the Azure Synapse Analytics and MVP series](https://www.youtube.com/watch?v=87gNrueVRFU). Click on the link to view.\r\n\r\n**Please note:** This solution was devised before dacpac support for serverless SQL Pools became available. You can find a template to perform CI/CD based on creating a dacpac from a database project in my '[AzureDevOps-SynpaseServerlessSQLPool-dacpac repository](https://github.com/kevchant/AzureDevOps-SynpaseServerlessSQLPool-dacpac)'\r\n\r\nA brief overview is below. However, there is also a [wiki for this repository](https://github.com/kevchant/AzureDevOps-SynapseServerlessSQLPool/wiki).\r\n\r\nIt contains an example YAML file that you can use as a YAML pipeline in Azure Pipelines. You can find it in the AzureDevOpsTemplates folder. In order to use it in Azure Pipelines you can either import or fork this repository into another GitHub repository, or into [Azure Repos](https://bit.ly/3s4uO77).\r\n\r\nAfterwards, you can select the YAML file in Azure Pipelines and tailor the pipeline to suit your needs. You can find a guide on how to select the YAML file whilst setting up a YAML Pipeline this in a blog post I wrote called '[Connect a Database Project in Azure Repos to Azure Pipelines](https://bit.ly/3uF1Iv9)'.\r\n\r\nYou can find the recommended variables inside the YAML file. Avoid putting sensitive information directly into the YAML file (like your connection details). One thing I must stress here is that the password MUST be wrapped in single quotes in the secret for it to work.\r\n\r\nYou can use the logic in 'Classic Editor' instead by adding the tasks into the GUI and transferring the logic over. Alternatively, you can build an artifact for it using the 'Classic Editor' and use the 'Releases' feature for deployments. Personally, I prefer doing the deployment using a YAML pipeline.\r\n\r\nPlease note that the databases must already exist in the serverless SQL Pool for this to work. \r\n\r\nIn addition, you might want to create a file in Azure Data Lake storage that contains the headings used for the SchemaVersions table (https://dbup.readthedocs.io/en/latest/more-info/journaling/). From there, you can try using it as the SchemaVersions table in the code to log updates.\r\n\r\nThis repository is provided \"as is\" based on the [MIT license](https://opensource.org/licenses/MIT). Basically, I am not responsible for your use of it.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevchant%2Fazuredevops-synapseserverlesssqlpool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevchant%2Fazuredevops-synapseserverlesssqlpool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevchant%2Fazuredevops-synapseserverlesssqlpool/lists"}