Deleting Custom Table from Azure Log Analytics

If you are familiar with Log Analytics you will know that you can delete custom field/column directly from the UI as you can see below:

Custom Field Delete

For example I can delete custom field _ResourceId_s for MyLog0001_CL table. That option has been there for quite some time. A couple of years ago an API was made available so you can delete specific data from a table. This was also know as the purge API. The purge API is basically deleting data based on KQL query. With these APIs you could delete specific fields and data but the table that was created by custom log will still be in the Log Analytics.

Continue reading “Deleting Custom Table from Azure Log Analytics”

Speaking at Azure Bootcamp Bulgaria 2021

This is just a quick blog post to notify you about me speaking at Azure Bootcamp Bulgaria 2021. If you are interested in Azure deployments or some of the other sessions you can check out the schedule and register.

Tips on creating Azure policies for Azure SQL Databases

Azure SQL Databases is quite a big service and it is also one of the oldest. Because of these two there are a few architectural designs that you should be aware. Some of these are:

  • with every SQL logical server there is a master database resource that is created. This resource is not directly managed but for example when you configure diagnostic settings on server level you need to configure those against the master database resource rather the SQL logical server
  • The SKUs of Azure SQL Databases are mostly divided into DTU and vCore based. Among the vCore based we also have Hyperscale and Serverless variants. You can also have elastic pools for some SKUs and than the databases under those elastic pools inherit their SKUs. Not all Azure SQL SKUs support all of the features of the service. Some of the features that may not be available or have some limitations across different SKUs are:
    • Zone redundancy
    • Hybrid benefit
    • Read replicas
    • Failover Group support – for example not supported on Hyperscale SKUs and supported on Serverless SKUs only auto pause delay is disabled
    • Geo replication
    • Short term backup
    • Long term backup

Among these we also have Datawarehouses (now known as Azure Synapse Analytics) which underneath are the same resource as Azure SQL databases but have completely different options.

Continue reading “Tips on creating Azure policies for Azure SQL Databases”

Controlling Azure SQL Firewall Rules

Recently on Microsoft Q&A there was question on how you can control Azure SQL Firewall rule in a way that only certain IP addresses are allowed to be configured. Naturally I gave general answer that you can do that via Azure Policy. Initially I didn’t give the person an actual policy as I haven’t done such before. Of course creating Azure Policy definition can be challenging so the person asked him if I can provide him with example.

Continue reading “Controlling Azure SQL Firewall Rules”

Finding Columns that are used by more than one service in AzureDiganostics table

AzureDiagnstics table is used by many Azure Services when you send diagnostic logs thus the 500 column limit that Microsoft is trying to fix for that table. When you hit that limit there is currently the described workaround but let’s say you have used one service that was sending logs and you no longer use that service. The logs associated with that service are yet to purged but you also want to clean up any custom columns that the service was using. That way you can free some slots for new custom columns for new services that will send logs to AzureDiagnostics table. Of course you can delete the custom column from Log Analytics blade but you do not want to delete a custom column that is also used by another service. This will be a short blog post that I will show you how to find if custom column is used by more than one service by using Kusto query language.

Continue reading “Finding Columns that are used by more than one service in AzureDiganostics table”