Sdu-Tools

SDU Tools: List and Retrust Untrusted Foreign Key Constraints in SQL Server

SDU Tools: List and Retrust Untrusted Foreign Key Constraints in SQL Server

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. I do a lot of reviewing of database designs and one thing I always check for is foreign key constraints that are not currently trusted. So we added a tool that can help to find these. It’s called ListUntrustedForeignKeys.

The procedure takes three parameters.

@DatabaseName is the database to process @SchemasToList is a comma-delimited list of schema names to process @TablesToList is a comma-delimited list of table names to process

2025-02-27

SDU Tools: List and Retrust Untrusted Check Constraints in SQL Server

SDU Tools: List and Retrust Untrusted Check Constraints in SQL Server

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. I do a lot of reviewing of database designs and one thing I always check for is check constraints that are not currently trusted. So we added a tool that can help to find these. It’s called ListUntrustedCheckConstraints.

The procedure takes three parameters.

@DatabaseName is the database to process @SchemasToList is a comma-delimited list of schema names to process @TablesToList is a comma-delimited list of table names to process

2025-02-25

SDU Tools: SQL Server Type

SDU Tools: SQL Server Type

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. A request that I had a while back was to have a function that returned what type of SQL Server the code was being executed on. So we added the SQLServerType function.

It takes no parameters.

As this is an enumerated value, it’s just a CASE statement.

Find out more

You can see it in action in the main image above, and in the video here. The full current version of the code is also shown below:

2025-02-19

SDU Tools: Last SQL Server Restart

SDU Tools: Last SQL Server Restart

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. A request that I had a while back was to have a function that returned the last time that SQL Server was restarted. So we added the LastSQLServerRestart function.

It takes no parameters.

I used to have a more complex way to work this out, but thanks to a great suggestion from our buddy Rob Wylie, it now just looks for the creation time of tempdb. That’s pretty good and simple to implement.

2025-02-17

SDU Tools: List Constraints with System Names in SQL Server

SDU Tools: List Constraints with System Names in SQL Server

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. I do a lot of reviewing of database designs and one of my least favourite things to see is the use of default system names for constraints. So we added a tool that can help to find when this has happened. It’s called ListConstraintsWithSystemNames.

The procedure takes three parameters.

2025-02-13

SDU Tools: Format Australian Phone Number

SDU Tools: Format Australian Phone Number

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. One request that we had some while back, was the ability to format phone numbers using Australian phone number format. To make that easy, we added the FormatAustralianPhoneNumber function.

The only parameter for this function is the phone number that needs to be formatted.

It starts by finding any digits. Then if it finds either 6, 7, 8, or (the standard) 10 digits, it formats the number appropriately.

2025-02-09

SDU Tools: Languages in SQL Server T-SQL

SDU Tools: Languages in SQL Server T-SQL

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. Applications often need to display a list of languages for users to choose from. To make that easy, we have now included a view called Languages.

The Languages view returns details of all the world’s languages, based on ISO 639-1. For each language, the view returns:

  • FamilyName
  • LanguageName
  • NativeLanguageName
  • ISO2CharacterCode
  • ISO3CharacterCode

The FamilyName indicates the group of languages that the language belongs to. The LanguageName is what we call it in English. The NativeLanguageName is what locals call the language. And then there are the 2 and 3 character codes from the ISO standard.

2025-02-08

SDU Tools: ExcelSerialToDateTime and DateTimeToExcelSerial

SDU Tools: ExcelSerialToDateTime and DateTimeToExcelSerial

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. Excel is fascinating in how it stores data. I have friends who joke that everything in Excel is a number or a string, and anything else you see is an illusion.

Date and time values in Excel are odd and use what most call a serial number when they’re stored. It’s common to need to import values from Excel into SQL Server and to export values to Excel.

2025-02-07

SDU Tools: Tools View

SDU Tools: Tools View

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. A while back, we added the ability to retrieve the version of the toolset programmatically, but an interesting request that we had, asked for the ability to query the toolset for the tools themselves. The Tools view now does that.

The view returns the following columns:

ToolName ToolTypeCode ToolType Category Description VideoURL

2025-02-03

SDU Tools: Calculate Age in Months

SDU Tools: Calculate Age in Months

Another request that I received a while back, for a new function in our free SDU Tools for developers and DBAs, was to be able to find someone’s age in months. The same would apply to anything where the distance between two dates needs to be measured in months. In response, we added a new function CalculateAgeInMonths.

It takes two parameters:

@StartingDate date - the date to calculate from (could be a birth date if it’s an age) @CalculationDate date - the date to calculate the age to

2025-02-02