设置登录帐户 - 数据库镜像 AlwaysOn 可用性
适用于: SQL Server
为了使两个服务器实例能够连接到彼此的数据库镜像端点,每个实例的登录帐户都要具有访问另一实例的权限。 每个登录帐户还要具有可以连接到另一实例的数据库镜像端点的权限。
此要求的影响取决于服务器实例是否使用相同的域用户帐户运行:
如果服务器实例使用相同的域用户帐户运行,则正确的用户登录名将自动存在于全部两个 master 数据库中。 这样可简化数据库镜像和 AlwaysOn 可用性组的安全性配置。
如果服务器实例使用不同的用户帐户运行,则在承载镜像服务器的服务器实例上或承载辅助副本的每个服务器实例上都必须手动复制承载主体服务器或主要副本的服务器实例上的用户登录名。 有关详细信息,请参阅本主题后面的为不同帐户创建登录名和授予连接权限。
重要
要创建更安全的环境,请考虑为每个服务器实例使用单独的域帐户。
为不同帐户创建登录名
如果两个服务器实例作为不同的帐户运行,则系统管理员必须使用 CREATE LOGIN Transact-SQL 语句针对每个服务器实例为远程实例的启动服务帐户创建一个登录名。 有关详细信息,请参阅 CREATE LOGIN (Transact-SQL)。
重要
SQL Server 如果使用非域帐户运行 ,则必须使用证书。 有关详细信息,请参阅使用数据库镜像终结点证书 (Transact-SQL)。
例如,若要使 loginA 下运行的服务器实例 sqlA 连接到在 loginB 下运行的服务器实例 sqlB,则 sqlB 上必须存在 loginA 且 sqlA 上必须存在 loginB。 此外,对于包含见证服务器实例 (sqlC) 且三个服务器实例运行在不同域帐户下的数据库镜像会话,必须创建下列登录帐户:
所在实例... | 创建登录帐户并将连接权限授予... |
---|---|
sqlA | sqlB 和 sqlC |
sqlB | sqlA 和 sqlC |
sqlC | sqlA 和 sqlB |
备注
可以使用计算机帐户(而不是域用户)连接网络服务帐户。 如果使用的是计算机帐户,则必须将其作为用户添加到其他服务器实例上。
为不同帐户创建登录名
在服务器实例上创建登录帐户后,必须授予登录帐户连接到服务器实例的数据库镜像端点的权限。 系统管理员使用 GRANT Transact-SQL 语句授予连接权限。 有关详细信息,请参阅 GRANT (Transact-SQL)。
Related Tasks
另请参阅
数据库镜像端点 (SQL Server)
数据库镜像配置故障排除 (SQL Server)
AlwaysOn 可用性组配置疑难解答 (SQL Server)