I run several SQL Server instances on my laptop, however I’ll keep the services shutdown to conserve resources and then start up the instance when needed. Doing this type of stuff through the GUI results in several clicks
- Right click on SQL instance in SSMS
- Select Service Control >> Start
- Then you’re of course prompted for UAC
- A second prompt asking if you really want to Start SQL Server
This is kind of a pain and much easier to do through a simple PowerShell script called Start-Sql
Start-Process powershell.exe -argumentlist '-noprofile -command get-service -Name "MSSQL`$R2" | ? {$_.Status -eq "Stopped"} | Start-Service' -verb runas
The script starts a SQL Server service named “MSSQL$R2” using the the cmdlets Get-Service and Start-Service. A little trick of using start-process with the –verb runas command kicks of a powershell host as administrator. To stop service the service I’ll use a stop-sql script:
Start-Process powershell.exe -argumentlist '-noprofile -command get-service -Name "MSSQL`$R2" | ? {$_.Status -eq "Running"} | Stop-Service -force' -verb runas
Note: I’ve hardcoded the instance service name so I don’t have to specify a parameter each time. You’ll need to change “MSSQL$R2” to your instance.



Subscribe to this blog
Briefcase
Print
Posted by Jason Brimhall on 19 November 2010
I do a similar thing - but not with powershell. I could use this too though.
Posted by cmille19 on 21 November 2010
I may not have SQL Server running locally all the time, but do have a PowerShell command window open most of the day, so for me it made sense to use a PowerShell script.