SQL Server Service Start-Up tasks sequence
Read configuration values from [Link] [Link]
Stores the configured values in memory
Memory
Write to ErrorLog
Intiate SQLOS
Schedulers and multiple threads created
Enables DAC
Initial memory allocation based on
o Configuration values
o –g startup parameter
o Platform
o Physical Memory
No entry in ErrorLog (unless lightweight
pooling / Fibre Mode enabled)
Error Log
B DTC Transaction Initiation
Attempt to recover any In-doubt
transaction
Write to ErrorLog
SNI (SQL Network Interface) initiated
No entry in ErrorLog
Main Background Threads are started
o Lazywriter
o Log Writer
o Checkpoint
o Database Mirroring
Error log written for
Database Mirroring if it
is enabled
A
.
A
Main Thread Thread 1
Processing & Farming all Opens, Recovers & Starts
running tasks Master database
Thread 2
B Opens, Recovers & Starts
Main Thread waits till it
Starts up default trace and
Resource Database
N Model database
is notified about Tempdb
recovery
Main Thread is notified Opens, Recovers & Starts
about tempdb creation Tempdb database
Now ready for user Reads master database,
connection runs recovery of one user
database at a time
Allowing connections into server
Thread 2 ends
before this could have prevented This step is skipped if trace flag 3607
tempdb from recovered as all the or 3608 are enabled or –f is specified
worker threads would have been as startup parameter
consumed by user connections
Starts Protocols for
o Service Broker
o Database B
Mirroring N
Starts Service Broker
Manager
Announces Server is Launches any startup
ready for client Stored Prcedures
connection
Continues as Signal
Handler
This checks if the engine has been
notified to shut down by SCM