如何允许使用 Windows 身份验证进行数据库镜像网络访问 (Transact-SQL)

对于要使用 Windows 身份验证的数据库镜像,如果在镜像数据库中涉及的服务器实例都使用同一域用户帐户,则自动存在正确的登录,无需另行创建。但是,如果服务器实例使用不同的用户帐户(不论是在同一个 Microsoft Windows 域中,还是受信任的 Windows 域中),则对于每个实例,必须为所有其他实例的启动服务帐户创建一个登录。

有关详细信息,请参阅数据库镜像传输安全性

注意注意

确保每个服务器实例都有一个端点。有关详细信息,请参阅如何创建使用 Windows 身份验证的镜像端点 (Transact-SQL)

允许使用 Windows 身份验证进行数据库镜像网络访问

  1. 如果服务器实例使用不同的域用户帐户作为启动服务帐户,则使用 CREATE LOGIN 语句的 FROM WINDOWS 子句为远程服务器实例的用户帐户创建一个登录。

  2. 另外,为了确保登录用户对端点具有访问权限,应为登录授予对端点的连接权限。注意,如果用户是管理员,则无需授予对端点的连接权限。

示例

下面的示例为属于 Adomain 域的 Otheruser 用户帐户创建了一个 SQL Server 登录名。并授予了此用户对预先存在的 Mirroring_Endpoint 数据库镜像端点的连接权限。

USE master;
GO
CREATE LOGIN [Adomain\Otheruser] FROM WINDOWS;
GO
GRANT CONNECT on ENDPOINT::Mirroring_Endpoint TO [Adomain\Otheruser];
GO
注意注意

有关显示安全设置、准备镜像数据库、设置伙伴和添加见证服务器的完整示例,请参阅设置数据库镜像