One of my Azure SQL Databases is experiencing very high CPU usage. This is a test database server and is definitely not receiving any traffic so it should be very under-utilised.
Is there any way I can troubleshoot this to find where this load is coming from?
Is there some kind of Activity Monitor for SQL Database?
You want to use SQL Azure Dynamic Management Views. Check out this article for more info to get started: https://learn.microsoft.com/en-us/azure/sql-database/sql-database-monitoring-with-dmvs
Related
I came across one issue that I cannot create SSRS databases on Azure SQL Database, netiher I can use the migrated databases of report server in the SSRS Config manager, can anyone explain why is this a limitation and something like Managed Instance or Azure SQL VM is needed in this case?
Is there no other way of configuring Azure SQL Database with SSRS?
Azure SQL database didn't explain why SSRS is not supported in Azure SQL database.
I think the reason the that Azure SQL database is PAAS and different between IAAS: Azure MI and SQL server in VMS:
And for now, there is no way to configure SSRS for Azure SQL database. SQL database product team confirmed this. Ref this feedback:
"Thanks for your feedback here. You can do SSRS today in an Azure VM.
I’m closing this as we have no plans in SQL DB to significantly grow
it’s scope to SSRS."
If you still want to SSRS, you need to choose Azure SQL managed instance or SQL Server in VMs.
HTH.
I think that you can pick a Azure Virtual Machine and then get things done by yourself, from scratch.
Or you can create RDLC and run them inside a web application, using Azure Database as data source.
I would like to know what extra benefits one get by choosing Azure SQL Managed Instance compared to Azure SQL DB PaaS. I know SQL Managed Instance is offered as a vCore based purchasing model only. Apart from this what is the extra add on and benefits that one gets over the other. Any reply would be appreciated.
With Azure SQL Managed Instance, you essentially get a full fledged SQL Server that you can control any way you want, just like you would control a locally configured SQL Server. All the power and access and customization you want.
With, Azure SQL DB PaaS, you are essentially getting a database service, so, you give up a lot of control.
For example, take server collation. With the database service, SQL_Latin1_General_CP1_CI_AS , is all you get. With the Managed Instance, its your server. So, go ahead and select whatever collation you want, just like how you would select the collation at the time of creatoin.
Another issue is with auditing, if that is something that is important to your setup. with SQL Managed Instance, auditing happens at server level, because, you are getting the full database server. With the database service, it only database, because, you are only getting a database.
These are just the main details that I found. more details here at this Azure doc - https://learn.microsoft.com/en-us/azure/azure-sql/database/features-comparison
Of course, Managed is going to cost you more because you are paying for the license of the SQL server too.
Lastly, for me, this is the almost (not the exact same thing) like you running your own File Server on a Windows VM on Azure (Managed Instance) versus, just using Blob Storage. In both cases, you are just trying to store some files, but its how much control you have.
I would say think about Azure SQL DB vs Azure SQL Managed Instance (MI) as
Azure SQL DB = Resources dedicated to individual DBs like a container. They are grouped under a Azure SQL Server but that SQL Server is just for grouping.
Azure SQL MI = Almost same as on-prem SQL Server except you don't have to worry about OS, backups, high availability.
Here is a good comparison.
https://learn.microsoft.com/en-us/azure/azure-sql/database/features-comparison
Hopefully this will help
Azure SQL Database - The usual PaaS way. You have vCore, DTU, and Serverless billing mode. And Elastic pool support.
Azure SQL Managed Instance - Similar as below. When you want to use instance-scoped features of Azure SQL Managed Instance like Service Broker, CLR, SQL Server Agent, and Linked servers. As if you have an SQL Server on premise, Azure is responsible for patching, upgrading version etc.
SQL Server on Azure Virtual Machines - Similar as above. But you are responsible for OS and SQL server upgrade.
I would like to monitor the databases that are active and high availability status of my on-prem SQL server which is in azure VM.
In addition to Arun's comment / suggestion i.e., to go for Azure Monitor, SQL Server Assessment solution, Alerts; I would recommend you to go for Azure SQL Analytics solution and SQL Health Check solutions as well for even better monitoring. For more information w.r.t it, please refer this and this documents. Hope this helps!
what is the best way to limit latency for SQL Azure in global applications?
My Application uses SQL Azure and would like to know based on the network location of users if its possible to connect SQL Azure near to users.
So Logically would need to have SQL Azure database with global replication but not geo-replication as each copy would serve as Master and not secondary.
Thank you in advance.
You may want to try CosmosDB to distribute data globally and obtain low latency as explained on this article and this documentation.
For replicating data using SQL Data Sync with Azure SQL Database, take in consideration paired regions which may reduce latency. With SQL Data Sync a hub database can be defined and many member database on another region, and data can be synched on both ways between the hub and any member database.
Generating output to a Azure SQL database is supported, but I was shocked when I found that the portal does not allow to specify a SQL Server database running on a VM. Is not this supported?
We need to store lots of data coming through the ASA jobs, and use SQL Jobs, that's why we were planning to use a SQL Server VM.
Thanks!
You cannot configure the SQL Database running on VM as an output to the ASA job.
However, Azure provides SQL services with 2 variants
Microsoft Azure SQL Database (Azure SQL Database) as PaaS
where lower stack is managed by Microsoft Azure and billed as pay-as-you-go model.
and
SQL Server in Azure Virtual Machine (VM) as IaaS where user owns the VM and make any changes, including licences for the SQL database.
the Microsoft Azure SQL Database provided as PaaS is configurable as
ASA output.
one idea might be to create and Event Hub output for the ASA and then consume it from there using any sort of application to write into an IaaS SQL DB. The application that consumes the data can also be hosted as a Web App as well.
Hope this helps.