Press "Enter" to skip to content

Month: January 2023

SSMS and Additional Connection Parameters

Tom Zika gets spun around a bit:

The other day I managed to confuse myself. I was looking up some information from an Extended Events (XE) session, but my eyes were playing a trick on me. The database ids were off by one, and I couldn’t find some query hashes in the Query Store, even when they were supposed to be there. So my first thought was that I must be connected to a different server with a drift. But the information in the SSMS tab, status bar and even colour coding (courtesy of Redgate’s SQL Prompt) – all pointed to the correct server.

I don’t think I’ve ever run into this before but could see how it’d be really confusing.

Comments closed

Debugging DAX Measures in Power BI

Marco Russo and Alberto Ferrari bust out the oscilloscope:

Finding errors in DAX measures has always been difficult because a single DAX measure produces different results in different cells of the same report, and we do not have a direct way of executing the code step by step in Power BI. This article describes four techniques to find an error in a DAX formula: we start with variable manipulation that does not require any external tool, and then we see how to leverage features available in DAX Studio, DAX Debug Output, and Tabular Editor 3.

Do check this out, especially if you spend a lot of time writing DAX code.

Comments closed

CETAS in the Serverless Pool and Blob Storage Variants

Dennes Torres gives us a warning:

While making some CETAS tests, I discovered an interesting new behaviour. The following error message was displayed and it was very strange:

Msg 16539, Level 16, State 1, Line 1
Operation failed since the external data source ‘https://euwe01devqigsa01.blob.core.windows.net/dennes/filescsv/’ has underlying storage account that is not in the list of Outbound Firewall Rules on the server. Please add this storage account to the list of Outbound Firewall Rules on your server and retry the operation.

Read on for the cause of this error message.

Comments closed

Using Power BI Powershell Cmdlets

Reza Rad explains the value of the Power BI Powershell cmdlet set:

Power BI has a set of PowerShell Cmdlets that help automate part of the operations with Power BI. However, PowerShell is not a commonly familiar technology. In the world of Power BI, we are used to working with graphical options and settings provided in the tools and the service. However, using commands provided for Power BI in a command/scripting tool such as PowerShell can be an excellent asset for a Power BI administrator, architect, and developer. In this article and video, you will learn about the PowerShell Cmdlets for Power BI, what they are, how they can be helpful, and examples of using them.

There are more modules than I expected there to be and Reza does a good job of walking through them.

Comments closed

Azure SQL DB Lessons Learned

Kendra Little shares a few lessons:

When I think about service objectives, I tend to assume we’re talking about guaranteed uptime, often expressed in some number of 9’s.

But Azure SQL Database has its own language. The best resource I know of to learn that language is the Azure SQL glossary of terms.

Read on for three lessons, two of which are pretty straightforward but the third one is liable to strike without you realizing.

Comments closed

Spark Structured Streaming with Synapse

Ryan Adams builds a demo:

In this post we are going to look at an example of streaming IoT temperature data in Synapse Spark.  I have an IoT device that will stream temperature data from two sensors to IoT hub. We’ll use Synapse Spark to process the data, and finally write the output to persistent storage. Here is what our architecture will look like: 

Click through for the architectural diagram and step-by-step on how to put the demo together.

Comments closed

The Problem with Tornado Graphs

Rita Fainshtein takes a beloved chart and gives it the beating it rightfully deserves:

In the picture above, you can see the execution of the budget on the right (blue), and the budget amount on the left (orange).

This interesting and special graph can be perfectly integrated into any business dashboard.

But does it let you know where the company stands in relation to its budget?

No, it is not. An optimistic view would be challenging, if not misleading.

Click through for more info and alternative ways of displaying this. In fairness, the area where I like seeing tornado charts is a categorical comparison, not a time series comparison, of two things. For example, during a head-to-head matchup in a sporting event, a tornado chart showing relevant stats about each side (or a star player on each side) tends to work reasonably well. Yeah, there are still clearer ways of showing the results in that case, but these have a soft spot in my heart for that specific use case.

Comments closed

The Cost of Ignoring GDPR

Matthew McGiffen looks at the fines:

The biggest fines (both individually and in total) have been levied for improper use of data, with Amazon, WhatsApp, Google and Facebook topping the list. After that though we have fines for insufficient protection of data. In most cases this is where companies have had some form of data breach and the safeguards in place weren’t deemed sufficient. The largest fine in this case was against British Airways who were hacked in 2018 and they received a fine of over 22 million euros for the lack of safeguards. That was calculated as 1.5% of the company’s turnover in 2017.

Read on for a summary of fines by violation type, more detail, and a link to the core data.

Comments closed

Setting CPU Affinity (Correctly)

Taiob Ali does something out of the ordinary:

Setting CPU affinity in SQL Server is not a task you do every day. Rarely are there use cases when you need to do that. I had a recent requirement to do it. We plan to replace a physical server with half of its current CPU. Primarily due to faster CPU and workload moved off of SQL Server to other cloud services. To test, we needed to set the CPU affinity mask in one of our non-production servers. In the research, I learned about the side effect of setting CPU affinity mask, which is nicely explained in this ( by Klaus Aschenbrenner) and this (by Adam Denby) blog post.

Click through to learn more about the process.

Comments closed

Avoiding Dynamic Data Sources Error with OData.Feed

Chris Webb avoids an error altogether:

In my last post I showed how, in many cases, you can avoid the “dynamic data sources” error with OData data sources by taking advantage of query folding. That’s not always possible though and in this post I’ll show you how you can use the Query option of the OData.Feed function to do so instead.

As always, Chris provides some nice detail and good examples.

Comments closed