What reasons are there to stop the SQL Server?

Brent listed some invalid reasons for stopping the service, but there are valid reasons too:

  • Restart required by a service pack or other update
  • Certain configuration changes (e.g. service account change, hardware changes, instant file initialization, this list could go on for weeks)
  • In a cluster, a restart to force a failover or applying a rolling patch
  • Windows patching

Because they think there's a memory problem - SQL Server uses all of the memory available to it, up to its max memory setting (and even beyond.) Unknowing folks go into Task Manager, see SQL Server using a lot of memory, and think, "There must be a memory leak - I'll stop and restart SQL Server, and see what happens." Sure enough, that frees up a lot of memory (because SQL Server doesn't allocate it all right away by default), so they think they fixed the bug. Next thing you know, they're restarting SQL Server weekly.

Because they think there's a CPU problem - queries will use a ton of CPU resources, especially in the case of parameter sniffing issues. Unknowing folks try to connect into the SQL Server without knowing about the Dedicated Admin Connection (DAC), be unable to connect, and just run out of options. They restart because the executives are standing behind them, wanting a solution fast.

Because they've heard it fixes corruption - when folks run into a corruption issue, they're often willing to try anything to fix it.

Because they want a rollback to finish - they kill a query, and it sticks in rollback for a while because they didn't know rolling back a query is single-threaded. After minutes (or hours) of waiting, they restart the SQL Server, thinking the rollback won't be necessary when it starts back up again. Sadly, they're wrong, and SQL Server just keeps right on going with the rollback upon startup.