无法获取有关Windows NT组/用户的信息

时间:2022-12-01 06:20:03

I have a Windows 2012 Server running SharePoint 2010 using an SQL Server Express locally installed. Unfortunately my logs are currently flooding with message "An exception occurred while enqueueing a message in the target queue. Error: 15404, State: 19. Could not obtain information about Windows NT group/user 'DOMAIN\user', error code 0x5." It can be 20 such messages every second!

我有一台运行SharePoint 2010的Windows 2012 Server,使用本地安装的SQL Server Express。不幸的是,我的日志当前充斥着消息“在目标队列中排队消息时发生异常。错误:15404,状态:19。无法获取有关Windows NT组/用户'DOMAIN \ user'的信息,错误代码为0x5。”每秒可以发出20条这样的消息!

(...and the 'DOMAIN\user' happens to be my personal account.)

(...和'DOMAIN \ user'恰好是我的个人帐户。)

Are there a job running that has missing rights? "Qoute from https://serverfault.com/questions/277551/mssqlserver-exception-occurred-while-enqueueing-a-message-in-the-target-queue-e "Try to changing the owner of the jobs to the sa account, on the properties of the job." If I'm correct the express version of SQL server cannot run jobs? Or is there someone/something that wants access to our AD? Why do that account wants to obtain information about my account 20 times every second?

是否有一项缺少权利的工作? “来自https://serverfault.com/questions/277551/mssqlserver-exception-occurred-while-enqueueing-a-message-in-the-target-queue-e的Qoute”尝试将作业的所有者更改为sa帐户,关于作业的属性。“如果我是正确的SQL服务器的快递版本无法运行作业?或者有人/某些东西想要访问我们的AD?为什么该帐户想要获取有关我的帐户的信息20每一秒?

I do find lot's of blogs and hints about this task, but I just dont understand the solutions. One says "To repair this, login as one of the SA accounts and grant SA access for the account that needs it." But what account needs sa access?

我确实找到了很多关于这个任务的博客和提示,但我只是不理解这些解决方案。一个人说:“要修复此问题,请登录其中一个SA帐户,并为需要它的帐户授予SA访问权限。”但是什么帐户需要访问?

5 个解决方案

#1


38  

Hopefully this will help someone else:

希望这会帮助其他人:

In my case, sa was not the owner of the DB, I was. When I tried to execute CLR configuration that required sa privileges, I got this error.

就我而言,sa不是数据库的所有者,我是。当我尝试执行需要sa权限的CLR配置时,我收到此错误。

The solution:

解决方案:

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

I used help from the db team at work and this post to find the answer. Hope it helps.

我在工作中使用了数据库团队的帮助和这篇文章来找到答案。希望能帮助到你。

#2


21  

I know this is long but I recently encountered the same problem and the step I took to solve this are below:

我知道这很长但我最近遇到了同样的问题,我采取的步骤解决了这个问题如下:

  1. Right-Click on the database and select properties

    右键单击数据库并选择属性

  2. Click on Files under the "Select a page"

    点击“选择页面”下的文件

  3. Under the Owner just below the Database Name on the right-hand pane, select sa as the owner.

    在右侧窗格的“数据库名称”下方的“所有者”下,选择sa作为所有者。

This will solve the problem for you.

这将为您解决问题。

I hope this helps

我希望这有帮助

#3


8  

In my case the owner of the database was a domain account Domain\Me.

在我的情况下,数据库的所有者是域帐户Domain \ Me。

The error message was

错误消息是

Error: 15404, State: 19. Could not obtain information about Windows NT group/user 'Domain\MyAccount'

错误:15404,状态:19。无法获取有关Windows NT组/用户'Domain \ MyAccount'的信息

The problem was that the database didn't know what to do with the domain account - so the logical thing to do was to use a local account instead.

问题是数据库不知道如何处理域帐户 - 所以合乎逻辑的做法是使用本地帐户。

I tried changing the owner of the database, but things still wouldn't work correctly.

我尝试更改数据库的所有者,但事情仍然无法正常工作。

In the end I dropped and recreated the entire database MAKING SURE THAT THE OWNER WAS SA

最后,我放弃并重新创建了整个数据库,确保所有者都是SA

无法获取有关Windows NT组/用户的信息

I also set the Broker to Enabled in the settings

我还在设置中将Broker设置为Enabled

无法获取有关Windows NT组/用户的信息

Thing started magically working after this

在此之后,事情开始神奇地工作

#4


2  

I had this error from a scheduled job in sql Server Agent, in my case, just after I changed the hostname of the Windows Server. I had also ran sp_dropserver and sp_addserver. My database was owned by "sa", not a Windows user.

在我的情况下,在我更改了Windows Server的主机名之后,我从sql Server Agent中的预定作业中收到此错误。我还运行了sp_dropserver和sp_addserver。我的数据库由“sa”拥有,而不是Windows用户。

I could login into SQL as the Windows user NEWHOSTNAME\username (I guess after a hostname change, the SID doesn't change, that's why it worked automatically?).

我可以作为Windows用户NEWHOSTNAME \ username登录到SQL(我想在主机名更改后,SID不会改变,这就是它自动运行的原因吗?)。

However, in SQL, in Security/Logins node, I had SQL logins defined as OLDHOSTNAME\username. I connected to SQL using "sa" instead of Windows Integrated, dropped the old logins, and create new ones with NEWHOSTNAME\username.

但是,在SQL中,在Security / Logins节点中,我将SQL登录定义为OLDHOSTNAME \ username。我使用“sa”而不是Windows Integrated连接到SQL,删除旧登录,并使用NEWHOSTNAME \ username创建新登录。

The error disappeared.

错误消失了。

#5


0  

to do a bulk update for all databases, run this script and then execute its output:

要对所有数据库执行批量更新,请运行此脚本然后执行其输出:

 SELECT 'ALTER AUTHORIZATION ON DATABASE::' + QUOTENAME(name) + ' TO [sa];' 
 from sys.databases
     where name not in ('master', 'model', 'tempdb')

#1


38  

Hopefully this will help someone else:

希望这会帮助其他人:

In my case, sa was not the owner of the DB, I was. When I tried to execute CLR configuration that required sa privileges, I got this error.

就我而言,sa不是数据库的所有者,我是。当我尝试执行需要sa权限的CLR配置时,我收到此错误。

The solution:

解决方案:

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

I used help from the db team at work and this post to find the answer. Hope it helps.

我在工作中使用了数据库团队的帮助和这篇文章来找到答案。希望能帮助到你。

#2


21  

I know this is long but I recently encountered the same problem and the step I took to solve this are below:

我知道这很长但我最近遇到了同样的问题,我采取的步骤解决了这个问题如下:

  1. Right-Click on the database and select properties

    右键单击数据库并选择属性

  2. Click on Files under the "Select a page"

    点击“选择页面”下的文件

  3. Under the Owner just below the Database Name on the right-hand pane, select sa as the owner.

    在右侧窗格的“数据库名称”下方的“所有者”下,选择sa作为所有者。

This will solve the problem for you.

这将为您解决问题。

I hope this helps

我希望这有帮助

#3


8  

In my case the owner of the database was a domain account Domain\Me.

在我的情况下,数据库的所有者是域帐户Domain \ Me。

The error message was

错误消息是

Error: 15404, State: 19. Could not obtain information about Windows NT group/user 'Domain\MyAccount'

错误:15404,状态:19。无法获取有关Windows NT组/用户'Domain \ MyAccount'的信息

The problem was that the database didn't know what to do with the domain account - so the logical thing to do was to use a local account instead.

问题是数据库不知道如何处理域帐户 - 所以合乎逻辑的做法是使用本地帐户。

I tried changing the owner of the database, but things still wouldn't work correctly.

我尝试更改数据库的所有者,但事情仍然无法正常工作。

In the end I dropped and recreated the entire database MAKING SURE THAT THE OWNER WAS SA

最后,我放弃并重新创建了整个数据库,确保所有者都是SA

无法获取有关Windows NT组/用户的信息

I also set the Broker to Enabled in the settings

我还在设置中将Broker设置为Enabled

无法获取有关Windows NT组/用户的信息

Thing started magically working after this

在此之后,事情开始神奇地工作

#4


2  

I had this error from a scheduled job in sql Server Agent, in my case, just after I changed the hostname of the Windows Server. I had also ran sp_dropserver and sp_addserver. My database was owned by "sa", not a Windows user.

在我的情况下,在我更改了Windows Server的主机名之后,我从sql Server Agent中的预定作业中收到此错误。我还运行了sp_dropserver和sp_addserver。我的数据库由“sa”拥有,而不是Windows用户。

I could login into SQL as the Windows user NEWHOSTNAME\username (I guess after a hostname change, the SID doesn't change, that's why it worked automatically?).

我可以作为Windows用户NEWHOSTNAME \ username登录到SQL(我想在主机名更改后,SID不会改变,这就是它自动运行的原因吗?)。

However, in SQL, in Security/Logins node, I had SQL logins defined as OLDHOSTNAME\username. I connected to SQL using "sa" instead of Windows Integrated, dropped the old logins, and create new ones with NEWHOSTNAME\username.

但是,在SQL中,在Security / Logins节点中,我将SQL登录定义为OLDHOSTNAME \ username。我使用“sa”而不是Windows Integrated连接到SQL,删除旧登录,并使用NEWHOSTNAME \ username创建新登录。

The error disappeared.

错误消失了。

#5


0  

to do a bulk update for all databases, run this script and then execute its output:

要对所有数据库执行批量更新,请运行此脚本然后执行其输出:

 SELECT 'ALTER AUTHORIZATION ON DATABASE::' + QUOTENAME(name) + ' TO [sa];' 
 from sys.databases
     where name not in ('master', 'model', 'tempdb')