I was looking for an efficient way to eliminate overlapping days when provided with a historical table that provided events that could overlap. In my case, I had dates show the range of a process. However, the multiple start and end dates could overlap, and even run concurrently. To eliminate… Read more
If you want to create sample random samples when dealing with date calculations to test your results, you can easily create a start and end point of randomly created dates.
This is a snippet I've saved for reuse:
language-sql DATEADD(day, (ABS(CHECKSUM(NEWID())) % $Days Seed Value$), '$MinDate$')
This should let you… Read more
A step by step explanation on one way to get a consecutive period of months, which could easily be adapted to days, years, or other values.
I'll continue on this track and post a tutorial on eliminating overlapping dates soon.
Ran across a comment the other day that scalar functions prohibit parallelism for a query when included. I thought it would be worth taking a look, but didn’t take it 100% seriously.
Came across the same indication today when reviewing MVP deep dives, so I put it to the test.… Read more
Renaming all references inside stored procedures and functions can be migraine worthy without a little help…
If you run across migrating or copying a database structure for some purpose, yet need to change the database references or some other string value inside all the procedures and functions to point to the newly named object, you are in for a lot of work!
I built this procedure… Read more
I’ve never really used the F1 key for help files with most applications. I was surprised at the usefulness in SSMS I discovered today that uses scripting to actually get you MSDN articles relevant to your current selection in the query editor.
If you have a keyword selected and want… Read more
If you have a set of columns inside your table that you want to allow nulls in, however if one of the columns is updated force all columns in the set to be updated, use a check constraint. In my case, I had 3 columns for delete info, which were… Read more
SSMS 2012 Extender for the times you want some organization to the random pile of objects gathering in the dusty confines of that database
When dealing with large amounts of objects in a database, navigation can be tedious with SSMS object explorer. This extender organizes the objects into groups based on schema, helping a developer easily navigate to the appropriate object. The current version didn’t work for views, but the other objects were grouped… Read more
Quick snippet I put together for reviewing basic info on database users/principals, permissions, and members if the principal is a role.
/******************************************************* Some Basic Info on Database principals, permissions, explicit permissions, and if role, who is in this role currently *******************************************************/ ; with roleMembers as ( select drm.role_principal_id ,dp.principal_id ,dp.name…
Msg 402, Level 16, State 1, Line 67
The data types varchar and void type are incompatible in the add operator.
I came across this error today when I accidentally used a computed column in a temp table, that referenced itself. This very unhelpful message was caused by referring to… Read more
Snippet to quickly view computed column information. You can also view this by doing a “create table” script. This however, was a little cleaner to read and view for me.
select database_name = db_name() ,object_schema_name = object_schema_name( object_id ) ,object_name = object_name( object_id ) ,full_object_name = object_schema_name( object_id ) +…
For sake of future generations, let’s begin to reduce typing and reuse code we’ve built. I think we can all agree that TSQL statements are often repeated. Ideally, snippets should be created to reduce repeated typing and let us focus on logic and content. However, some statements may not really… Read more
If you want to audit your enviroment to look at all your synonyms and see where they are pointing, you can use exec sys.sp_MSforeachdb to loop through databases, and even filter. It will save some coding. However, my research indicates it is probably a bad practice to rely on this… Read more
Handling dates is always a fun challenge in T-SQL! Finding the current end of month and next months beginning of month is straight forward, but I like to find new ways to do things that take less coding, and hate date conversions that require a lot of manipulation of characters… Read more
SQL Server Management Studio (SSMS) is not offered as a standalone download on MSDN.
Installation requires the user to download the sql server installation package and choose to install only this single feature. For developers, SQL Developer edition is a great choice.
Snippet to designate a certain time of the day to evaluate in the current day. If you need to limit a result to the current date after a particular time, strip the time out of the date, and concatenate the current time together with it, and then convert back to… Read more
Intellisense can be a boon to adding quick development. Quick hints on scope specific variables, syntax suggestions, function descriptions and more provide a valuable tool to productive coding.
Coding in SQL Server Management Studio (SSMS) has greatly improved over the version releases, but it still lags behind the power of… Read more
Dynamic SQL can be helpful, but a pain to debug. I spent hours today working on figuring out why my simple date comparison in dynamic SQL wasn’t working. Found out that the remote database I was connecting to had a char date instead of a datetime. I found the comparison… Read more
Populating default dates in SSRS can be helpful to save the user from having to constantly input the date range they normally would use. When a report is pulled for last month’s information, defaulting the date fields for the user can help streamline their usage of the report, instead of… Read more