Sql-Server

Shortcut: Connecting to Azure Storage and other services in SSMS

Shortcut: Connecting to Azure Storage and other services in SSMS

SQL Server Management Studio (SSMS) is a great tool for working with SQL Server relational databases but it can do much more than that.

In Object Explorer, note that you can easily connect to other types of services:

For a long time, it has been able to connect to Analysis Services to manage SSAS databases, both tabular and multi-dimensional. It can connect to Integration Services but that’s to the older style interface for SSIS. Nowadays, you should use the SSIS Catalog instead. There are a few items that you can configure via the Reporting Services connection as well.

2018-09-27

SDU Tools: Convert a hexadecimal character string to an integer in T-SQL

SDU Tools: Convert a hexadecimal character string to an integer in T-SQL

I mentioned in a previous post about how I sometimes need to work with binary strings in SQL Server using T-SQL.  The literal values are hexadecimal strings. T-SQL doesn’t have a simple function to just convert one of these character-pair strings to an integer.

In our free SDU Tools for developers and DBAs, as well as the HexCharStringToChar function, we added a function HexCharStringToInt to do just this.

You can see the outcome in the main image above.

2018-09-26

SQL: Implementing Optimistic Concurrency in SQL Server with RowVersion

SQL: Implementing Optimistic Concurrency in SQL Server with RowVersion

It’s common to need to have a way to read a row of data from a table, to be able to modify it, and to then update it back into the table, but only if it hasn’t been changed in the meantime. But we don’t want to lock it in the meantime. That’s the basis of optimistic concurrency. By contrast, pessimistic concurrency would hold locks the whole time. In SQL Server, you should use the rowversion data type to implement optimistic concurrency.

2018-09-24

Shortcut: Disable certificate revocation checking to start SSMS faster

Shortcut: Disable certificate revocation checking to start SSMS faster

If you have ever started SQL Server Management Studio in an isolated environment (ie: one with no external Internet connectivity), you’ll find that it’s slower to start.

That’s because SQL Server uses signed assemblies, and whenever an application with signed assemblies starts, it needs to check whether or not the certificate that they were signed with has been revoked. It’s not good enough to just check if it’s a valid certificate.

2018-09-20

SDU Tools: Convert a hexadecimal character string to a character in T-SQL

SDU Tools: Convert a hexadecimal character string to a character in T-SQL

On occasions I have to work with binary strings in SQL Server using T-SQL.  The literal values are hexadecimal strings. T-SQL doesn’t have a simple function to just convert one of these character-pair strings to a character.

In our free SDU Tools for developers and DBAs, we added a function HexCharStringToChar to do just this.

You can see the outcome in the main image above.

You can see it in action here:

2018-09-19

SQL: Should we use schemas other than dbo in SQL Server databases? (Part 2)

SQL: Should we use schemas other than dbo in SQL Server databases? (Part 2)

In a recent post, I described the first reason why I think you should be using schemas apart from dbo in your SQL Server database designs. It was to provide a form of grouping like you use with files in your filesystem, and to avoid prefixes. Now we need to talk about the second main reason for using schemas.

Security Boundary

I need to start by saying that if you’re idea of database design and access is to have an ORM that builds queries on the fly and needs access to the entire database without any form of security control apart from what your application provides, you might as well stop reading this post here.

2018-09-17

Book Review: The Rosie Project : A Novel - by Graeme Simsion

Book Review: The Rosie Project : A Novel - by Graeme Simsion

One of my continuing projects is to run a series of podcasts with people that I think are interesting in some way, from the data community. I tend to do them in bursts, normally when there’s a new version of SQL Server coming. (I’m about to publish a series of SQL Server 2019 podcasts). One person that I interviewed early on though was Graeme Simsion. You can find the podcast here. It was show 10 back in December 2005. Graeme was a well-known Data Modeler.

2018-09-14

Shortcut: Using Activity Monitor in SQL Server Management Studio

Shortcut: Using Activity Monitor in SQL Server Management Studio

This is a quick tip but an important one. I see many people using SQL Server Management Studio (SSMS) and they aren’t aware of Activity Monitor.

While there are many clever things that we can do with queries, to interrogate the health of the system, don’t forget that there is quite a bit of useful information in Activity Monitor, and it’s easy to get to.

There are two basic ways to launch Activity Monitor. The first is to right-click the server in Object Explorer:

2018-09-13

SDU Tools: Get SQL Server Table Schema Comparison

In a recent post, I mentioned that I often need to do a quick check to see if the schema of two SQL Server databases is the same, and how our GetDBSchemaCoreComparison procedure can make that easy. On a similar vein, I often need to get a detailed comparison of two tables.

In our free SDU Tools for developers and DBAs, there is another stored procedure called GetTableSchemaComparison to make that easy as well. It takes the following parameters and also returns a rowset that’s easy to consume programmatically (or by just looking at it):

2018-09-12

SQL: Should we use schemas other than dbo in SQL Server databases? (Part 1)

SQL: Should we use schemas other than dbo in SQL Server databases? (Part 1)

In violation of Betteridge’s law of headlines, the answer is yes. When designing SQL Server databases, there are several reasons why you should be considering using schemas and not just having all your objects in the dbo schema.

This is a good example though, of where good advice regarding SQL Server dates. In SQL Server 2000 days, it was sound advice to keep all your objects owned by dbo (and at the time automatically part of the dbo schema), to avoid ownership chaining issues. That’s because ownership and the containing schema were one and the same concept.

2018-09-10