Database 功能失调克隆

Database 功能失调克隆,database,ssms,sspi,Database,Ssms,Sspi,已克隆数据库服务器。操作系统是“Microsoft Windows XP Professional Version 2002 Service Pack 3”。查询环境是“Microsoft SQL Server 2008 Management Studio 10.0.4000.0” 克隆后,注意到以下行为。尝试从计算机外部但在同一域内进行连接时,可以读取以下错误消息:“无法生成SSPI上下文。(.Net SqlClient Data Provider)” 在计算机内部,可以使用“Microsof

已克隆数据库服务器。操作系统是“Microsoft Windows XP Professional Version 2002 Service Pack 3”。查询环境是“Microsoft SQL Server 2008 Management Studio 10.0.4000.0”

克隆后,注意到以下行为。尝试从计算机外部但在同一域内进行连接时,可以读取以下错误消息:
“无法生成SSPI上下文。(.Net SqlClient Data Provider)”

在计算机内部,可以使用
“Microsoft SQL Server 2008 Management Studio”
查询环境连接到数据库服务器

但是,当尝试运行
SQLCmd
命令行工具时,会显示以下错误:

C:\<Directory>>SQLCmd -S DBA2\<Instance> -i C:\<Directory>\<FileName>.SQL
HResult 0x80090322, Level 16, State 1
SQL Server Network Interfaces: The target principal name is incorrect.
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : Cannot generate SSPI context.
从Microsoft Windows XP Professional光盘运行“C:\PROGRA~1\supper~1\ADSIEDIT.MSC”支持工具时,我们可以在下面的
“ADSI Edit\Domain[…com]\DC=,DC=com”
路径中看到
“CN=Computers”
叶。在其
“属性”
对话框中的
“安全性”
选项卡内,在
“组或用户名:
列表下方,有
“自我”
条目。按下
“高级”
按钮,将生成
“计算机的高级安全设置”
对话框。在
“权限”
选项卡上的
“权限条目:
列表下,还有一个条目名为
“SELF”
。按下
“编辑…”
按钮,将显示
“计算机权限输入”
对话框。在其
“属性”
选项卡上的
“权限:
列表中,没有
“读取ServicePrincipalName”
权限和
“写入ServicePrincipalName”
权限的条目

这可能是以下命令失败的原因:

C:\PROGRA~1\SUPPOR~1>setspn -r DBA2
Registering ServicePrincipalNames for CN=DBA2,CN=Computers,DC=<Company>,DC=com
HOST/DBA2.<Company>
HOST/DBA2
Failed to assign SPN to account 'CN=DBA2,CN=Computers,DC=<Company>,DC=com', 0x2098
C:\PROGRA~1\supper~1>setspn-r DBA2
为CN=DBA2,CN=Computers,DC=,DC=com注册ServicePrincipalName
主机/DBA2。
主机/DBA2
未能将SPN分配给帐户'CN=DBA2,CN=Computers,DC=,DC=com',0x2098

即使在克隆的数据库服务器上有重置
ServicePrincipalName
的权限,这会解决来自
SQLCmd
和来自机器外部同一域内的连接吗?

事实上,是的,在正确的位置设置了正确的权限后解决了问题

必须在
SQL
用户上设置
ServicePrincipalNames
,如下所示:

C:\PROGRA~1\SUPPOR~1>setspn -a mssqlsvc/dba2:1433 <Company>\<UserName>
Registering ServicePrincipalNames for CN=<UserName>,OU=Reporting Security,OU=Security Groups,OU=Romania,DC=<Company>,DC=com
        mssqlsvc/dba2:1433
Updated object

C:\PROGRA~1\SUPPOR~1>setspn -a mssqlsvc/dba2.<Company>.com:1433 <Company>\<UserName>
Registering ServicePrincipalNames for CN=<UserName>,OU=Reporting Security,OU=Security Groups,OU=Romania,DC=<Company>,DC=com
        mssqlsvc/dba2.<Company>.com:1433
Updated object

C:\PROGRA~1\SUPPOR~1>setspn -l dba2
Registered ServicePrincipalNames for CN=DBA2,OU=Romania Machines,OU=Romania,DC=<Company>,DC=com:
    VProRecovery Backup Exec System Recovery Agent 7.0/DBA2.<Company>.com
    HOST/DBA2
    HOST/DBA2.<Company>.com

C:\PROGRA~1\SUPPOR~1>setspn -l <UserName>
Registered ServicePrincipalNames for CN=<UserName>,OU=Reporting Security,OU=Security Groups,OU=Romania,DC=<Company>,DC=com:
    MSSQLSvc/DBA2.<Company>.com:<Company>_RO
    mssqlsvc/dba2.<Company>.com:1433
    mssqlsvc/dba2:1433
C:\PROGRA~1\supper~1>setspn-a mssqlsvc/dba2:1433\
为CN=,OU=报告安全性,OU=安全组,OU=罗马尼亚,DC=,DC=com注册ServicePrincipalName
mssqlsvc/dba2:1433
更新对象
C:\PROGRA~1\supper~1>setspn-a mssqlsvc/dba2..com:1433\
为CN=,OU=报告安全性,OU=安全组,OU=罗马尼亚,DC=,DC=com注册ServicePrincipalName
mssqlsvc/dba2..com:1433
更新对象
C:\PROGRA~1\supper~1>setpn-l dba2
CN=DBA2,OU=Romania机器,OU=Romania,DC=,DC=com的注册服务PrincipalName:
VProRecovery Backup Exec System Recovery Agent 7.0/DBA2..com
主机/DBA2
主机/DBA2..com
C:\PROGRA~1\SUPPOR~1>setspn-l
CN=、OU=报告安全性、OU=安全组、OU=罗马尼亚、DC=、DC=com的注册服务PrincipalName:
MSSQLSvc/DBA2..com:\u RO
mssqlsvc/dba2..com:1433
mssqlsvc/dba2:1433
希望这能帮助那些可能遇到同样问题的人

C:\PROGRA~1\SUPPOR~1>setspn -a mssqlsvc/dba2:1433 <Company>\<UserName>
Registering ServicePrincipalNames for CN=<UserName>,OU=Reporting Security,OU=Security Groups,OU=Romania,DC=<Company>,DC=com
        mssqlsvc/dba2:1433
Updated object

C:\PROGRA~1\SUPPOR~1>setspn -a mssqlsvc/dba2.<Company>.com:1433 <Company>\<UserName>
Registering ServicePrincipalNames for CN=<UserName>,OU=Reporting Security,OU=Security Groups,OU=Romania,DC=<Company>,DC=com
        mssqlsvc/dba2.<Company>.com:1433
Updated object

C:\PROGRA~1\SUPPOR~1>setspn -l dba2
Registered ServicePrincipalNames for CN=DBA2,OU=Romania Machines,OU=Romania,DC=<Company>,DC=com:
    VProRecovery Backup Exec System Recovery Agent 7.0/DBA2.<Company>.com
    HOST/DBA2
    HOST/DBA2.<Company>.com

C:\PROGRA~1\SUPPOR~1>setspn -l <UserName>
Registered ServicePrincipalNames for CN=<UserName>,OU=Reporting Security,OU=Security Groups,OU=Romania,DC=<Company>,DC=com:
    MSSQLSvc/DBA2.<Company>.com:<Company>_RO
    mssqlsvc/dba2.<Company>.com:1433
    mssqlsvc/dba2:1433