А что делать есть в сообщении указан не текущий логин, а старое имя компьютера? Как сказать SQL-серверу, что у меня новое имя компьютера? Вроде бы воспользовался командой
T-SQL | ||
|
, где [mydbname] – имя базы данных, DOMAIN и user – имя ПК и пользователя соответственно, а ошибка всё равно сохранилась, а владелец не изменился (при том, что SQL запрос прошёл успешно)
Добавлено через 23 минуты
Удалось получить доступ, переименовав имя для входа в «безопасность, имена для входа». Не думал, что это как-то исправит ошибку
== I asked this question directly to Remus and wanted to share the response to all of those people using this forum ==
We recently moved our database server from SQL Server 2000 to SQL Server 2005. All applications on our intranet development server stay the same [VS.NET 2003], but recently resources in our Dev DB server ran out of space. While doing a thorough investigation, I noticed ERRORLOG file was occupying about 35 Gig of HDD space. I immediately checked SQL Server error log and noticed an entry which says –
===========================================================================================
Date 7/7/2006 4:45:37 PM
Log SQL Server (Current — 7/7/2006 4:45:00 PM)
Source spid77s
Message
The activated proc [dbo].[SqlQueryNotificationStoredProcedure-5eaf8465-d0cb-4be7-93b6-44bb979dd41c] running on queue BW_Content.dbo.SqlQueryNotificationService-5eaf8465-d0cb-4be7-93b6-44bb979dd41c output the following: ‘Could not obtain information about Windows NT group/user ‘BWCINCHoffK’, error code 0x534.’
===========================================================================================
What is this SqlQueryNotificationService in my database? Is it a SQL Server 2005 thing? Why the same kind of stored procedure does not exist in other databases, but BW_Content? This error is getting repeated most probably every second and is filling up our server.
I believe our corporate IT people removed our domain accounts from BWCINC domain to BWCORP domain and probably some application which is using BWCINCHoffK credential is getting errored out. I tried to locate this application and was not successful.
Is there anyway that I can stop this ERRORLOG from growing? How can I delete these log entries so that I can make space on our Hard Drive? Is there an easy way in SQL Server 2005 to locate which application is creating this error?
Response from Remus:
The ‘SqlQueryNotificationService-…’ is the service created by SqlDependency when you call SqlDependency.Start (). The problem you describe appears because the ‘dbo’ user of the database is mapped to the login that originally created this database. The SqlDependency created queue has an EXECUTE AS OWNER clause, owner is ‘dbo’ and therefore this is equivalent to an EXECUTE AS USER = ‘dbo’. The error you see is reported by the domain controller when asked to give information about the original account ‘dbo’ mapps to (that is, BWCINCHoffK’): Error code: (Win32) 0x534 (1332) — No mapping between account names and security IDs was done.
To find the databases that have this problem, run this query:
select name, suser_sname(owner_sid) from sys.databases
The databses that have the problem will show NULL on the second column.
To remove the entries, use sp_cycle_errorlog to force a new errorlog file, then delete the huge log file.
—————————————
I got this error in SQL Error Log once and the growth of ERRORLOG was stopped.
===============================================================
Date 7/10/2006 1:16:55 PM
Log SQL Server (Current — 7/10/2006 1:17:00 PM)
Source spid20s
Message
The query notification dialog on conversation handle ‘{6BDE95F7-0EFB-DA11-9064-000C2921B41B}.’ closed due to the following error: ‘<?xml version=»1.0″?><Error xmlns=»http://schemas.microsoft.com/SQL/ServiceBroker/Error»><Code>-8490</Code><Description>Cannot find the remote service 'SqlQueryNotificationService-c15bb868-ed56-47d2-bf91-ce18b320989a' because it does not exist.</Description></Error>’.
===============================================================
Should I be concerned about this error?
Thanks
-Binoy
Have you ever changed Server name on which SQL Server instance is installed? One of my friends changed the hostname of a Windows server with SQL Server already installed. After this, the SQL Server maintenance plan jobs started to fail. As we know, internally SQL Server still shows the old hostname this must be dropped manually. Otherwise your SQL Server maintenance plan jobs fail with this error.
The Job failed: Could not obtain information about Windows NT group/user 'XXXXXXAdministrator', error code 0x534. [SQLSTATE 42000] (Error 15404))
In this post, I will show you the procedure to resolve the errors and execute the SQL Server Agent Maintenance Plan jobs successfully. Below is the error screenshot showing job failure in the SQL Server agent logs. The error is highlighted in the image in red.
First, connect to your SQL Server instance with SQL Server Management Studio and run the below queries to check SQL Server name:
use master select @@SERVERNAME -- The current hostname SQL Server recorded select SERVERPROPERTY('machinename') -- The hostname the operating system recorded
In the below screenshot, the server name and machine name are different.
Run the below shown T-SQL scripts to drop the old server name, and then it add back the SERVERNAME to match the operating system’s hostname.
In the below screenshot, first we dropped old server name.
In the below screenshot, we have added new server name using T-SQL.
Now, log into the SQL Server with a “sysadmin” privileged user. Go to SQL Server logins, and you can still see the oldServernameadministrator login bound with the SQL Server engine.
Drop the login “OldServernameadministrator” and create a new windows login as “NewServernameadministrator”, adding the sysadmin Server role.
CREATE LOGIN [NewServernameadministrator] FROM WINDOWS; GO EXEC sp_addsrvrolemember N'NewServernameadministrator', N'sysadmin';
In the below screenshot, we have added “DB01administrator” login.
The owner of the job associated with maintenance plan is OldServernameadministrator. We need to reset the ownerid using the below T-SQL Update query.
Now, We need to reset the owner of the job associated with the maintenance plan by running the below T-SQL query. In below screenshot, reset the owner of the job.
Right click on SQL Server job and select properties and change the owner of job to “sa” login.
Delete old maintenance plan and re-create the maintenance plan. Right click and click execute maintenance plan. You can see maintenance plan executed successfully. J
Regards,
Ganapathi varma
Senior SQL Engineer, MCP
Email: Gana20m@gmail.com
- Remove From My Forums
-
Question
-
hello,
we have changed the name of MS SQL server 2005 from XYZ to ABC using
sp_dropserver <old_name>
GO
sp_addserver <new_name>, local
GO
Now our maitenance plan is getting failed we are not able to execute backup jobs we are getting following error
Date 03.05.2008 16:00:00
Log Job History (ADM_AdminDB_TP_Backup.Subplan_1)Step ID 0
Server ABC
Job Name ADM_AdminDB_TP_Backup.Subplan_1
Step Name (Job outcome)
Duration 00:00:00
Sql Severity 0
Sql Message ID 0
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0Message
The job failed. Unable to determine if the owner (XYZSQLServer) of job ADM_AdminDB_TP_Backup.Subplan_1 has server access (reason: Could not obtain information about Windows NT group/user ‘XYZSQLServer’, error code 0x534. [SQLSTATE 42000] (Error 15404)).please help us in this issue
Answers
-
hello,
The problem is solved now…. we have drop the old maitenance plan recreated a new one.
Regards,
Pavi
- Remove From My Forums
-
Question
-
Hello,
After changing the domain name I am receiving the following error message
An exception occurred while enqueueing a message in the target queue. Error: 15404, State: 11. Could not obtain information about Windows NT group/user ‘RHA-DCadministrator’, error code 0x534.
I have changed all the services to the changed name.
Any ideas?
Thanks for all your help in advance
All replies
-
May be a problem with SIDs , try dropping and re-creating windows domain accounts . That’s just a guess
Thanks, Leks
-
Proposed as answer by
Monday, June 6, 2011 6:44 AM
-
Proposed as answer by
-
May be a problem with SIDs , try dropping and re-creating windows domain accounts . That’s just a guess
Thanks, Leks
Lekss is correct! Here is little more info.
Hex 0x534 = decimal 1332
On command prompt you can do net helpmsg 1332 and output is «No mapping between account names and security IDs was done»This essentially points to what Lekss is saying. Even if the account name is same, SID is different. Deleting and recreating login from SQL Server is the way to go.
Balmukund Lakhani | Please mark solved if I’ve answered your question, vote for it as helpful to help other user’s find a solution quicker
———————————————————————————
This posting is provided «AS IS» with no warranties, and confers no rights.
———————————————————————————
My Blog: http://blogs.msdn.com/blakhani
Team Blog: http://blogs.msdn.com/sqlserverfaq -
Where would I delete the account from, you state SQL Server but when I try to open the SQL Server Configuration Manager I get the following error message «Cannot connect to WMI provider. You do not have permission or the server is unreachable. Note that
you can only manage SQL Server 2005 and later servers with SQL Server Configuration Manager. Invalid Class [0x80041010]»Would it be easier to just create a new domain account and assign SQL to this account.
The acocunt that I am presently using is a domain admin account. I know its not wise but I was testing and I durting the course changed the name of the domain admin account.
It might be wiser to change the domain account, if so how can I accomplish this.
Thank you
-
Hi,
If you change server’s domain and the server is running SQL Server. You need to take care of the below items:
1. SA Access
If you only have SQL Server sysadmin via domain accounts/groups, you should temporarily enable the sa account and ensure you know the password, until you get the new domain sysadmin accounts/groups working.
2. Service Account
The new domain service account(s) will need the same privileges as the old domain service accounts.
3. SQL Server Domain-based Logins
Logins that are based on domain accounts or domain groups will need to be recreated.
4. Changing IP Addresses
If required by the domain change and it’s clustered, then the virtual server IP address must change in addition to the individual nodes.
5. Service Principal Names (SPNs).
If the IP addresses are changing, the old SPNs need to be dropped and new ones created. If the SQL Server service account is used to manage its own SPNs (not recommended) then the new domain service account will need to be granted the «Write servicePrincipalName»
privilege.Hope this helps.
Best Regards,
PejaPlease remember to click «Mark as Answer» on the post that helps you, and to click «Unmark as Answer» if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
-
Hi,
I am not changing domain but rather just wanting to change the account that is presently being used by SQL