Question

A somewhat open-ended question so any information that closes the gaps in my knowledge would be appreciated.

When doing a SQL Server upgrade from 2000 to 2008 the upgrade advisor can give the following warning: The Upgrade Advisor detected one or more user-defined login names that match the names of fixed server roles. Fixed server role names are reserved in SQL Server 2008. Rename the login before upgrading to SQL Server 2008.

I believe this is because say for example a login of 'sysadmin' in a sql server 2000 database will clash with a fixed server role of 'sysadmin' in 2008..

Is there a way to safely drop and re-create these logins or could dropping a login of say 'sa' have unintended consequences?

No correct solution

OTHER TIPS

Repro of issue :

1) Delete the Builtin/administrator account . 2) Try to connect to SQL Server through sqlcmd or Management studio .You will get the error 18456 Level 14 State 1. 3) Assume that i have forgotten the SA password as well.

Solution: 1) Login to the server using administrator account .

2) Stop SQL Server service and start it with -m switch(single user mode) .

2) Type sqlcmd -E and hit enter .If its named instance then sqlcmd -S -E and hit enter.

4) You will see > sign

5) Commands you need to use

 CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS WITH DEFAULT_DATABASE=  [master], DEFAULT_LANGUAGE=[us_english]

go

6) Give sysadmin role to the login we just created

EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Administrators', @rolename = N'sysadmin'


GO

7) You are done.Exit out of it .8) restart you SQL Server service without -m parameter.

You are done .Login again to SQL Server and reset the SA password .Save the SA password for the rainy day .

Source

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top