The trusty "sp_who2" is a quick way to look at what’s happening on your SQL instance, but completely lacks the ability to filter using a WHERE clause. You may have to manually sift through hundreds of results to find what you need. Never fear. This quick script gives you the...
TSQL
When your security gets unruly, it can get time consuming to figure out how a user is accessing a SQL instance. Sometimes you may know that a user is getting access via one certain AD group but you aren’t sure if any other groups are granting access. Furthermore, a user...
Here is a situation I just came across (boiled down and simplified). An end user was having to manually find a user id, navigate to an image folder, and then search through hundreds of images to find the one corresponding with that user. Sure, they were in numerical order, but still,...
This is perhaps my most commonly used query when troubleshooting. From SQL Server DMV’s in action ebook. The output shows the spid (process identifier), the ecid (this is similar to a thread within the same spid and is useful for identifying queries running in parallel), the database name, the user...
When using AlwaysOn, you must connect using your listener name, not your node name. If you connect with the node name, it will only work until there is a failover, which would defeat the purpose of your High Availability setup, right?
Query to get all currently running jobs with their run duration in seconds. Source: http://www.sanssql.com/2013/08/t-sql-query-to-find-currently-running.html SELECT [J].[name] AS [Running_Jobs] , [JA].[Start_execution_date] AS [Starting_time] , DATEDIFF(ss, [JA].[Start_execution_date], GETDATE()) AS [Has_been_running(in Sec)] FROM [msdb].[dbo].[sysjobactivity] [JA] JOIN [msdb].[dbo].[sysjobs] [J] ON [J].[job_id] = [JA].[job_id] WHERE [job_history_id] IS NULL AND [start_execution_date] IS NOT NULL ORDER...
This is a bit of a scary task. Someone tells you about 87 databases that all need to be restored from the most recent FULL backups. You can either spend the rest of your day pointing and clicking, or you can use some PowerShell power to crank out the script...
Get some clustered facts about your server.
One common question I hear whenever something begins to go wrong is, “Has anything been changed recently?” Finding recent changes can be a good place to search, depending on the issue, so here is a script to do just that. /* – Relatively light weight – runs in a couple...
Validate SQL Code Without Running It In a nutshell: SET NOEXEC ON; — The script now will throw all DML errors without executing the code being run.