Tom Collins has a new Extended Events session for us:
Track memory grants with this Extent Event
Click through for the event session and a sample of how to query the resulting events.
Comments closedA Fine Slice Of SQL Server
Tom Collins has a new Extended Events session for us:
Track memory grants with this Extent Event
Click through for the event session and a sample of how to query the resulting events.
Comments closedArun Sirpal explains what zone redundancy is in Azure:
Do you know what happens when you enable zonal redundancy for your SQL managed instance?
Lets define it first (in the context of Business-Critical tier) – zonal redundancy is achieved by placing compute and storage replicas in different availability zones (3) and then using underlying Always On availability group to replicate data changes from the primary instance to standby replicas in other availability zones.
Availability zones are in the same Azure region, so it works well for high availability but isn’t as good for disaster recovery: if an entire region goes down, zone redundancy won’t help you very much. Also, be aware that you’re paying for what’s running in those three zones because TANSTAAFL.
Comments closedHans-Jürgen Schönig compares data sizes:
In this case study, we’ll delve into each of PostgreSQL’s main storage options, their characteristics, and the factors that influence their choice, enabling you to make informed decisions about your database’s storage strategy. You will also learn how you can archive data in a hybrid environment for long term storage.
Click through for a comparison of two common file formats, plus two PostgreSQL-specific mechanisms for data storage. The comparison here is mostly one of final file size, though common query performance would be interesting to include as well, especially because the columnar data file types (Parquet and Citus-based columnstore) have a very different performance profile versus row-store data.
Comments closedBrian Kernan announces a change:
In August 2025, Microsoft Fabric will introduce workspace access limits to improve service quality, reliability, and to encourage workspace access control hygiene. This limit will be permanent once it is rolled out – each Fabric & Power BI workspace will be limited to a maximum of 1,000 users or groups in workspaces roles (Admin, Member, Contributor, Viewer). A workspace with a group over 1,000 individuals will not be impacted by this change, the number of users within a group is not impacted. Additionally, workspaces that are overlimit at the time of access limit enforcement will remain overlimit, but no additional users or groups can be added until the workspace is under-limit.
I read this and I say “Hmm…” I’m not in a position where I could say that 1000+ users in a workspace is a bad idea that they’re protecting us from, or if it’s an implicit acknowledgement of failure to scale.
Comments closedKenneth Fisher is back in the fight:
I recently had to copy an Azure SQL database (SQL db) from one subscription to an Azure SQL Server instance in another subscription. All of the help I found suggested going to the database and hitting the COPY option. Unfortunately, when I did, I ran into a problem.
Read on for the issue, as well as one way to fix it. The route Kenneth landed on was the same one I ended up going with when I had a similar problem and very limited access to SQL DB on both subscriptions.
Comments closedAshutosh Bapat runs some tests:
The hash_create() API in PostgreSQL takes initial size as an argument. It allocates memory for those many hash entries upfront. If more entries are added, it will expand that memory later. The point of argument was what should be the initial size of the hash table, introduced by that patch, containing the derived clauses. During the discussion, David hypothesised that the size of the hash table affects the efficiency of the hash table operations depending upon whether the hash table fits cache line. While I thought it’s reasonable to assume so, the practical impact wouldn’t be noticeable. I thought that beyond saving a few bytes choosing the right hash table size wasn’t going to have any noticeable effects. If an derived clause lookup or insert became a bit slower, nobody would even notice it. It was practically easy to address David’s concern by using the number of derived clauses at the time of creating the hash table to decide initial size of the hash table. The patch was committed.
Read on to see how things didn’t quite turn out this way, and what the results of testing look like.
Comments closedAaron Bertrand looks at some extensions to a venerable solution:
Where I work, we have hundreds of mission-critical databases. We use Ola Hallengren’s SQL Server backup solution, but, out of necessity, have wrapped it with several enhancements to help us accomplish goals around retention, SQL Server backup frequency, and recovery point objectives. I touched on some of this last year when I talked about automating some of our restore testing, in It’s a recovery strategy, not a backup strategy. Today, we do a lot more than that, and we have to be more flexible about it.
Click through to see what Aaron’s environment looks like and some of the things they’ve done to make recovery work better.
Comments closedVarun Jain makes a security announcement:
A Fabric workspace identity is an automatically managed service principal that can be associated with a Fabric workspace. Fabric workspaces with a workspace identity can securely read or write to firewall-enabled Azure Data Lake Storage Gen2 accounts through trusted workspace access for OneLake shortcuts. Fabric items can use the identity when connecting to resources that support Microsoft Entra authentication. Fabric uses workspace identities to obtain Microsoft Entra tokens without the customer having to manage any credentials.
Previously, a workspace identity was automatically assigned the workspace contributor role and had access to workspace items.
Read on to see what’s changing, why, and what you can do instead.
Comments closedTomas Vondra takes us through a setting:
Last week I posted about how we often don’t pick the optimal plan. I got asked about difficulties when trying to reproduce my results, so I’ll address that first (I forgot to mention a couple details). I also got questions about how to best spot this issue, and ways to mitigate this. I’ll discuss that too, although I don’t have any great solutions, but I’ll briefly discuss a couple possible planner/executor improvements that might allow handling this better.
Tomas’s points around the random_page_cost setting sound a lot like the cost threshold for parallelism setting in SQL Server in inverse: a setting whose default makes sense in a world of spinning disks at 7200 RPM, but not really in a solid state world.
Josephine Bush tracks some errors:
Logging is a necessity in the database world, well, the entire tech world. You need to know what is happening in and around your databases. It’s easy to setup in Azure SQL DB.
Read on to learn more about the logging options available in Azure SQL DB, as well as how you can configure and view the log and audit results.
Comments closed