One of the joys for much of my early life was walking through a library, looking for a book to curl up in the corner with and read. As a young boy, I would walk to a local library and read at the wooden tables before I had my own library card to check out books. Later, I moved and had a newer library with large, comfortable chairs in which to sit and read a few pages. I've enjoyed the same thing as an adult in various bookstores.
I didn't often have a specific book I wanted to read, so I'd randomly walk around, looking at spines, covers, and choosing a book in a somewhat random fashion. My fellow founder at SQLServerCentral, Andy Warren, also appreciated the randomness of browsing in a library for bookstore, discovering some new author or story to enjoy. Across the years, we've discussed and debated whether or not there was a way to duplicate this experience with technology.
These days I tend to buy or borrow all my books electronically. The convenience and unparalleled and time is valuable, and I certainly don't miss the days of packing 4-5 large books for a week long conference trip. However, Amazon and my local library tend to use recommendation algorithms, or popular titles as the presentation method for their sites. I have lost quite a bit of the ability to enjoy the randomness that comes from wandering and happening upon new titles. Andy feels the same way, though none of our brainstorming has produced a way to duplicate the feeling of wandering through bookshelves in an electronic fashion.
I'm not sure if there is or isn't a way to deuplicate this electroncially, but certainly the feel isn't the same on a screen. All too often our focus when working with data is narrowed to a limited set of choices. And often when we build applications and provide data to users, we are trying to be exacting and relevant, not random. So much of what we choose to do in software is to remove much of the randomness from our systems. Event the "browse" features are often scoped or focused in a particular topic, subject, or area.
This filtering to a particular bubble of data is one of those areas where we have tremendous power in shaping the world. The code and queries we write, the organization of our data, this will have an impact on our users, and I'm not always sure this is for the best. Perhaps overall this is more helpful, but it also serves to prevent us from viewing the forest, only seeing the trees. If you doubt this, try browsing the internet in Private mode sometimes and run searches. You might be amazed how different the Internet can look.
The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music.
Free whitepaper: Solving the database deployment problem with Database DevOps
Learn how to extend DevOps practices to SQL Server databases, so you can spend less time managing deployment pain and more time adding value. Download the free whitepaper
Write, format, and refactor SQL effortlessly with SQL Prompt
Writing SQL is 50% faster with SQL Prompt. Your SQL code can be formatted just the way you like it, you can create and share snippets with your team, and with tab coloring you’ll never deploy to the wrong environment again. Download your free trial
When we have to deal with and store a lot of data, it makes sense to aggregate it so that we store only the information we actually need. If we get this right, this works well, but the design of the system takes care and thought because the problems can be subtle and various. Joe Celko describes some of the ways that things can go wrong and end up providing incorrect, inaccurate or misleading results. More »
The EU Global Data Protection Regulation (GDPR) goes into effect on May 25, 2018 - and we know that many of you are searching for guidelines and recommendations for how to properly handle the data privacy and data protection requirements stipulated by the GDPR. This guide provides technical guidance and best practices for addressing data privacy concerns and enhancing your overall data protection and security strategy with Microsoft SQL technologies. More »
In case you missed the first post on this topic, you can read it here: SQL Server: SARGability. This post... More »
Question of the Day
Today's Question (by Steve Jones):
I want to create a large database in the year 2017, but I don't want to calculate a number of bytes. What are the options for the scale of numeric values in the MAXSIZE parameter? Meaning, as an example, can I use 10KB as a value instead of choosing 10240?
Think you know the answer? Click here, and find out if you are right.
We keep track of your score to give you bragging rights against your peers.
This question is worth
1 point in this category: T-SQL.
We'd love to give you credit for your own question and answer.
To submit a QOTD, simply log in to the
Automate your workload and manage more databases and instances with greater ease and efficiency by combining metadata-driven automation with powerful tools like PowerShell and SQL Server Agent. Automate your new instance-builds and use monitoring to drive ongoing automation, with the help of an inventory database and a management data warehouse. Get your copy from Amazon today.
Yesterday's Question of the Day
(by Alan Burstein):
How many times will the following T-SQL query print the text: hi ?
SET ANSI_NULLS ON;
@y INT = NULL;
IF @x = @y
IF @x = NULL
OR @y = NULL
IF NULL = NULL
OR NOT NULL = NULL
IF NOT (NULL IS NOT NULL)
Answer: Once for "if not (null is not null)"
Provided that ANSI_NULLS are ON, The only T-SQL statement above that evaluates to true is:
if not (null is not null)
If ANSI_NULLS was OFF then all those statements would evaluate to true.
NULL values are not equal to anything in SQL Server, not even other NULL values. NULLs are also not unequal to anything. Think of comparing NULLs like looking at two bags with an unknown quantity of apples and asking if both bags have the same number of apples: both "yes" and "no" are incorrect.
Edit the variables at the top with the correct names, ports and make sure SPN's are correct and in place I have had some issues using the main AG PowerShell setup script at the end snapping in the replicas due to missing SPN's. This is pretty simple to use and not much code considering what is accomplished as the end result. I hope you are able to make good use of the script. It is kinda fun to sit and watch PowerShell do the work. I added some write-host code so you know where the script is at while it is processing.
This newsletter was sent to you because you signed up at SQLServerCentral.com.
Feel free to forward this to any colleagues that you think might be interested.
If you have received this email from a colleague, you can register to receive it here.