我使用本地安装的SQL Server Express运行SharePoint 2010的Windows 2012 Server。不幸的是,我的日志目前充斥着消息"在目标队列中排队消息时发生异常。错误:15404,状态:19。无法获取有关Windows NT组/用户' DOMAIN \ user',错误代码0x5的信息。"每秒可以发出20条这样的消息!
(...' DOMAIN \用户'恰好是我的个人帐户。)
是否有正在运行的工作缺少权利? " Qoute来自https://serverfault.com/questions/277551/mssqlserver-exception-occurred-while-enqueueing-a-message-in-the-target-queue-e"尝试根据作业的属性将作业的所有者更改为sa帐户。"如果我正确的SQL服务器的快递版本无法运行作业?或者有人/某事需要访问我们的AD?为什么该帐户希望每秒获取有关我帐户的信息20次?
我确实找到了很多关于此任务的博客和提示,但我只是不理解这些解决方案。一个人说"要修复此问题,请以SA帐户之一登录,并为需要它的帐户授予SA访问权限。"但是什么帐户需要访问?
答案 0 :(得分:64)
希望这会有助于其他人:
在我的情况下,sa
不是数据库的所有者,我是。当我尝试执行需要sa
权限的CLR配置时,我收到了此错误。
解决方案:
USE MyDB
GO
ALTER DATABASE MyDB set TRUSTWORTHY ON;
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
我在工作中使用了数据库团队的帮助,this post找到了答案。希望它有所帮助。
答案 1 :(得分:51)
我知道这很长但我最近遇到了同样的问题,我采取的步骤如下:
右键单击数据库并选择属性
点击"选择页面"
在右侧窗格的数据库名称下方的所有者下,选择sa作为所有者。
这将为您解决问题。
我希望这会有所帮助
答案 2 :(得分:12)
在我的情况下,数据库的所有者是域帐户Domain \ Me。
错误消息是
错误:15404,状态:19。无法获取有关Windows NT的信息 组/用户'Domain \ MyAccount'
问题是数据库不知道如何处理域帐户 - 所以合乎逻辑的做法是使用本地帐户。
我尝试更改数据库的所有者,但事情仍然无法正常工作。
最后我放弃了并重新创建了整个数据库,确保所有者都是SA
我还在设置中将Broker设置为Enabled
在此之后,事情开始神奇地工作了
答案 3 :(得分:2)
我在sql 服务器代理中的预定作业出现此错误,在我的情况下,就在我更改了Windows Server的主机名之后。我还运行了sp_dropserver和sp_addserver。我的数据库由“sa”拥有,而不是Windows用户。
我可以作为Windows用户NEWHOSTNAME \ username登录到SQL(我想主机名更改后,SID不会改变,这就是它自动运行的原因吗?)。
但是,在SQL中,在Security / Logins节点中,我将SQL登录定义为OLDHOSTNAME \ username。我使用“sa”而不是Windows Integrated连接到SQL,删除旧登录,并使用NEWHOSTNAME \ username创建新登录。
错误消失了。
答案 4 :(得分:2)
我正在连接到我的工作笔记本电脑上的本地数据库,但是用户'DOMAIN \ user'需要由公司网络上的AD进行身份验证。我遇到了此错误,因为重新连接并刷新后VPN没有立即连接,因此错误消失了。
答案 5 :(得分:2)
我遇到了同样的问题。就我而言,这是因为我的机器是域的一部分,但我没有连接到公司 VPN。连接VPN后问题解决(域用户可以通过SQLAgent解决)。
答案 6 :(得分:1)
我遇到了一个同样的问题,即我的域登录未被识别。我所做的只是进入SQL Server配置管理器,然后以网络服务而不是本地服务的形式启动服务。然后,SQL Server / Agent能够识别作业的AD登录名。
答案 7 :(得分:1)
就我而言,这是VPN
问题。当我打开VPN连接到我的办公室网络,然后尝试再次启动快照代理时,它成功启动。
答案 8 :(得分:0)
对所有数据库进行批量更新,运行此脚本然后执行其输出:
SELECT 'ALTER AUTHORIZATION ON DATABASE::' + QUOTENAME(name) + ' TO [sa];'
from sys.databases
where name not in ('master', 'model', 'tempdb')
答案 9 :(得分:0)