Sql-Server

T-SQL 101: 9 Finding out what's in a SQL Server table

In the last post, I described what tables were, and then showed how to view their contents using an option in Object Explorer in SQL Server Management Studio (SSMS).

If you’ve ever seen a SQL query of any type, you will have seen one like this:

It says to return all columns from the table, and to return all rows.

Fair enough.

But there are a few things to understand about this simple statement:

2019-03-19

SQLBits - A World of Free SQL Server and Data Information Online

There are many SQL Server events around the world each year, and many are just awesome events. One that has grown non-stop and is currently my pick of these events is SQLBits.

Our UK buddies behind this (currently Simon Sabin, Darren Green, Annette Allen, Jonathan Allen, and Alex Whittles) have created an event that all others should be looking to.

I love the way they combine technical content with fun.

2019-03-18

Our new online on-demand SQL Server Reporting Services class is now live!

Need to learn SQL Server Reporting Services or know someone else that needs to?

We’ve been working hard to move all our popular in-person training courses online and on-demand, so anyone in the world can take them.

Our SQL Server Reporting Services for Developers and DBAs course is now out the door.

This is the same course that we run as the first day of our 5 day BI Core Skills course. And it’s not just videos, there are:

2019-03-16

SQL: What's negative rounding in SQL Server T-SQL?

I remember being pleased some years back when I finished reading all of SQL Server’s Books Online (now just the documentation pages for T-SQL and SQL Server). The more of those pages I read, the more I was fascinated by small things that I hadn’t noticed even though I’d used the product for a long time. There’s so much to SQL Server and even just to T-SQL, that I still find unexpected things all the time.

2019-03-14

SDU Tools: TrainCase and KebabCase in T-SQL

In our free SDU Tools for developers and DBAs, a number of the string formatting functions have been quite popular, and we keep getting requests for even more.

Today’s post highlights another two of these. TrainCase is words with the first letters capitalized, then separated by underscores. KebabCase has dashes as separators. It’s named because it looks like a kebab.

You can see them (and some others) in action in the main image above, and in this video:

2019-03-13

T-SQL 101: 8 What are tables in SQL Server?

I mentioned previously that databases hold collections of information about related things. But what are these “things”? Well, that’s what the tables are.

Tables are the most basic objects that live in a database. They hold information about one type of thing. You might call the things “entities” but it’s not 100% accurate. It’s the same problem if you call them “objects”. They aren’t really objects. They basically are just “things” that we’re storing information about, like employees, books, cinemas, products, and more. ANSI SQL called them “relations”.

2019-03-11

Shortcut: Accessing script files and folders in SQL Server Management Studio

This one is a very simple and quick tip.

When working in SQL Server Management Studio (SSMS), I often need to open File Explorer in the folder where the script file is stored. Turns out there is an easy way to do that.

There are two interesting options when you right-click the tab at the top of a query window:

Note that you can open the containing folder for the script. You can also copy the path to the script into the clipboard.

2019-03-07

SDU Tools: Screaming Snake Case and Sponge Bob Snake Case in T-SQL

In our free SDU Tools for developers and DBAs, a number of the string formatting functions have been quite popular, and we keep getting requests for even more.

Today’s post highlights two of these. Screaming Snake Case is words in capitals separated by underscores. Sponge Bob Snake Case has underscore separated words (hence the “snake case” part) with alternating capitals. (It’s just for fun).

You can see them (and some others) in action in the main image above, and in this video:

2019-03-06

SQL: The Down Side of a Low FILLFACTOR

When you create or rebuild an index in SQL Server, you can specify a FILLFACTOR value. It determines how full (as a percentage) that SQL Server should try to make the pages.

There is also one special value. Zero says “I haven’t set a value” and it applies the default, which by default, is 100%. Any value from 1 to 100 is the target percentage.

So why do people set lower values for FILLFACTOR? The argument is they know that their inserts are going to happen all over the table (i.e. not just neatly at the end of the table), and they’re trying to avoid page splits. And yes, lots of page splits can be a nasty thing. The most common problem case that people describe is where they’ve used a GUID as a clustering key (usually also a primary key) for a table. Then the inserts happen randomly throughout the table.

2019-03-05

T-SQL 101: 7 How are users different to logins in SQL Server?

One concept that often confuses newcomers to SQL Server is the difference between a login and a user.

In an earlier post, I mentioned that being authenticated to a server is what’s called a login. In this example shown, I have a log in here called Malathi. But as I said, this means nothing about what databases Malathi then has access to.

The connection between a login and a database is what the concept of a user is about.

2019-03-04