0

I'd like to know what service(s)/process(s) carries out Mirroring in SQL Server. For example, we have various Agents carrying out the different steps for SQL Database Replication. Similarly, what is taking care of the various aspects of Database Mirroring in SQL?

I guess it is a question of "Mirroring Internals", I've not been able to find any convincing answers on MSDN. Links to any related information would be appreciated as well.

Thanks a lot.

EDIT: Just the names and/or a brief description will do, I can go from there. Hopefully this question doesn't seem too broad or to require an elaborate answer.

Santa
  • 559
  • 5
  • 15
  • As far as I know, SQL Mirroring itself is done within the SQL engine itself, because it's a part of the ACID compliance (consistent). It's not like Transaction Log Shipping which is really just a collection of SQL Agent jobs. – Mark Henderson Dec 14 '15 at 03:36
  • 1
    here are some important things which needs to consider when setting up database mirroring in SQL Server http://www.sqlmvp.org/things-to-consider-when-setting-up-database-mirroring-in-sql-server/ – Jason Clark Mar 30 '16 at 07:20

1 Answers1

3

SQL Server Mirroring is part of the core engine. When you setup mirroring, SQL Server enables a TCP endpoint to support the flow of log records from the primary server to the secondary server, and to optionally connect the witness server.

Mirroring actually consists of sending log data from the primary to the secondary. Since Mirroring can be configured to provide synchronous commits at the secondary, the mirroring code needs to be processed in the core SQL Server engine. The process name for SQL Server is sqlservr.exe, there is no other component that runs mirroring.

You may be able to determine if SQL Server is using Mirroring by looking for the TCP endpoints.

If you have access to a machine with mirroring active, you can confirm that the SQL Server Engine runs mirroring simply by looking at the process that created the TCP mirroring endpoint, via the command-line utility netstat:

C:\> netstat -a -b

Output will look like:

 TCP    [::]:5022              MYMACHINE:0           LISTENING
[sqlservr.exe]
Hannah Vernon
  • 185
  • 4
  • 17
  • Thanks @Max Vernon, getting any official documents for this has still proved elusive. Just as getting a document for the architecture of SQL is. – Santa Dec 23 '15 at 01:31