SQLServerCentral Article

Can You Compute?

Transact-SQL in SQL Server 2000 has some interesting features, many of which most DBAs will never use. While many DBAs are famliar with the basic aggregate functions, there are a few that are advanced and not well understood. The ROLLUP and COMPUTE operators are two of these and David Poole takes a look at how these work and a practical application for them.

Technical Article

Trace-scrubbing Tools

Andrew Zanevsky shares his trace-scrubbing procedures that make it easy for you to handle large trace files and aggregate transactions by type–even when captured T-SQL code has variations.

SQL Server Profiler is a veritable treasure trove when it comes to helping DBAs optimize their T-SQL code. But, the surfeit of riches (I'm reminded of the Arabian Nights tale of Aladdin) can be overwhelming. I recently had one of those "sinking" feelings when I first tried to make sense of the enormous amount of data collected by traces on a client's servers. At this particular client, the online transactions processing system executes more than 4 million database transactions per hour. That means that even a 30-minute trace that captures "SQL Batch Completed" events results in a table with 2 million rows. Of course, it's simply impractical to process so many records without some automation, and even selecting the longest or most expensive transactions doesn't necessarily help in identifying bottlenecks. After all, short transactions can be the culprits of poor performance when executed thousands of times per minute.

Blogs

Why your data still can’t answer a simple question 

By

Every organization I talk to has the same problem dressed up in different clothes....

T-SQL Tuesday #197 Invitation – An impactful session or two from a conference

By

I am delighted to host this month’s T-SQL Tuesday invitation. If you are new...

Did You Really Name That Default?

By

Ten years (and a couple jobs) ago, I wrote about naming default constraints to...

Read the latest Blogs

Forums

The day-to-day pressures of a DBA team, and how we can work smarter with automation and AI

By Terry Jago

Comments posted to this topic are about the item The day-to-day pressures of a...

Daily aggregation of Azure Blob Storage by tier (created/tier-change/deleted)

By BOR15K

Hello all, I’m looking for advice on how to derive a daily snapshot table...

SQL 2017 to SQL 2025. Good to Go ?

By homebrew01

We need to replace our Windows server running SQL 2017. Any reason not to...

Visit the forum

Question of the Day

Using OPENJSON

I have some data in a table that looks like this:

BeerID BeerName    brewer               beerdescription
1      Becks       Interbrew            Beck's is a German-style pilsner beer 
2      Fat Tire    New Belgium          Toasty malt, gentle sweetness, flash of fresh hop bitterness.
3      Mac n Jacks Mac & Jack's Brewery This beer erupts with a floral, hoppy taste
4      Alaskan Amber Alaskan Brewing     Alaskan Brewing Amber Ale is an "alt" style beer
8      Kirin       Kirin Brewing         Kirin Ichiban is a Lager-type beer
If I run this, what is returned?
select t1.key
    from openjson((select t.* FROM Beer AS t for json path)) t1

See possible answers