Changing a SQL Server 2000 login

WARNING: This is not a recommended approach. Use at your own risk

While SQL Server 2005 has the ALTER LOGIN statement to change the properties of a SQL Server login account, SQL Server 2000 does not have such a command. Unfortunately, there are cases where you need to simply rename the login due to a misspelled name or a change management policy. The proper way to do it in SQL Server 2000 is to create the new login, map the permissions and roles of the existing login that you wish to change to this new login and, then, drop the old login. I wouldn’t want to go thru that if I only have to rename the login. The only simpler way to do it is to modify the system tables. As I’ve said, it is not recommended to modify the system tables and/or objects directly so bear in mind that doing this would be at your own risk. This would also require that you torn on allowing ad hoc updates to system tables and turning it off afterwards

sp_CONFIGURE ‘ALLOW UPDATES’, 1
GO
RECONFIGURE WITH OVERRIDE
GO

UPDATE db..sysusers
SET name=‘newLogin’
WHERE
name=‘oldLogin’

UPDATE master..sysxlogins
SET name=‘newLogin’
WHERE
name=‘oldLogin’

sp_CONFIGURE ‘ALLOW UPDATES’, 0
GO
RECONFIGURE WITH OVERRIDE
GO

A similar stored procedure is described here

Please note: I reserve the right to delete comments that are offensive or off-topic.

Leave a Reply

Your email address will not be published. Required fields are marked *