澳门金沙vip 5

基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误

一数据库服务器(SQL Server
2014)上的一个作业执行报错,具体错误信息如下:

YourSQLDba可以将数据库备份到网络路径(共享路径),这个也是非常灵活的一个功能,以前一直没有使用过这个功能,最近由于一个需求,于是我测试了一下YourSQLDba备份到网络路径,中间遇到了一些问题,遂整理如下。

  现象:—————————————————

 

测试环境:

  1、连接SQL Server数据库提示:Login failed for user ‘sa’. Reason: Not
associated with a trusted SQL Server connection 错误

Executed as user: NT SERVICE\SQLSERVERAGENT. 用户 ‘xxxx\xxxxx$’
登录失败。 [SQLSTATE 28000] (Error 18456). The step failed.

    操作系统:  Windows Server Standard 2012

  问题:————————————————-

 

  数据库版本:  SQL SERVER 2014

  初步分析应该与用户权限有关,查阅帮助文件,微软官方给出的原因:

澳门金沙vip 1

 

  当 SQL Server 2000 安全身份验证设置为“仅 Windows”,
并且存在下列情况之一时,就会发生此问题:

 

1:设置共享路径权限

  您正在尝试使用 SQL Server 登录连接到 SQL Server 2000 数据库。

其中用户 ‘xxxx\xxxxx$’,反斜杠前面是域名,后面为计算机名称+$,
其实这是一个虚拟账号。
即本地系统帐户不具有网络的任何访问权限。当需要访问网络时,本地系统使用帐户
Domain\computername$ 。具体参考关于 Configuration Manager
中的本地系统帐户/Computer$。

澳门金沙vip,  

  您正在尝试使用信任的 SQL Server 连接来连接到安装在基于 Microsoft
Windows 98 的计算机上的 SQL Server 2000 桌面引擎(也称为 MSDE
2000)数据库。

 

    
这一步很简单,也非常好理解。共享路径需要给某些特定用户才能访问,例如某个域账号。在此略过。

  您正在尝试从某 Windows 帐户连接到 SQL Server 2000
数据库,而该帐户没有足够的权限连接到服务器。

起初看到这个错误,有点不知所以然,并不清楚是什么具体原因造成,那么就去检查作业执行的存储过程,发现里面使用链接服务器(LINKED
SERVER),由于这个错误提示是本地系统账号访问网络的权限问题,所以我特意去链接服务器(LINKED
SERVER)所指向的数据库服务器,结果在同一时间点也出现了一个错误信息,其实就是该作业链接过来时产生的信息。

 

  解决:——————————————–

Message

2:映射网络驱动器。

  官方给出的解决办法:

Login failed for user ‘xxx\xxxx$’. 原因:
基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误。
[客户端: 192.168.xxx.xxx]

映射网络驱动器,顾名思义,就是将局域网内的一个共享文件夹作为一个虚拟的网络硬盘,然后将该网络硬盘映射到本地计算机,然后我们就可以在本地计算机上访问该共享文件夹.
YourSQLDba不能直接访问共享路径。否则会报错。

  SQL Server 登录

 

澳门金沙vip 2

  使用有效的 Windows 登录连接到 SQL Server。如果必须继续使用 SQL
Server 登录,您可以将在 SQL Server 2000 中的安全身份验证模式更改为“SQL
Server 和 Windows”。为此,请按照下列步骤操作:

澳门金沙vip 3

澳门金沙vip 4

  启动企业管理器。

 

 

  展开“Microsoft SQL Servers”,然后展开“SQL Server 组”。

检查该链接服务器(LINKED
SERVER)发现该链接服务器使用的是“使用登录名的当前安全上下文建立连接”(Be
made using the login’s current security context)

3:然后使用Exec YourSQLDba.Maint.CreateNetworkDriv设置网络路径。

  右键单击要更改为“SQL Server 和
Windows”身份验证的服务器,然后单击“属性”。

 

sp_configure 'show advanced option', 1;

go

reconfigure;

go

sp_configure 'xp_cmdshell', 1;

go

reconfigure;

go

 

 

Exec YourSQLDba.Maint.CreateNetworkDrives

 @DriveLetter = 'S:\'  

 @unc = '\\192.168.xxx.xxx\YourSQLDBABAK\Server1' 

  在“SQL Server 属性”对话框中,单击“安全”选项卡,单击“SQL Server 和
Windows”,然后单击“确定”。

澳门金沙vip 5

设置网络路径,必须开启数据库“xp_cmdshell”选项,否则就会有如下错误。

  当提示您重新启动 SQL Server 服务时,单击“是”。

 

 

  SQL Server 2000 桌面引擎 (MSDE 2000) 安装在基于 Microsoft Windows 98
的计算机上