首页 > 数据库 >SQL Server Endpoint 与 镜像、AlwaysOn身份验证

SQL Server Endpoint 与 镜像、AlwaysOn身份验证

时间:2023-04-18 13:41:52浏览次数:42  
标签:AlwaysOn Endpoint 数据库 身份验证 实例 端点 服务器 镜像


若要加入 Always On 可用性组 或数据库镜像,服务器实例上必须创建自己专用的“数据库镜像端点” (database mirroring endpoint)。 此端点用途特殊,专门用于接收来自其他实例的连接。

数据库镜像端点使用TCP协议在参与数据库镜像会话或承载可用性副本的实例之间发送和接收消息。 数据库镜像端点在唯一的 TCP 端口号上进行侦听。但注意客户端与主服务器或主副本的连接不使用数据库镜像端点。

 

一、 服务器网络地址

服务器实例的网络地址(Endpoint URL)包含其端点的端口号、主机名和域名,端口号唯一标识特定的服务器实例。

下图具体说明了如何对同一服务器上的两个实例进行唯一标识。 两个服务器实例的网络地址均包含相同的主机名MYSYSTEM和域名 Adventure-Works.MyDomain.com。若要使系统能够路由连接到需要的实例,网络地址需要包括与特定服务器实例的镜像端点相关联的端口号。

SQL Server Endpoint 与 镜像、AlwaysOn身份验证_数据库

默认情况下, SQL Server 实例不包含数据库镜像端点。 在建立数据库镜像会话时,必须手动创建它们。 系统管理员必须在将要参与数据库镜像的每个服务器实例中分别创建端点。 请注意,如果要给同一计算机上的多个实例创建端点,则必须为每个端点指定不同的端口号。

如果运行 SQL Server 的计算机具有防火墙,则防火墙配置必须允许端点中指定的端口的传入和发送连接。

请勿重新配置正在使用的数据库镜像端点。

 

二、 身份验证

身份验证是验证用户是否具有其所声明的身份的过程。 数据库镜像端点之间的连接需要进行身份验证,伙伴或见证服务器的连接请求(如果有)必须进行身份验证。

用于数据库镜像或 Always On 可用性组 的服务器实例使用的身份验证类型是数据库镜像端点的一种属性。 数据库镜像端点可以使用两类安全性功能:Windows 身份验证(安全支持提供程序接口 (SSPI))和基于证书的身份验证。

 

1. Windows 身份验证

  • 如果每个服务器实例都在某一域帐户下运行,则您可以将 Windows 身份验证用于数据库镜像端点。 如果所有服务器实例使用相同的域用户帐户运行,则正确的用户登录名将自动存在于全部两个 master 数据库中。 这样可简化可用性数据库的安全配置并建议这样做。
  • 如果实例以不同的帐户身份运行,则必须在其他服务器实例上的 master 中创建每个登录帐户。 然后,必须向该登录名授予 CONNECT 权限,以便连接到该服务器实例的数据库镜像端点。 有关详细信息,请参阅 设置数据库镜像或 AlwaysOn 可用性组的登录帐户 (SQL Server)
  • 如果使用 Windows 身份验证,则可以通过使用 Transact-SQL、PowerShell 或新建可用性组向导创建数据库镜像端点。

如果服务器实例缺少数据库镜像端点,则新建可用性组向导可以自动创建使用 Windows 身份验证的数据库镜像端点。 有关详细信息,请参阅 使用可用性组向导 (SQL Server Management Studio)

 

2. 基于证书的身份验证

在某些情况下,例如服务器实例不在受信任域中或 SQL Server 作为本地服务运行时,Windows 身份验证不可用。 此时对连接请求进行身份验证需要使用证书而不是用户凭据。 每个服务器实例的镜像端点必须使用其自己的本地创建的证书进行配置。

创建证书时,将建立加密方法。 有关详细信息,请参阅 允许数据库镜像终结点使用证书进行出站连接 (Transact-SQL)。 请务必小心管理您使用的证书。

建立连接时,服务器实例使用其证书的私钥建立自己的标识。 接收连接请求的服务器实例使用发送方证书的公钥对发送方的标识进行身份验证。

如果任何服务器实例正在以内置帐户(例如 Local System、Local Service 或 Network Service)或非域帐户运行,则您必须使用证书来进行端点身份验证。 如果您正在使用证书来用于您的数据库镜像端点,则您的系统管理员必须配置每个服务器实例,以在出站连接和进站连接中使用证书。

没有使用证书来配置数据库镜像安全性的任何自动方法。 你将需要使用 CREATE ENDPOINT Transact-SQL 语句或 New-SqlHadrEndpoint PowerShell cmdlet。 有关详细信息,请参阅 CREATE ENDPOINT (Transact-SQL)。 

 

参考

https://docs.microsoft.com/zh-cn/sql/database-engine/database-mirroring/the-database-mirroring-endpoint-sql-server?view=sql-server-ver15

https://docs.microsoft.com/zh-cn/sql/database-engine/database-mirroring/transport-security-database-mirroring-always-on-availability?view=sql-server-ver15

标签:AlwaysOn,Endpoint,数据库,身份验证,实例,端点,服务器,镜像
From: https://blog.51cto.com/u_13631369/6203155

相关文章

  • sqlserver AlwaysOn同步流程与延迟
    区分异步同步提交的关键就在LogHardened这一步,主副本是否需要确认辅助副本已经完成日志固化后才能提交事务。异步提交模式主副本无须确认该辅助副本是否已经完成日志固化,就可以提交事务。但是,辅助数据库的更新可能会滞后于主数据库,如果发生故障转移,可能会导致某些数据丢失。同步......
  • SQL Server 透明数据加密TDE for AlwaysOn
     上篇留下了一个问题,如何将已启用TDE的数据库加入AG?实际上TDEforAlwaysOn分两种情况:对已在AG中的数据库启用TDE已启用TDE的数据库加入AG(更复杂)注意如果在数据库镜像、日志传送、AlwaysOn中使用TDE,则主从数据库都将被加密,不必显式启用辅助数据库加密,事务日志在它们之间发送时将被......
  • 报错信息如下:出现身份验证错误。要求的函数不受支持。可能是由于CredSSP加密数据库修
    微软官方已出补丁包:CVE-2018-0886的CredSSP更新WindowsServer2016,alleditions、WindowsServer2012R2Standard、WindowsServer2012Standard、Windows8.1、Windows10、Windows7这是由于凭据安全支持提供程序协议(CredSSP)是处理加密Oracle修正所导致。(详细......
  • MySQL新身份验证插件caching_sha2_password
     用sequelpro工具登录,连接失败~!“Authenticationplugin'caching_sha2_password'cannotbeloaded”失败原因:mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password解决办法:把mysql用户登录密码加密规则还原成mysql_nati......
  • 使用HBase EndPoint(coprocessor)进行计算
    如果要统对hbase中的数据,进行某种统计,比如统计某个字段最大值,统计满足某种条件的记录数,统计各种记录特点,并按照记录特点分类(类似于sql的groupby)~常规的做法就是把hbase中整......
  • 减少Symantec Endpoint Protection 12误报的方法
     最近安装了SymantecEndpointProtection12。结果很多文件都遭了殃。。 VB写的报毒。C#写的也不放过。。。Symantec向卡巴小红伞360学习精神可嘉啊。。。 解决......
  • 因为你组织的安全策略阻止未经身份验证的来宾
    最近在远程访问文件夹的时候出现了这个问题:因为安全策略阻止未经身份验证的来宾访问,如下图这样的问题,类似这样的问题我们该如何解决呢,详细方法如下首先在win10的电脑上的......
  • 在surging 微服务引擎下如何搭建webservice和身份验证
    一、前言    现实生产中,有一些比较老的系统对外提供的接口都是WebService,尤其是比较老的系统都是围绕ESB进行搭建,而对外提供就需要WebService,为了更好完善其解决......
  • 4.docker错误Error response from daemon: driver failed programming external conne
    1.docker端口映射或启动容器时报错Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointquirky_allenErrorresponsefromdaemon......
  • SQLServer2016 AlwaysOn数据库重新加入可用性组
    SQLServer2016AlwaysOn架构,主副本SQLServer服务重启  SQLServer主副本SQLServer重启服务之后,AlwaysOn......