This is all about enabling diagnostics telemetry for Azure SQL databases. For Azure SQL Database there are quite a few options to select from. Below shows the diagnostic settings available.
It has been a while since I posted an entry for TSQL Tuesday, which, for today is hosted by Kenneth . The subject being a non SQL Server tip. For a while now I have been using other technologies besides SQL Server and recently Azure Databricks and I have a handy tip for when starting this journey. It is not ground breaking but useful!
So you have many databases in Azure, you accidentally deleted one which can happen and has happened to me because in my situation they had very similar naming conventions with a number different at the end of the database name.
Question is, how can you protect yourself from this? Answer. Locks.
Recently I got to a stage where I leveraged Databricks to the best of my ability to join couple of CSV files together, play around some aggregations and then output it back to a different mount point ( based on Azure Storage) as a parquet file, I decided that I actually wanted to move this data into Azure SQL DB, which you may want to do one day.
Moving to public cloud such as Azure, AWS or even private cloud services you need to be tracking costs and seeing if you are “effective”. What is the best way of doing this with Microsoft Azure?
Unfortunately, this is not an on-premises SQL Server install because I do not have the right operating system available for SQL Server 2019, which includes the below:
- Windows 2016 +
- Red Hat 7.3-7.6
- SUSE v12 SP2+
- Ubuntu 1.8
So, I am going to use my clicking skills and spin a Machine up in Azure utilizing the market place, so I can get an image of SQL Server installed on the VM already.
Ok, so Azure SQL doesn’t really have its own error log based somewhere on a machine within \\MSSQL\Log directory but the closest thing you will get is a system catalog view called sys.event_log which is very useful. It will get you information about all sort of event types such as:
- Successful connections
- Failed connections
- Throttling issues
- Blocked by firewall attempts
- Connection termination
The full message when connecting to your Azure SQL Database is:
Reason: An instance-specific error occurred while establishing a connection to SQL Server. The public data endpoint on this server is not accessible. To connect to this server, use the Private Endpoint from inside your virtual network. (.Net SqlClient Data Provider)
I always wanted a way to schedule commands within Azure SQL Database. Personally, for me, the go to standard is the functionality of SQL Server Agent. Obviously, this is not possible out of the box but I have been using an on-premises SQL Server instance (within a specific vnet that is mapped to the logical Azure SQL server) with a linked server connection setup (with dedicated logins) to Azure SQL Database to run some code at a specific time to scale up (and down) my database dependent on peak hours.
Having worked with Azure SQL Database and its many flavours for couple of years now I am confident in building deploying, whether manual or templates. Being in Azure you can take the same mind set to build non-Microsoft database tech such as PostgreSQL, MySQL etc.
Let’s work though one, it’s that easy.