Set Up Login Accounts for Database Mirroring or AlwaysOn Availability Groups (SQL Server)

For two server instances to connect to each other's database mirroring endpoint point, the login account of each instance requires access to the other instance. Also, each login account requires connect permission to the database mirroring endpoint of the other instance.

The impact of this requirement depends on whether the server instances run as the same domain user account:

  • If the server instances run as the same domain user account, the correct user logins exist automatically in both master databases. This simplifies the security configuration for Database Mirroring and AlwaysOn Availability Groups.

  • If the server instances run as different user accounts, user logins on the server instance that hosts the principal server or primary replica must be manually reproduced on the server instance that hosts the mirror server or on every server instance that hosts a secondary replica. For more information, see Create a Login for a Different Account and Grant Connect Permission, later in this topic.

    Security noteSecurity Note

    To create a more secure environment, consider using separate domain accounts for each server instance.

Create a Login for a Different Account

If two server instances run as different accounts, the system administrator must use the CREATE LOGIN Transact-SQL statement to create a login for the startup service account of the remote instance in the syslogins table of the master database of each server instance. For more information, see CREATE LOGIN (Transact-SQL).

Important

If you run SQL Server under a non-domain account, you must use certificates. For more information, see Use Certificates for a Database Mirroring Endpoint (Transact-SQL).

For example, for the server instance sqlA, which runs under loginA, to connect to the server instance sqlB, which runs under loginB, loginA must be in the syslogins table on sqlB, and loginB must be in the syslogins table on sqlA. In addition, for a database mirroring session that includes a witness server instance (sqlC) and in which the three server instances run under different domain accounts, the following logins must be created:

On instance...

Create logins for and grant connection permission to ...

sqlA

sqlB and sqlC

sqlB

sqlA and sqlC

sqlC

sqlA and sqlB

Note

It is possible to connect with the network service account by using the machine account instead of a domain user. If the machine account is used, it must be added as a user on the other server instance.

Grant Connect Permission

Once a login has been created on a server instance, the login must be granted permission to connect to the database mirroring endpoint of the server instance. The system administrator grants the connect permission using a GRANT Transact-SQL statement. For more information, see GRANT (Transact-SQL).

See Also

Concepts

The Database Mirroring Endpoint (SQL Server)

Troubleshoot Database Mirroring Configuration (SQL Server)

Troubleshoot AlwaysOn Availability Groups Configuration (SQL Server)