Azure billing support is free, so reopen the matter as a Billing → Refund Request and attach the Activity Log records and deployment correlation details for all three database recreations; a paid technical-support plan is not required for billing cases.^1^
Reopen the billing case
- In the Azure portal, select ? → Help + Support.
- Describe the issue, then select Create a support request.
- Select:
- Issue type: Billing
- Problem type: Refund Request, if available
- The subscription on which the charges occurred
- If recommended solutions appear, select Return to support request, then Next.
- In Additional details, provide:
- The original billing and technical case numbers.
- The database name, SQL logical server, resource group, and subscription.
- The UTC timestamps of each deletion and recreation.
- The old and new database SKU/service tier.
- The invoice line items and amount disputed.
- The Activity Log caller, operation name, correlation ID, and JSON/CSV export for each event.
- A concise timeline showing that deleting the database was followed by repeated recreation, while deleting the parent SQL server ended the behavior.
- The partial-refund decision, while requesting review of the remaining amount.
- Submit the request. Creating it requires subscription-level Owner, Contributor, Support Request Contributor, or equivalent
Microsoft.Support/* permission.^1^
Refund approval remains case-specific. Accepting a partial refund may affect what billing can reconsider, but the available documentation does not define that policy.
Preserve the audit evidence now
The Activity Log records Azure control-plane create, update, and delete operations. It is also the location that records the resource creator, but its default retention is only 90 days.^2^
Go to Subscriptions → your subscription → Activity log, set the time range around each incident, and filter by:
- Resource type: SQL databases
- Operation: Create, Write, Update, or Delete
- Event initiated by: the identity shown previously
- Resource group/resource: the affected staging resources
Open each event and save:
- Download as CSV
- The event JSON
- Caller or initiating identity
- Operation name and status
- Timestamp
- Correlation ID
- Resource ID
The displayed “admin” identity identifies the caller recorded for the operation; by itself, it does not establish that Azure independently recreated the database. The event JSON, correlation ID, and related deployment are needed to distinguish a user, service principal, managed identity, automation process, or resource deployment.
If the events are still within 90 days, configure an Activity Log diagnostic setting to send future records to Log Analytics or another supported destination for longer retention.^2^
Trace what redeployed the database
Check Resource groups → affected resource group → Deployments. Open deployments at each recreation time and capture their operations and correlation IDs. Azure Resource Manager deployment history shows which resources a deployment created, and its correlation ID can be supplied to support to trace related events.^3^
This is particularly important if the App Service or environment was originally provisioned through an ARM/Bicep template, pipeline, or another automated deployment. An earlier successful deployment can recreate resources when explicitly redeployed; Azure’s rollback feature, for example, redeploys an earlier deployment with its original parameters rather than merely undoing a failed change.^4^
If the deployment record identifies an automation identity, inspect and disable the corresponding deployment source rather than relying only on deletion of the child database.
Prevent another delayed discovery
Configure an anomaly alert:
- Azure Home → Cost Management
- Select the subscription scope.
- Select Cost alerts → + Add.
- Choose Anomaly.
- Enter recipients and create the rule.
This requires Cost Management Contributor or greater, or the Microsoft.CostManagement/scheduledActions/write permission. Anomaly detection evaluates subscription costs daily and can notify you of unexpected usage changes, although detection is not immediate.^5^
Also create a low monthly budget with multiple thresholds. Budget alerts and anomaly alerts serve different purposes: budgets catch fixed spending limits, while anomaly alerts detect unusual changes relative to prior usage.^6^
References
- Create an Azure support request
- Activity log in Azure Monitor
- View deployment history with Azure Resource Manager
- Rollback on error to successful deployment
- Identify anomalies and unexpected changes in cost
- Use cost alerts to monitor usage and spending