最近碰到一个有趣的错误:海外的一台数据库服务器上某些作业偶尔会报错,报错信息如下所示:

-------------------------------------------------------------------------------------------------------------------------------------------------

日期 2013/9/15 12:00:00

日志 作业历史记录 (JOB_SYNCHRONIZING_ESCM_DATA_EAV)

步骤 ID 0

服务器 EGVNT02

作业名称 JOB_SYNCHRONIZING_ESCM_DATA_EAV

步骤名称 (Job outcome)

持续时间 00:04:34

SQL 严重性 0

SQL 消息 ID 0

已通过电子邮件通知的操作员

已通过网络发送通知的操作员

已通过寻呼通知的操作员

重试次数 0

消息

The job failed.  Unable to determine if the owner (domain\login) of job JOB_SYNCHRONIZING_ESCM_DATA_EAV has server access (reason: Could not obtain information about Windows NT group/user 'domain\login', error code 0x5. [SQLSTATE 42000] (Error 15404)).

-------------------------------------------------------------------------------------------------------------------------------------------------

该数据库版本为Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)  ,使用domain\login创建的作业,该domain\login拥有sysadmin服务器角色,但是该服务器所属的是domain A, 而且不属于该系统下的Administator组成员。关于该数据库相关服务的登录账号如下所示:

从网上搜索到资料如下所示:

This message is thrown if the SQL Server service uses an account that does not have sufficient administrative credentials on the Windows domain. In this situation, the xp_logininfo system stored procedure is run by using the security context of the SQL Server service. Because the account does not have sufficient administrative credentials to enumerate the properties of the user in the domain, the xp_logininfo system stored procedure fails, and you receive the 8198 error. To resolve this problem, change the startup account of the SQL Server service to a Windows domain account.

We need to either run the SQL service under domain account or use SQL authentication

翻译如下(仅供参考)如果SQL Server服务使用的帐户没有足够管理凭据,将会抛出此错误消息。对Windows域。在这种情况下,xp_logininfo系统存储过程使用SQL Server服务的安全上下文中运行。因为帐户没有足够的安全凭据,枚举用户在域的属性,xp_logininfo系统存储过程失败,您会收到8198错误。为了解决这个问题,更改SQL Server服务的启动帐户到Windows域帐户。

我们需要用域帐户或使用SQL身份验证运行SQL服务。

其实要解决这个问题也很方便,只需将作业的owner改为sa或本地域下拥有sysadmin角色的账号即可解决问题。但是对问题的本质还是迷糊,为什么大部分时候就能成功执行,偶尔就会出现这个错误呢?这点一直没让我弄明白。

参考资料:

http://www.sqldbadiaries.com/2011/02/25/unable-to-determine-if-the-owner-of-job-has-server-access/

http://www.sqlserver-wiki.com/2012/11/could-not-obtain-information-about.html

MS SQL Could not obtain information about Windows NT group/user 'domain\login', error code 0x5. [SQLSTATE 42000] (Error 15404)的更多相关文章

  1. Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5

    案例描述 昨晚踢球回来,接到电话说一个系统的几个比较重要作业出错,导致系统数据有些问题.让我赶紧检查看看.检查作业日志时发现,作业报如下错误(关键信息用xxx替换) The job failed.  ...

  2. Jmeter(四十四)启动提示 Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

    有已知的已知:有些事情我们自己知道自己知道: 我们也知道有已知的未知:这是指我们知道有些事情自己不知道: 但是还有未知的未知:有些事情我们不知道自己不知道:   ---美国国防部长 唐纳德·拉姆斯菲尔 ...

  3. MS SQL错误:SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems

          早晨宁波那边的IT人员打电话告知数据库无法访问了.其实我在早晨也发现Ignite监控下的宁波的数据库服务器出现了异常,但是当时正在检查查看其它服务器发过来的各类邮件,还没等到我去确认具体情 ...

  4. Server-side Query interception with MS SQL Server

      up vote15down votefavorite 5 I'm researching into intercepting queries that arrive at the SQL Serv ...

  5. MS SQL 日志记录管理

    MS SQL的日志信息/日志记录,可能对你来说,既熟悉又陌生,熟悉是因为你可能一直都在使用,查看.关注一些日志信息/记录,例如,作业历史记录:陌生是因为你可能从不关注日志信息/记录的管理,这里我一直用 ...

  6. MS SQL 事物日志传送能否跨数据库版本吗?

    SQL SERVER的事物日志传送(log shipping)功能,相信很多人都使用过或正在应用,这是MS SQL提供的一个非常强大的功能,一般需要一个主数据库服务器(primary/producti ...

  7. [MS SQL Server]SQL Server如何开启远程访问

    在日常工作中,经常需要连接到远程的MS SQL Server数据库中.当然也经常会出现下面的连接错误. 解决方法: 1. 设置数据库允许远程连接,数据库实例名-->右键--->属性---C ...

  8. SQL Server 2012安装错误案例:Error while enabling Windows feature: NetFx3, Error Code: -2146498298

    案例环境: 服务器环境 :    Windows Server 2012 R2 Standard 数据库版本 :    SQL Server 2012 SP1 案例介绍:   在Windows Ser ...

  9. 数据库优化实践【MS SQL优化开篇】

    数据库定义: 数据库是依照某种数据模型组织起来并存在二级存储器中的数据集合,此集合具有尽可能不重复,以最优方式为特定组织提供多种应用服务,其数据结构独立于应用程序,对数据的CRUD操作进行统一管理和控 ...

随机推荐

  1. windows8.1 安装Redis

    说点什么 现在互联网都在玩高大上的分布式缓存,或是分布式数据库,去面试的时候也会问些相关知识及应用场景,再没玩过就要out了.  Redis官方只提供了Linux的版本下载,windows的需要去gi ...

  2. 如何将MyEclipse项目导入eclipse

    我们经常会在网上下载一些开源项目,或者从别的地方迁移一些项目进来,但经常会发现导入后各种报错.这是初学java肯定会遇到的问题,本文对一些常见的处理方案做一个总结.(本文将MyEclipse项目导入e ...

  3. git取消跟踪文件

    取消跟踪文件: $git rm --cached FILENAME 取消跟踪目录: $git rm --cached FILENAME -r

  4. Hibernate —— Session

    一.概述 Session 是 Hibernate 向应用程序提供操纵数据的主要接口,它提供了基本的保存.更新.删除和加载 Java 对象的方法. 二.Session 缓存 1.简介 (1)Sessio ...

  5. Windows 10 密钥分享

    Windows 10 Technical Preview for Enterprise:KEY:PBHCJ-Q2NYD-2PX34-T2TD6-233PKhttp://technet.microsof ...

  6. Devexpress TextAnnotation

    private void BindData() { chartControl1.AnnotationRepository.Clear(); chartControl1.Series.Clear(); ...

  7. “三巨头”有变化,BAT还能走多久?

    在腾讯市值超越阿里巴巴后,市场分析多数认为,当年的BAT“三巨头”时代已经彻底结束,进入了“双寡头”时代了 从对外投资来看,BAT不同的投资逻辑可以推测其战略方向 撰文/梁云风 时评员,关注财经与互联 ...

  8. Linux查看CPU和内存使用情况(转)

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

  9. eclipse里打开SWT项目找不到source/design的图形UI设计界面

    因为前天重新装了个新版的eclipse, 结果今天打开一个SWT的项目,突然找不到source/design的图形UI设计的两个切换按钮 我把SWT组件重新装了还是找不到.结果后来发现是因为重装ecl ...

  10. 关于前期在云服务器上部署TOMCAT服务器的问题

    如果你要将你的项目放在服务器上(针对云服务器),首先你必须要学会前期部署Tomcat的准备, 第一步:安装jdk,配置环境变量 这个比较简单,配置java环境变量最为简单的方法是将java的 (../ ...