SQL Server connector's V1 actions and triggers will be retired on 31 March 2024 – transition to SQL Server connector's V2 actions and triggers

PRADEEP THILANKA WARAGODA 41 Reputation points
2024-02-03T00:14:40.0033333+00:00

Hi Microsoft, We received the retirement notice of the SQL Server Connector v1. However, we don't have any logic apps using the v1 connector. All our logic apps are using v2 connector. But is there way you can help me to search or run a report to find out if there are any logic apps still using v1?

Azure Logic Apps
Azure Logic Apps
An Azure service that automates the access and use of data across clouds without writing code.
3,078 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Dillon Silzer 57,231 Reputation points
    2024-02-03T00:58:01.0533333+00:00

    Hi Pradeep,

    I'd suggest using the following script for finding orphaned connectors:

    Find Orphaned API Connectors

    https://www.integration-playbook.io/docs/find-orphaned-api-connectors

    Hopefully this can assist with finding the connector it seems to be saying you have in your environment.

    If this is helpful please accept answer.

    0 comments No comments

  2. MuthuKumaranMurugaachari-MSFT 22,306 Reputation points
    2024-03-01T21:09:22.0666667+00:00

    PRADEEP THILANKA WARAGODA Thanks for patiently waiting on this.

    Update for the community:

    To pull all V1 actions in a subscription, use the below query in Azure Resource Graph Explorer (similar discussion) which will list the resource group, logic app name, action count etc.

    resources
    | where subscriptionId == "<subscription-id>"
    | where type == "microsoft.logic/workflows"
    | extend propertiesJson=parse_json(properties)
    | extend actionsJson=propertiesJson["definition"]["actions"]
    | mv-expand actionsJson
    | where notnull(actionsJson)
    | extend path=extract("\"path\":\"(.*?)\"", 1, tostring(actionsJson))
    | where notnull(path) and path startswith "/datasets/default/"
    | extend actionConnectionName=extract("\"connection\":{\"name\":\"(.*?)\"}", 1, tostring(actionsJson))
    | where notnull(actionConnectionName)
    | parse actionConnectionName with "@parameters('$connections')['"parsedActionConnectionName"']['connectionId']"
    | extend tmpConnection = propertiesJson["parameters"]["$connections"]["value"][parsedActionConnectionName]
    | where notnull(tmpConnection)
    | extend connectionId=extract("\"id\":\"(.*?)\"", 1, tostring(tmpConnection))
    | where notnull(connectionId) and connectionId endswith "/managedApis/sql"
    | project id, name, resourceGroup, actionsJson
    | summarize v1ActionCount = count() by resourceGroup, logicAppName = name
    
    

    For V1 triggers:

    resources
    | where subscriptionId == "<subscription-id>"
    | where type == "microsoft.logic/workflows"
    | extend propertiesJson=parse_json(properties)
    | extend triggersJson=propertiesJson["definition"]["triggers"]
    | mv-expand triggersJson
    | where notnull(triggersJson)
    | extend path=extract("\"path\":\"(.*?)\"", 1, tostring(triggersJson))
    | where notnull(path) and path startswith "/datasets/default/"
    | extend triggerConnectionName=extract("\"connection\":{\"name\":\"(.*?)\"}", 1, tostring(triggersJson))
    | where notnull(triggerConnectionName)
    | parse triggerConnectionName with "@parameters('$connections')['"parsedTriggerConnectionName"']['connectionId']"
    | extend tmpConnection = propertiesJson["parameters"]["$connections"]["value"][parsedTriggerConnectionName]
    | where notnull(tmpConnection)
    | extend connectionId=extract("\"id\":\"(.*?)\"", 1, tostring(tmpConnection))
    | where notnull(connectionId) and connectionId endswith "/managedApis/sql"
    | project id, name, resourceGroup, triggersJson
    | summarize v1TriggerCount = count() by resourceGroup, logicAppName = name
    

    You can modify the query based on your scenario. Our product team is actively working on to update the info in https://learn.microsoft.com/en-us/connectors/sql doc.

    I hope this helps and sorry for the inconvenience caused. Please let me know if any questions.


    If you found the answer to your question helpful, please take a moment to mark it as Yes for others to benefit from your experience. Or simply add a comment tagging me and would be happy to answer your questions.

    0 comments No comments

Your answer

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