Towards the end of last week I found myself putting the finishing touches on my demo for my upcoming talk at the North Texas SQL Server User Group meeting. My demo is not anything flashy, I just wanted a way to get it up and running with as few clicks as possible. I just *knew* that I could use Powershell for this somehow so I looked into a handful of ways to get the job done but nothing seemed to be as simple as it should.

Enter Buck Woody (blog | @buckwoody).

I emailed Buck, gave him a quick description of what I was trying to do and he didn’t waste any time with an answer:

“Ah, yes, what you need is a ‘job’.”

“Thanks Buck, but I already have a job, what I need is to get this demo script finished.”

“No, you need a Powershell job.”

“Gee, thanks for the vote of confidence Buck, but I don’t think anyone is going to hire me just to do Powershell.”

“No, you fool, what you need is this.”

The idea is very simple, I simply want to start multiple connections to my SQL instance. The Start-Job cmdlet allows for this to happen. It kicks off your command as a background process and then goes onto the next line. So now my code can be reduced to just a few lines:

Add-PSSnapin SqlServerProviderSnapin100
Add-PSSnapin SqlServerCmdletSnapin100

Set-Location SQLSERVER:\SQL\SQLROCKSTAR-ONE\BACON

start-job -filepath "C:\WaitsAndQueuesAndYou\NTSSUG_demo1.ps1"
start-job -filepath "C:\WaitsAndQueuesAndYou\NTSSUG_demo2.ps1"
start-job -filepath "C:\WaitsAndQueuesAndYou\NTSSUG_demo3.ps1"
start-job -filepath "C:\WaitsAndQueuesAndYou\NTSSUG_demo4.ps1"
start-job -filepath "C:\WaitsAndQueuesAndYou\NTSSUG_demo5.ps1"

And I get the chance to monitor and capture some activity, which is what I wanted.

Thanks Buck, for all of your help last week.