MSSQLSERVER 将消息放入目标队列时发生异常。错误 15404,状态 19

MSSQLSERVER 将消息放入目标队列时发生异常。错误 15404,状态 19

我在 Windows 应用程序事件日志中收到一堆消息。以下是来自事件查看器的确切文本:

将消息放入目标队列时发生异常。错误:15404,状态:19。无法获取有关 Windows NT 组/用户“myDomain\myDomainusername”的信息,错误代码 0x5。

事件 ID:28005 来源:MSSQLSERVER

发出消息两次间隔似乎是64秒。

服务器是 Windows 2008 R2 Standard。我以以下身份登录此服务器myDomain\myDomain用户名检查本地用户和组时我注意到:

myDomain\myDomainusername 是本地管理员组的成员

我打开 SQL Server 2008 R2 Management Studio,看到 myDomain\myDomainusername 的登录名。服务器角色针对此域名的用户名检查了以下几点:

  • 数据库创建器
  • 民众
  • 安全管理员

单击“用户映射”会发出一条消息:

One or more databases are inaccessible and will not be displayed in list.

..但随后列表显示出来,所有 SharePoint 数据库列出并检查数据库角色成员资格是否全部检查数据库所有者和公众。

我注意到master、msdb 和 tempdb不是映射到此登录。

因此,我返回此 myDomain\myDomainusername 登录的服务器角色并尝试添加 sysadmin 服务器角色,但收到一条消息:“用户无权执行此操作”。

该域用户名 - myDomain\myDomainusername - 是我用于连接到 Sharepoint 2010 配置数据库的预期数据库访问帐户,这似乎是正确的,但显然作为本地管理员帐户的成员并没有为同一登录提供 sysadmin 服务器角色。

解决此问题的最佳方法是什么?首先,停止这些持续不断的消息;其次,我有一个不错的设置可以继续前进。

ps 此时仅安装了 SQL 服务器和 Sharepoint,显然我做错了一些事情。

编辑更新: 好的 - 我使用了不同的登录名(本地管理员)并且

  • 按照您所说的,将 sysadmin 服务器角色添加到 myDomain\myDomainUsername 登录的属性中。
  • 我注意到 SQL 配置仅为服务器启用了共享内存协议 - 因此我启用了命名管道和 TCPIP,我认为这可能对于获取有关域用户的信息有用。
  • 然后我重新启动了服务器(首先保存/清除所有事件日志)。

问题仍然存在。

但是,如果我使用本地管理员帐户登录该服务器,则 SQL 不会在事件查看器中出现任何这些消息。

我想知道是否需要在域控制器中设置这台机器的某些内容(即我不是域管理员,但我遇到了一些看起来可能相关的东西,但我没有接受过正确解读这些信息的培训:

为委派管理员设置用户帐户控制策略

最新突破:

想知道“目标队列中的消息”的含义,我想我发现我需要根据这篇文章运行 sp_changedbowner:

http://social.msdn.microsoft.com/forums/en-US/sqlservicebroker/thread/28699c94-4d1b-43f2-bcfb-a95152ca226b/

在 SharePoint 安装期间,我指定myDomain\myDomain用户名当向导要求使用“数据库访问帐户”来连接配置数据库时。人们似乎通过将数据库所有者更改为“sa”或本地计算机帐户来解决此问题 - 但我认为 Sharepoint 想要一个域帐户来实现此目的。

摘要:如果这是问题所在并需要修复,Sharepoint 是否可以将其设置为本地 Windows 帐户或 SQL“sa”帐户?抱歉输入了太多信息!

答案1

从 SQL 2008 开始,本地管理员组默认不具有这些权限。必须明确设置这些权限,并且在 SQL 的设置过程中,系统会提示您添加所需的任何 SA 访问权限。

要修复此问题,请以 SA 帐户之一登录,并为需要该权限的帐户授予 SA 访问权限。

相关内容