I am checking my SQL DB in West US:
General purpose:
2 vCores - $260 - IOPS 640 - Log rate 9 MiB/sec
4 vCores - $480 - IOPS 1280 - Log rate 18 MiB/sec
Business Critical:
2 vCores - $525 - IOPS 8000 - Log rate 24 MiB/sec
4 vCores - $970 - IOPS 16000 - Log rate 48 MiB/sec
Since question says minimize costs and doesn't say to what extent we should reduce Log IO, I would pick "Increase the number of vCores" since $480 is less than $525... But otherwise it would make more sense to go Business Critical 2 vCores for $525 as it has far more IOPS and throughput to offer.
I belive it's A. When you increase number of vCores, you'll get higher resource limits incl. IOPS.
https://learn.microsoft.com/en-us/azure/azure-sql/database/resource-limits-vcore-single-databases?view=azuresql
It should be less expensive than promoting of service level.
A. Change Service tier to Business Critical. - seems the only solution.
B. Increase the number of vCores. - relates to MI being in the Business Critical already. it is not (https://learn.microsoft.com/en-us/answers/questions/603214/log-io-metrics-is-hitting-100)
C. Perform a checkpoint operation. - usually for shrinking log files, not related to log performance being poor. if anything, will worsen the situation by flushing data from memory to disk. the operation has to be logged as well.
D. Change Recovery model to Simple. - logging transactions is not related to recovery models, transaction log management is (log backups or not). irrelevant for the issue at hand.
since it is hitting max IOPS limitation and not storage space limits, upgrading to BC tier will increase max iops throughput . it won't obviously minimize the cost, but given the choices i think it is the only option
Both C and D can help to reduce the MAX Log IO performance.
A checkpoint operation is a cost-effective way of managing transaction log growth in an Azure SQL database. It flushes the dirty pages from memory to disk and marks the transaction log as reusable, freeing up space in the log file.
Changing the recovery model to Simple reduces log space usage, as it truncates the transaction log after every checkpoint. This can help address high MAX Log IO performance, but it also means that you will lose the ability to recover the database to a specific point in time.
I think C is the best answer.
Correct myself.
A checkpoint operation writes the current in-memory modified pages (known as dirty pages) and transaction log information from memory to disk and, also, records information about the transaction log. This operation helps reduce the recovery time in case of a crash or other failure but does not directly reduce the Log IO percentage.
The answer is D.
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
voodoo_sh
2 days, 2 hours agolearnazureportal
2 weeks, 6 days agodurdic
4 months, 3 weeks agoae8a90c
8 months agotestdumps2017
1 year, 5 months agovcloudpmp
1 year, 6 months agoamazonalex
1 year, 8 months agoU_C
1 year, 9 months agokev22
1 year, 9 months agoU_C
1 year, 9 months agoU_C
1 year, 9 months agostevenwong
11 months, 3 weeks ago