注册服务主体名称
更新日期: 2005 年 12 月 5 日
服务主体名称 (SPN) 是客户端唯一用来标识服务实例的名称。Kerberos 身份验证服务可以使用 SPN 对服务进行身份验证。当客户端想要连接到某个服务时,它将查找该服务的实例,并为该实例编写 SPN,然后连接到该服务并显示该服务的 SPN 以进行身份验证。
过程
当数据库引擎实例启动时,SQL Server 将尝试为 SQL Server 服务注册 SPN。当实例停止时,SQL Server 将尝试取消此 SPN 的注册。SPN 的注册格式为 MSSQLSvc**/<FQDN>:**<tcpport>,其中,MSSQLSvc 是要注册的服务,<FQDN> 是服务器的完全限定域名,<tcpport> 是 TCP 端口号。命名实例和默认实例都注册为 MSSQLSvc,根据 <tcpport> 值来区分这些实例。由于 SPN 中包括 TCP 端口,因此 SQL Server 必须启用 TCP 协议,以便用户使用 Kerberos 身份验证进行连接。
若要注册 SPN,数据库引擎必须使用本地系统帐户或域管理员帐户运行。当 SQL Server 使用其他帐户运行时,SPN 不会在启动时进行注册,但如果需要,管理员可以手动注册 SPN。同样的规则也可以适用于群集配置。有关注册 SPN 的详细信息,请参阅主题如何在 SQL Server 故障转移群集中启用 Kerberos 身份验证中的“步骤 3:为 SQL Server 创建 SPN”部分。
限制
有下列限制:
- SQL Server 2005 数据库引擎支持侦听多个 IP 地址的功能,但是自动注册 SPN 只注册其标识的第一个端口。
- 专用管理员连接 (DAC) 的端口未被注册,因此只有使用 NTLM 身份验证才能连接到 DAC,而不能使用 Kerberos 身份验证进行连接。
如果 SPN 注册在启动过程中失败,则它将记录在 SQL Server 错误日志中,而启动过程将继续进行。
请参阅
其他资源
sp_ActiveDirectory_SCP (Transact-SQL)
sp_ActiveDirectory_Obj (Transact-SQL)
帮助和信息
更改历史记录
版本 | 历史记录 |
---|---|
2005 年 12 月 5 日 |
|