The Bit Bucket

Book Review: The 7 Habits of Highly Effective People

Book Review: The 7 Habits of Highly Effective People

While continuing on the path of listening to many older but classic books, I had to include The 7 Habits of Highly Effective People by Stephen R Covey.

I remember first reading this book shortly after it was released. I note that the version I listened to in Audible recently was the 25th anniversary edition. I’d say it’s stood the test of time pretty well. An enormous number of copies (over 25 million) have apparently been sold over those years.

2018-10-05

Shortcut: XML editor in SSMS and increasing XML output size

Shortcut: XML editor in SSMS and increasing XML output size

Most people use SQL Server Management Studio (SSMS) to edit SQL queries. No big surprise there. The files will have a file type of .sql.

But what many people don’t understand is that SSMS inherits many of its underlying Visual Studio’s abilities to edit other document types.

For example, if you open a .txt text file, you can edit it just fine, and you can also include files like this in SSMS script projects. That can be useful for additional notes and documentation.

2018-10-04

SDU Tools: Is a SQL Server Agent Job Running ?

SDU Tools: Is a SQL Server Agent Job Running ?

I often need to write scripts that interact with SQL Server Agent jobs. One thing that I regularly need to know is if a particular job is currently running.

In our free SDU Tools for developers and DBAs,  we added a function IsJobRunning to work that out.

You can see the outcome in the main image above.

You can see it in action here:

YouTube Video

2018-10-03

Opinion: What's with the lack of coding standards in Data Science?

Opinion: What's with the lack of coding standards in Data Science?

I’ve been spending a lot of time over the last few years working through data science and AI topics. One thing that’s struck me consistently is the total lack of reasonable coding standards in almost all the sample code that I see.

I was doing an AI lab in eDX recently, and one of the questions got me to open some sample Python code for a virtual environment, and asked me to work out how the virtual world that it created operated.

2018-10-02

SQL Server Q&A: Does SQL Server have a boolean data type? Is that a bit?

SQL Server Q&A: Does SQL Server have a boolean data type? Is that a bit?

Simple answer: No

SQL Server has a concept of boolean data type but it doesn’t have an actual boolean data type. I can’t declare a column with a boolean data type, and I can’t use it that way. However, the concept of boolean data is present.

For example, if I write the following:

SELECT * FROM Sometable WHERE Somecolumn = Someothercolumn

the outcome of that comparison is TRUE, FALSE, or (don’t forget) NULL. And remember that NULL isn’t a value; it’s the lack of a value. WHERE clauses are satisfied when the value of the predicate is TRUE.

2018-10-01

Book Review: The Rosie Effect - by Graeme Simsion

Book Review: The Rosie Effect - by Graeme Simsion

I mentioned in a previous review about how much I enjoyed The Rosie Project by Graeme Simsion. I couldn’t wait for the sequel to come out and so I eagerly read The Rosie Effect: A Novel as soon as it was released.

The first book introduced us to Don Tillman, working on genetics at a local university and trying to help Rosie find her father. All along, he’s trying to find a wife using scientific principles.

2018-09-28

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

Opinion: Passwords are a completely broken concept

Opinion: Passwords are a completely broken concept

For a long time, passwords have troubled me conceptually. I now believe that, as a concept, they are beyond broken. As an industry, we need to do better.

I might well need to do with more identities, passwords, multi-factor authentication options, etc. than the average consumer but I know it’s beyond me to get this right, at least in the way that vendors, financial institutions, and source providers expect me to.

2018-09-25

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