Pinned Posts
Forum Widgets
Latest Discussions
Resoure Graph Explorer
I’m looking to retrieve a list of Azure resources that were created within the last 24 hours. However, it appears that Azure does not consistently expose the timeCreated property across all resource types, which makes direct filtering challenging. Request for Clarification/Support: Could you please confirm if there’s a reliable way to filter resources based on their creation time — for example, resources created in the last N days or within the last 6 hours? If timeCreated is not uniformly available, what’s the recommended approach (e.g., using Resource Graph, Activity Logs, or any other reliable method) to achieve this?23Views0likes0CommentsAzure Devops YAML pipeline - multiple projects in single solution
Build server is trying to handle a solution that has 8 different projects. The build server has a YAML step that looks like this: # MSBuild step using Visual Studio - task: VSBuild@1 displayName: Build Solution $(Solution) inputs: clean: true solution: $(Solution) msbuildArgs: '/p:DeployOnBuild=True /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:SkipInvalidConfigurations=true /p:publishUrl=$(Build.BinariesDirectory) /p:SelfContained=True' platform: $(BuildPlatform) configuration: $(BuildConfiguration) I need the output on the build agent to be \b \project1 \project2 \project3 \etc. What I get is a single folder with a single project. My guess is the build is clobbering all the previous ones. DotNetCoreCLI@2 has a flag 'modifyOutputPath' which will Add project's folder name to publish path. Default: true. Trying to find something similiar for @VSBuild@1.BDuffeyJun 17, 2025Copper Contributor3.7KViews0likes1CommentFetch the queue size of ADO agents
Hello, I am trying to build auto-scaling solution to scale private ADO agent pool based on the queue size. I see following message when the pool is full The agent request is not running because all potential agents are running other requests. Current position in queue: 1 I would like the queue position value using ADO API and use it as metric to scale up/down the pool instances. Could you please help. Thanks, Raghav.raghavbijjulaJun 17, 2025Copper Contributor585Views0likes1CommentContinous deployment to Azure container registry is very very slow
How have other people solved this problem? We have a solution with 10 or so projects, each which publishes a container to our Azure container registry It takes around 15 minutes to build and publish each project, most of the time is spent pulling container images and uploading them to Azure container registry This is awful, and a real step backwards from our previous process.catmanjan2010Jun 16, 2025Copper Contributor943Views1like2CommentsActivate text entry box not accepting text
I have been experiencing this issue for a few weeks now and assumed it was just me. But I asked several co-workers and they are all experiencing the same issue. When attempting to active a PIM role in Azure, the text entry box for adding the reason you're activating the role will flash and change the outline to blue, indicating it is now ready to accept text entry. However, it will not allow typing in text. If you click inside the box several times, you might be offered the option to auto-fill a previously used entry (but not always). In order to actually type in the reason, I have to first click on "Roles" in the activation window, then click "Activate" again to get back to the text box. It will then accept text entry and allow completion of role assignment. It's not a huge problem, but it adds steps and time to role assignment, which isn't ideal since roles are usually being grabbed to take care of an apparent emergency. (I have a great short video showing exactly what I'm talking about, but the media insertion option would not allow adding it here.)AdamVanD6Jun 16, 2025Copper Contributor64Views5likes1CommentEnable Read Only access to ADO Boards Functionality
Hello Everyone, One of my customers has over 100 projects in their organization, and they haven’t followed any standardization in terms of setting user permissions or branch policies at each project level. They want to know if there is a way to disable write access to Azure DevOps (ADO) boards functionality (boards, dashboard, work items, iterations, etc.) per project. They would like to enable read-only access to ADO boards functionality, while ensuring that test plans, repository, and build pipelines remain functional in that project. They would also like to be able to easily reverse to previous permissions.896Views1like1CommentAdvantages of installing a newer build agent?
We have an on-prem Azure DevOps server (2020 update 1.2). All our builds use the "default" agent (v2.181.2) created when DevOps was installed. I'm aware that it is possible to download and install agents from here: https://github.com/microsoft/azure-pipelines-agent/releases, but what are the reasons for doing so? Are they merely to provide bug fixes and performance improvements, rather than (say) new build tasks or build task features (which I assume are part and parcel of DevOps itself, and have nothing to do with agents)? One of the reasons I ask is that last year I tried installing a new agent (v2.210.1), and builds had been working fine. However we recently started seeing our builds taking a long time, and in the agent log found that the agent was repeatedly attempting to downgrade to v2.181.2. Why was this? Is something limiting which version we can use, e.g. the version of DevOps itself, or a particular task in the build definition? (The build did continue to work when I reconfigured it to use the default agent, v2.181.2, which is coincidentally what the newer agent was trying to downgrade to). I assume I would get similar issues if I was to create an agent using the latest version (currently v3.227.2)? Like I say, curious to know why I would want to install a newer agent in the first place.andyste1Jun 15, 2025Copper Contributor946Views0likes1CommentTrouble retrieving Authorization Code using Oauth2 in Azure devops
I'm trying use OAuth2 autentication method as microsoft learn expose in this url https://learn.microsoft.com/en-us/azure/devops/integrate/get-started/authentication/azure-devops-oauth?view=azure-devops I attach a postman collection with params of registered app. I notice that response of token endpoint https://app.vssps.visualstudio.com/oauth2/token I need get authorization code from endpoint https://app.vssps.visualstudio.com/oauth2/authorize ,when I send the POST request login page appear, write MFA code and then when it suppossed to get the code a 404 alert screen shown below. These are registered app parameters Attach client_id (application id on page) as client_id header, scope vso.build_execute,state foo and response_type Assertion as documentation mentioned, on oauth protocol official page of o headers labels differ of documentation, as example grant_type must be authorization_code not urn:ietf:params:oauth:grant-type:jwt-bearer (request accept this type) if I change it get the next response: {"Error":"unsupported_grant_type","ErrorDescription":"grant_type must be the ietf jwt-bearer type, refresh_token, or client_credentials"} Why https://app.vssps.visualstudio.com/oauth2/token does not support authorization-code grant type when protocol says it is mandatory?? https://www.oauth.com/oauth2-servers/access-tokens/authorization-code-request/ Anyway main trouble is about retrieve authorization code from https://app.vssps.visualstudio.com/oauth2/authorize?client_id=a7f5fffb-9645-4e14-8b16-7fb1cf37017d&response_type=Assertion&state=foo&scope=vso.build_execute Attach postman collection on this post { "info": { "_postman_id": "0c50a913-7913-4ad0-b180-dc89638dd530", "name": "AZURE", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "21601577" }, "item": [ { "name": "RUN PIPELINE USING OAUTH", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "auth": { "type": "oauth2", "oauth2": [ { "key": "client_authentication", "value": "header", "type": "string" }, { "key": "useBrowser", "value": true, "type": "boolean" }, { "key": "authRequestParams", "value": [ { "key": "response_type", "value": "Assertion", "enabled": true, "send_as": "request_url" }, { "key": "state", "value": "state", "enabled": true, "send_as": "request_url" }, { "key": "scope", "value": "vso.build_execute", "enabled": true, "send_as": "request_url" }, { "key": "client_id", "value": "A7F5FFFB-9645-4E14-8B16-7FB1CF37017D", "enabled": true, "send_as": "request_url" }, { "key": "redirect_url", "value": "https://dev.azure.com/jose-carlosnavarro/TESTING/_apis/pipelines/1/runs?api-version=7.1-preview.1", "enabled": false, "send_as": "request_url" }, { "key": "client_secret", "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJhN2Y1ZmZmYi05NjQ1LTRlMTQtOGIxNi03ZmIxY2YzNzAxN2QiLCJjc2kiOiIwODlhMWIxMy0xYzk4LTRlNjAtYTAwZi02NjI5ZTAwM2UyYmUiLCJuYW1laWQiOiI0YmVlYTYxMS04YWJlLTRhMTctOGRhMC1hMmJkNTQwOTVhNDYiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTY5OTM2MjY0MSwiZXhwIjoxODU3MjE1NDQxfQ.1hZ3_j1B4maKfz_Hrwuds95P41uWR96GimYN-PEYFAM40LqeEtNop2PhQqTf6nDL8CZfeITGmqipsYYfL98jk61z_9jcGBkHLWu-6VpKNwPd8c7uqEIHHQeQvOocRijHtQnlHGLETSy5IzRs6csDWnvrjpZNAU4TrALecWVMiocHZF6wqYsyReRzvPNpynoSFQQoOlrPdDVqRjsL05nmnE2BIwlDPuKWK9kuzFBGuaAQ0fiykA57SWpcpyyPxVbMhBqEo-NvHPTqh2heQbSvsuBuVKzeLjNVuaFpcyb-R6TweGzS5dU1cHcRWnqWRxcPLPr1EpeEkRseOtg9q1EWjw", "enabled": true, "send_as": "request_url" } ], "type": "any" }, { "key": "tokenRequestParams", "value": [ { "key": "client_assertion_type", "value": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer", "enabled": true, "send_as": "request_header" }, { "key": "client_secret", "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJhN2Y1ZmZmYi05NjQ1LTRlMTQtOGIxNi03ZmIxY2YzNzAxN2QiLCJjc2kiOiIwODlhMWIxMy0xYzk4LTRlNjAtYTAwZi02NjI5ZTAwM2UyYmUiLCJuYW1laWQiOiI0YmVlYTYxMS04YWJlLTRhMTctOGRhMC1hMmJkNTQwOTVhNDYiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTY5OTM2MjY0MSwiZXhwIjoxODU3MjE1NDQxfQ.1hZ3_j1B4maKfz_Hrwuds95P41uWR96GimYN-PEYFAM40LqeEtNop2PhQqTf6nDL8CZfeITGmqipsYYfL98jk61z_9jcGBkHLWu-6VpKNwPd8c7uqEIHHQeQvOocRijHtQnlHGLETSy5IzRs6csDWnvrjpZNAU4TrALecWVMiocHZF6wqYsyReRzvPNpynoSFQQoOlrPdDVqRjsL05nmnE2BIwlDPuKWK9kuzFBGuaAQ0fiykA57SWpcpyyPxVbMhBqEo-NvHPTqh2heQbSvsuBuVKzeLjNVuaFpcyb-R6TweGzS5dU1cHcRWnqWRxcPLPr1EpeEkRseOtg9q1EWjw", "enabled": true, "send_as": "request_header" }, { "key": "grant_type", "value": "client_credentials", "enabled": true, "send_as": "request_header" }, { "key": "assertion", "value": "code", "enabled": false, "send_as": "request_header" }, { "key": "client_id", "value": "a7f5fffb-9645-4e14-8b16-7fb1cf37017d", "enabled": true, "send_as": "request_body" }, { "key": "client_assertion", "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJhN2Y1ZmZmYi05NjQ1LTRlMTQtOGIxNi03ZmIxY2YzNzAxN2QiLCJjc2kiOiIwODlhMWIxMy0xYzk4LTRlNjAtYTAwZi02NjI5ZTAwM2UyYmUiLCJuYW1laWQiOiI0YmVlYTYxMS04YWJlLTRhMTctOGRhMC1hMmJkNTQwOTVhNDYiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTY5OTM2MjY0MSwiZXhwIjoxODU3MjE1NDQxfQ.1hZ3_j1B4maKfz_Hrwuds95P41uWR96GimYN-PEYFAM40LqeEtNop2PhQqTf6nDL8CZfeITGmqipsYYfL98jk61z_9jcGBkHLWu-6VpKNwPd8c7uqEIHHQeQvOocRijHtQnlHGLETSy5IzRs6csDWnvrjpZNAU4TrALecWVMiocHZF6wqYsyReRzvPNpynoSFQQoOlrPdDVqRjsL05nmnE2BIwlDPuKWK9kuzFBGuaAQ0fiykA57SWpcpyyPxVbMhBqEo-NvHPTqh2heQbSvsuBuVKzeLjNVuaFpcyb-R6TweGzS5dU1cHcRWnqWRxcPLPr1EpeEkRseOtg9q1EWjw", "enabled": true, "send_as": "request_body" } ], "type": "any" }, { "key": "tokenName", "value": "code", "type": "string" }, { "key": "grant_type", "value": "authorization_code", "type": "string" }, { "key": "clientSecret", "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJhN2Y1ZmZmYi05NjQ1LTRlMTQtOGIxNi03ZmIxY2YzNzAxN2QiLCJjc2kiOiIwODlhMWIxMy0xYzk4LTRlNjAtYTAwZi02NjI5ZTAwM2UyYmUiLCJuYW1laWQiOiI0YmVlYTYxMS04YWJlLTRhMTctOGRhMC1hMmJkNTQwOTVhNDYiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTY5OTM2MjY0MSwiZXhwIjoxODU3MjE1NDQxfQ.1hZ3_j1B4maKfz_Hrwuds95P41uWR96GimYN-PEYFAM40LqeEtNop2PhQqTf6nDL8CZfeITGmqipsYYfL98jk61z_9jcGBkHLWu-6VpKNwPd8c7uqEIHHQeQvOocRijHtQnlHGLETSy5IzRs6csDWnvrjpZNAU4TrALecWVMiocHZF6wqYsyReRzvPNpynoSFQQoOlrPdDVqRjsL05nmnE2BIwlDPuKWK9kuzFBGuaAQ0fiykA57SWpcpyyPxVbMhBqEo-NvHPTqh2heQbSvsuBuVKzeLjNVuaFpcyb-R6TweGzS5dU1cHcRWnqWRxcPLPr1EpeEkRseOtg9q1EWjw", "type": "string" }, { "key": "clientId", "value": "a7f5fffb-9645-4e14-8b16-7fb1cf37017d", "type": "string" }, { "key": "addTokenTo", "value": "header", "type": "string" }, { "key": "authUrl", "value": "https://app.vssps.visualstudio.com/oauth2/authorize", "type": "string" }, { "key": "accessTokenUrl", "value": "https://app.vssps.visualstudio.com/oauth2/token", "type": "string" }, { "key": "state", "value": "user1", "type": "string" }, { "key": "scope", "value": "vso.build_execute", "type": "string" } ] }, "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{token}}", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [] }, "url": { "raw": "https://dev.azure.com/jose-carlosnavarro/TESTING/_apis/pipelines/1/runs?api-version=7.1-preview.1", "protocol": "https", "host": [ "dev", "azure", "com" ], "path": [ "jose-carlosnavarro", "TESTING", "_apis", "pipelines", "1", "runs" ], "query": [ { "key": "api-version", "value": "7.1-preview.1" } ] } }, "response": [] }, { "name": "TOKEN ADO", "protocolProfileBehavior": { "disabledSystemHeaders": {} }, "request": { "auth": { "type": "noauth" }, "method": "POST", "header": [ { "key": "assertion", "value": "572247", "type": "text", "disabled": true }, { "key": "client_id", "value": "a7f5fffb-9645-4e14-8b16-7fb1cf37017d", "type": "text", "disabled": true }, { "key": "client_secret", "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJhN2Y1ZmZmYi05NjQ1LTRlMTQtOGIxNi03ZmIxY2YzNzAxN2QiLCJjc2kiOiIwODlhMWIxMy0xYzk4LTRlNjAtYTAwZi02NjI5ZTAwM2UyYmUiLCJuYW1laWQiOiI0YmVlYTYxMS04YWJlLTRhMTctOGRhMC1hMmJkNTQwOTVhNDYiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTY5OTM2MjY0MSwiZXhwIjoxODU3MjE1NDQxfQ.1hZ3_j1B4maKfz_Hrwuds95P41uWR96GimYN-PEYFAM40LqeEtNop2PhQqTf6nDL8CZfeITGmqipsYYfL98jk61z_9jcGBkHLWu-6VpKNwPd8c7uqEIHHQeQvOocRijHtQnlHGLETSy5IzRs6csDWnvrjpZNAU4TrALecWVMiocHZF6wqYsyReRzvPNpynoSFQQoOlrPdDVqRjsL05nmnE2BIwlDPuKWK9kuzFBGuaAQ0fiykA57SWpcpyyPxVbMhBqEo-NvHPTqh2heQbSvsuBuVKzeLjNVuaFpcyb-R6TweGzS5dU1cHcRWnqWRxcPLPr1EpeEkRseOtg9q1EWjw", "type": "text", "disabled": true }, { "key": "grant_type", "value": "ietf jwt-bearer", "type": "text", "disabled": true } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "code", "description": "GRANT TYPE DEFINIDO", "type": "text" }, { "key": "client_id", "value": "a7f5fffb-9645-4e14-8b16-7fb1cf37017d", "type": "text" }, { "key": "client_assertion", "value": "Ing1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJhN2Y1ZmZmYi05NjQ1LTRlMTQtOGIxNi03ZmIxY2YzNzAxN2QiLCJjc2kiOiIwODlhMWIxMy0xYzk4LTRlNjAtYTAwZi02NjI5ZTAwM2UyYmUiLCJuYW1laWQiOiI0YmVlYTYxMS04YWJlLTRhMTctOGRhMC1hMmJkNTQwOTVhNDYiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTY5OTM2MjY0MSwiZXhwIjoxODU3MjE1NDQxfQ.1hZ3_j1B4maKfz_Hrwuds95P41uWR96GimYN-PEYFAM40LqeEtNop2PhQqTf6nDL8CZfeITGmqipsYYfL98jk61z_9jcGBkHLWu-6VpKNwPd8c7uqEIHHQeQvOocRijHtQnlHGLETSy5IzRs6csDWnvrjpZNAU4TrALecWVMiocHZF6wqYsyReRzvPNpynoSFQQoOlrPdDVqRjsL05nmnE2BIwlDPuKWK9kuzFBGuaAQ0fiykA57SWpcpyyPxVbMhBqEo-NvHPTqh2heQbSvsuBuVKzeLjNVuaFpcyb-R6TweGzS5dU1cHcRWnqWRxcPLPr1EpeEkRseOtg9q1EWjw", "description": "CLIENT SECRET GENERADO AL REGISTRAR LA PALICACION", "type": "text" }, { "key": "assertion", "value": "NV1Ojxy7sz0UTNemw-UFh3efViRpWOZqEVwTBz9YPiPGemcM", "description": "CODIGO QUE DEVUELVE EL REDIRECT URI DE AUTHORIZE ENDPOINT", "type": "text" }, { "key": "client_assertion_type", "value": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer", "type": "text" }, { "key": "client_secret", "value": "Ing1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJjaWQiOiJhN2Y1ZmZmYi05NjQ1LTRlMTQtOGIxNi03ZmIxY2YzNzAxN2QiLCJjc2kiOiIwODlhMWIxMy0xYzk4LTRlNjAtYTAwZi02NjI5ZTAwM2UyYmUiLCJuYW1laWQiOiI0YmVlYTYxMS04YWJlLTRhMTctOGRhMC1hMmJkNTQwOTVhNDYiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTY5OTM2MjY0MSwiZXhwIjoxODU3MjE1NDQxfQ.1hZ3_j1B4maKfz_Hrwuds95P41uWR96GimYN-PEYFAM40LqeEtNop2PhQqTf6nDL8CZfeITGmqipsYYfL98jk61z_9jcGBkHLWu-6VpKNwPd8c7uqEIHHQeQvOocRijHtQnlHGLETSy5IzRs6csDWnvrjpZNAU4TrALecWVMiocHZF6wqYsyReRzvPNpynoSFQQoOlrPdDVqRjsL05nmnE2BIwlDPuKWK9kuzFBGuaAQ0fiykA57SWpcpyyPxVbMhBqEo-NvHPTqh2heQbSvsuBuVKzeLjNVuaFpcyb-R6TweGzS5dU1cHcRWnqWRxcPLPr1EpeEkRseOtg9q1EWjw", "type": "text", "disabled": true }, { "key": "code", "value": "238227", "type": "text", "disabled": true } ] }, "url": { "raw": "https://app.vssps.visualstudio.com/oauth2/token", "protocol": "https", "host": [ "app", "vssps", "visualstudio", "com" ], "path": [ "oauth2", "token" ] } }, "response": [] }, { "name": "AUTHORIZE", "event": [ { "listen": "test", "script": { "exec": [ "" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [], "url": { "raw": "https://app.vssps.visualstudio.com/oauth2/authorize?client_id=a7f5fffb-9645-4e14-8b16-7fb1cf37017d&response_type=Assertion&state=user1&scope=vso.build_execute", "protocol": "https", "host": [ "app", "vssps", "visualstudio", "com" ], "path": [ "oauth2", "authorize" ], "query": [ { "key": "client_id", "value": "a7f5fffb-9645-4e14-8b16-7fb1cf37017d" }, { "key": "response_type", "value": "Assertion" }, { "key": "state", "value": "user1" }, { "key": "scope", "value": "vso.build_execute" }, { "key": "redirect_uri", "value": "https://app.vssps.visualstudio.com/oauth2/authorize", "disabled": true } ] } }, "response": [] } ] } I thank you very much for your help Best RegardsJose_Carlos1835Jun 15, 2025Copper Contributor1.3KViews0likes1CommentTDE with database level customer-managed keys - using Terraform
I am trying to create my database in azure with TDE with database level customer-managed keys - using Terraform. Need help in achieving that. I see --encryption-protector $keyid can be used in creation of db using Azure CLI. Is there something similar to use in terraform? We have azurerm_mssql_server_transparent_data_encryption" for TDE at server level. I am looking for something similar for database level.snehaniranjanaJun 14, 2025Copper Contributor692Views0likes1CommentAzure DevOps pipeline - how to deploy DB project to on-prem using custom path to SqlPackage.exe
Hi, I've been trying to figure this out for a while, but can't find my way around it. Our DevOps team has the SqlPackage.exe file saved in a custom location on a virtual machine used for the agents. I need to access the file to be able to deploy DB projects to on-premise server using Azure DevOps pipeline. I tried couple different approaches, but nothing seems to work for me. At the moment my deployment pipeline downloads artifacts and is able to use them for deployment, but can not actually deploy the project due to missing SqlPackage.exe file in the expected location. Any help would be greatly appreciated! EDIT: At the moment I'm trying to use CmdLine@2 task (see below), but it's giving me an error. - task: CmdLine@2 inputs: script: '"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\sqlpackage.exe" /Action:Publish /SourceFile:"$(System.DefaultWorkingDirectory)/_WIP Build DB Symfonie2_ods/files/s/Symfonie2_ODS/bin/Debug/Symfonie2_ODS.dacpac" /TargetServerName:$(TargetServer) /TargetDatabaseName:$(TargetDatabaseName) -U $(SqlUsername) -P $(SqlPassword)/TargetEncryptConnection:False'VeronikaHolcnerovaJun 14, 2025Copper Contributor760Views0likes1Comment
Resources
Tags
- azure2,272 Topics
- azure devops1,392 Topics
- Data & Storage379 Topics
- Networking237 Topics
- Azure Friday222 Topics
- App Services202 Topics
- blockchain168 Topics
- devops165 Topics
- Security & Compliance150 Topics
- analytics136 Topics