返回顶部
首页 > 资讯 > 数据库 > SqlServer遇到SPN_Service Principal name问题有哪些处理方法
  • 142
分享到

SqlServer遇到SPN_Service Principal name问题有哪些处理方法

摘要

SPN(Service Principal name)服务器主体名称。SPN 是服务在使用 Kerberos 身份验证的网络上的唯一标识符,它由服务类、主机名和端口组成。在使用 Kerberos 身份验证的网络中,必须在内置计算机帐户(如


	SqlServer遇到SPN_Service Principal name问题有哪些处理方法
[数据库教程]

SPN(Service Principal name)服务器主体名称。
SPN 是服务在使用 Kerberos 身份验证的网络上的唯一标识符,它由服务类、主机名和端口组成。在使用 Kerberos 身份验证的网络中,必须在内置计算机帐户(如 NetworkService 或 LocalSystem)或用户帐户下为服务器注册 SPN。对于内置帐户,SPN 将自动进行注册。但是,如果在域用户帐户下运行服务,则必须为要使用的帐户手动注册SPN。

客户端连接sqlserver实例报SPN错误的处理方法
1、先登录Sqlserver实例服务器执行setspn -L daisqlprocess |find "Machine name"查看相关Sqlserver实例对应的服务器信息,看是否有无效信息,有无效信息或重复信息则使用setspn -D删除它
2、再通过Microsoft Kerberos Configuration Manager for SQL Server客户端工具,连接相关Sqlserver实例的服务器,只输入服务器名即可,检查相关服务器是否正常
3、最后使用setspn -D、setspn -A重建该Sqlserver实例对应服务器的所有SPN信息,使用setspn时需要administrator模式运行cmd
4、换一个客户端机器试试,有时是某个客户端机器自身无法获得域、dns、dhcp服务器上的信息,或该机器还没及时同步到域、dns、dhcp服务器上的信息,连接Sqlserver也会报SPN错误
5、如果服务器有别名,然后AG的监听使用了别名,则必须使用服务器别名alias注册到spn中,即setspn -A aliasname:1433 daisqlprocess
6、邮件报警Server Name对应DBPROD2表示DBPROD2的spn出了问题,对应DBPROD2BI1表示DBPROD2BI1的spn出了问题,DBPROD2可能是别名也可能是服务器名
7、重建SPN后,如果没有及时生效,可能需要等等过一会才会生效。
8、最好的验证方法就是,直接点击某个linked server,看能否连接测试成功,如下表示DBDEV1访问不了12.2.37.123对应的linked server。
DBDEV1 LoGon Login failed for user ‘NT AUTHORITYANONYMOUS LOGON‘. Reason: Could not find a login matching the name provided. [CLIENT:12.2.37.123]
9、linked server报错,Cannot generate SSPI context,是因为netlogon服务起不来导致,computer management--local user and groups--groups--adminstrator组下面的用户都是一些阿拉伯数字,看不到域用户。netlogon起不来是因为workstation起不来,而workstation起不来,是因为使用了local system account,使用network service用户并保留密码框为空即可,这种情况下,kerberos里面输入这台服务器都无法登录,会报错:The was an issue with accessing UserAccount infORMation from the system
10、linux服务器访问sqlserver实例报错SSPI Provider: Server not found in Kerberos database (851968) (SQLDriverConnect)
解决方法1:
一般windows服务器访问sqlserver实例,在SPN里面写的是sqlserver实例对应的服务器名称,linux的话,看linux配置的字符串,如果字符串里面是实例名称,则需要把实例名称写入SPN,比如开发的配置文件写的是sqlserver实例名称ibdwonstagedbalias,该服务器名称stagingdbaws1,SPN里面的信息只有服务器stagingdbaws1名称,添加实例名称到SPN即可
setspn -A MSSQLSvc/ibdwonstagedbalias.d.com:1433 daisqlprocess
setspn -A MSSQLSvc/ibdwonstagedbalias.d.com daisqlprocess
解决方法2:
如果不是以上1的情形,那么原因可能是linux服务器上crontab服务出现问题导致crontab的里面游戏的credential-renew.sh没有运行,可以通过less /var/log/cron |grep "credential-renew.sh"查看这个crontab的运行记录,credential-renew.sh可执行文件里面命令是kinit
解决方法3:
如果不是以上1、2的情形,通过date查看linux服务器时间,如果是linux服务器的时间和域控时间不一样,这个时候在linux服务器上依次执行systemctl status ntpd、systemctl stop ntpd、ntpdate 12.2.10.66(域控服务器ip)、systemctl start ntpd

In SSMS, connect to the SQL instance that you are going to recreate the SPN records for
2、Open the SQL Server logs
3、Filter results based on "spn" in the message text
Don‘t forget to click the "Apply filter" checkbox
4、You may have to filter through older logs and not just the "Current" log to find the records that start with the message:
"The SQL Server Network Interface library succesfully reGIStered the Service Principal Name..."
5、Copy the SPN portion of both messages and paste them into a Notepad
One record has the port number at the end and the other has the instance name
If it is the default instance then the port number will be 1433 and the instance name will be absent
6、With the two SPN records in Notepad, replace the machine name of the server with the alias
The alias is either a C-NAME DNS record or an Availability Group listener such as: PROD2, PDBALIAS, etc
7、Remote into the server as your domain-admin account
8、In your RDP session to the server, run CMD as administrator
9、Use the following syntax to delete the existing SPN record (if it exists) then recreate iwww.sangpi.comsetspn -D MSSQLSvc/PROD2.d.com:52219 daisqlprocesssetspn -A MSSQLSvc/PROD2.d.com:52219 daisqlprocess

Do the same for both records (port and instance name)

setspn -D MSSQLSvc/PROD2.d.com:BI1 daisqlprocess

setspn -A MSSQLSvc/PROD2.d.com:BI1 daisqlprocess

个人域账号登录服务器,运行cmd以administrator权限模式,执行如下
setspn -L daisqlprocess | find "服务器名称PROD2" > C:spn.txt

setspn -D MSSQLSvc/PROD2.d.com:52219 daisqlprocess
setspn -A MSSQLSvc/PROD2.d.com:52219 daisqlprocess

setspn -D MSSQLSvc/PROD2.d.com:BI1 daisqlprocess
setspn -A MSSQLSvc/PROD2.d.com:BI1 daisqlprocess

验证Sqlserver SPN的图形界面的客户端工具Microsoft Kerberos Configuration Manager for SQL Server,下载安装包后安装到某台域服务器中,直接登录该域服务器,打开这个工具,输入要连接的服务器A,就可以看到这个服务器A里面的所有的Sqlserver实例的SPN信息是否OK就可以了。

SqlServer遇到SPN_Service Principal name问题有哪些处理方法

原文地址:https://www.cnblogs.com/ipython258/p/14837241.html

您可能感兴趣的文档:

--结束END--

本文标题: SqlServer遇到SPN_Service Principal name问题有哪些处理方法

本文链接: https://lsjlt.com/news/8453.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SqlServer遇到SPN_Service Principal name问题有哪些处理方法
    SPN(Service Principal name)服务器主体名称。SPN 是服务在使用 Kerberos 身份验证的网络上的唯一标识符,它由服务类、主机名和端口组成。在使用 Kerberos 身份验证的网络中,必须在内置计算机帐户(如 ...
    99+
    2016-10-27
    SqlServer遇到SPN_Service Principal name问题有哪些处理方法 数据库入门 数据库基础教程 数据库 mysql
  • SqlServer遇到SPN_Service Principal name问题有哪些处理方法?
    SPN(Service Principal name)服务器主体名称。SPN 是服务在使用 Kerberos 身份验证的网络上的唯一标识符,它由服务类、主机名和端口组成。在使用 Kerberos 身份验证的网络中,必须在内置计算机帐户(如 ...
    99+
    2016-01-06
    SqlServer遇到SPN_Service Principal name问题有哪些处理方法? 数据库入门 数据库基础教程 数据库 mysql
  • CSS中遇到有哪些问题
    这篇文章主要为大家展示了“CSS中遇到有哪些问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS中遇到有哪些问题”这篇文章吧。一、IE浏览器模式Hack标识 1、css hack标识 代码如...
    99+
    2023-06-08
  • apache安装遇到的问题有哪些
    这篇文章给大家分享的是有关apache安装遇到的问题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、首先下载 apache 的 zip 包,并解压到指定的路径下;(如:E...
    99+
    2024-04-02
  • JAVA连接到SQLserver的步骤方法以及遇到的问题
    这是一个java类文件 要实现将此类连接到数据库一定要执行以下步骤: 1.装载驱动程序 2.加载驱动程序 3.连接到指定数据库 4.测试 第一步:从SQLserver官网上下载jd...
    99+
    2024-04-02
  • 使用批处理删除文件夹时遇到的问题有哪些
    这篇文章主要讲解了“使用批处理删除文件夹时遇到的问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用批处理删除文件夹时遇到的问题有哪些”吧!C盘有一个文件夹1,里面有2.exe和3....
    99+
    2023-06-08
  • Jenkins执行远程Windows批处理遇到的权限问题有哪些
    这篇文章给大家分享的是有关Jenkins执行远程Windows批处理遇到的权限问题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Jenkins构建Windows批处理时可能会遇到访问权限的问题,导致无法执行...
    99+
    2023-06-04
  • cordova使用中遇到的问题有哪些
    这篇文章主要介绍了cordova使用中遇到的问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简介Cordova提供了一组设备相关的A...
    99+
    2024-04-02
  • 升级react-router4遇到的问题有哪些
    小编给大家分享一下升级react-router4遇到的问题有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!react-router,V4版本修改内容1. 所有组件更改为从react-r...
    99+
    2024-04-02
  • Go系统遇到的锁问题有哪些
    本篇内容介绍了“Go系统遇到的锁问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!底层依赖 sync...
    99+
    2024-04-02
  • Java开发者遇到的问题有哪些
    这篇文章主要讲解了“Java开发者遇到的问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java开发者遇到的问题有哪些”吧!Java“死亡竞赛”中最难的问题让我们从最难啃的骨头开始吧...
    99+
    2023-06-17
  • springboot项目全局异常处理会遇到哪些问题
    这篇文章主要介绍了springboot项目全局异常处理会遇到哪些问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题一:全局异常抽离出来后,业务错误码如何定义?之前团队的业...
    99+
    2023-06-28
  • 使用Redis可能遇到的问题有哪些
    这篇文章主要介绍使用Redis可能遇到的问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!这篇文章,我想和你聊一聊在使用 Redis 时,可能会踩到的「坑」。如果你在使用 Re...
    99+
    2024-04-02
  • Angular中使用MathJax遇到的问题有哪些
    这篇文章主要介绍了Angular中使用MathJax遇到的问题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MathJax简介Math...
    99+
    2024-04-02
  • React Navigation使用中遇到的问题有哪些
    小编给大家分享一下React Navigation使用中遇到的问题有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在React Native的开发中,使用到react navigati...
    99+
    2024-04-02
  • Hibernate应用开发遇到的问题有哪些
    这篇文章主要讲解了“Hibernate应用开发遇到的问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate应用开发遇到的问题有哪些”吧!首先,学习任何一门新的框架首先要理...
    99+
    2023-06-17
  • office激活遇到的常见问题有哪些
    激活Office时可能会遇到以下常见问题:1. 产品密钥无效:输入的产品密钥可能有误,需要仔细核对。2. 产品密钥已被使用:某些Of...
    99+
    2023-09-09
    office
  • git提交代码遇到的问题有哪些
    1. 冲突问题:当多个人同时修改同一个文件的同一部分时,会产生冲突。解决冲突需要手动合并代码,并重新提交。2. 丢失修改问题:如果没...
    99+
    2023-09-15
    git
  • android开发遇到的常见问题有哪些
    1. 兼容性问题:由于Android设备的碎片化,不同设备的硬件和软件规格不同,开发者需要对不同设备进行适配和测试,以确保应用在各种...
    99+
    2023-08-15
    android
  • 使用http代理时会遇到哪些问题
    本篇内容主要讲解“使用http代理时会遇到哪些问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用http代理时会遇到哪些问题”吧!1、设置代理IP后,不及待地想要访问下浏览器查下IP,但发现...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作