Change @@servername in SQL 2005

  • I setup a development server by restoring the system databases from the production server. However, I am now running into a problem with a trigger that is pulling the server name from @@servername. When I select @@servername it returns the production server's name. How can I change @@servername to reflect the development server's name? Both servers are local sql installs. There are no other instances. When I remote into the development server using Management Studio I use what the development server name should be. This name is just not reflected in @@servername.

    Can I use the sp_dropserver, sp_addserver? Would doing this have any adverse affects on the databases, jobs, etc?

    sp_dropserver

    GO

    sp_addserver , local

    GO

    I really don't want to rebuild this development sql server. That would probably involve contacting the vendor, which would means more money.

  • You can do so by changing the name of your server from windows OS. Then restart SQL server. Your new name should reflect when you run select @@servername again.

    Thanks!!

    The_SQL_DBA
    MCTS

    "Quality is never an accident; it is always the result of high intention, sincere effort, intelligent direction and skillful execution; it represents the wise choice of many alternatives."

  • The OS recognizes the development server name correctly. It seems like everything recognizes it correctly except @@servername.

  • You would need to do this then, won't affect anything else unless you have any jobs that use the old server name. If so you need to updated them with the new server name.

    1. sp_dropserver 'old_name'

    2. go

    3. sp_addserver 'new_name','local'

    4. go

    Also restart sql server as

    net stop mssqlserver

    net start mssqlserver

    This should do the trick for you

    Thanks!!

    The_SQL_DBA
    MCTS

    "Quality is never an accident; it is always the result of high intention, sincere effort, intelligent direction and skillful execution; it represents the wise choice of many alternatives."

  • I also noticed the following logins:

    PRODUCTION\SQLServer2005MSFTEUser$PRODUCTION$MSSQLSERVER

    PRODUCTION\SQLServer2005MSSQLUser$PRODUCTION$MSSQLSERVER

    PRODUCTION\SQLServer2005SQLAgentUser$PRODUCTION$MSSQLSERVER

    They should be:

    DEVELOPMENT\SQLServer2005MSFTEUser$DEVELOPMENT$MSSQLSERVER

    DEVELOPMENT\SQLServer2005MSSQLUser$DEVELOPMENT$MSSQLSERVER

    DEVELOPMENT\SQLServer2005SQLAgentUser$DEVELOPMENT$MSSQLSERVER

    Would below script fix these as well?

    exec sp_dropserver PRODUCTION

    GO

    exec sp_addserver DEVELOPMENT, 'local'

    GO

  • Did you say you restored the dev server system databases with the backup from production system databases?

    Thanks!!

    The_SQL_DBA
    MCTS

    "Quality is never an accident; it is always the result of high intention, sincere effort, intelligent direction and skillful execution; it represents the wise choice of many alternatives."

  • Yes.

  • um....

    sp_dropserver will "remove a server from the list of known remote and linked servers on the local instance of SQL Server"..... so it will not affect at all your running instance.

    when you run sp_helpserver you are getting production right?

    Not sure if only the sp_addserver with the 'local' option will do the trick

    _______________________________________________________________________
    For better assistance in answering your questions, click here[/url]

  • I dont think you need to restore system databases to make a copy of production. Because Dev and Prod are completely different instances.

    Dev and prod need to match with their schema and not system databases.

    To avoid any other problems please revert back your dev system databases from backup. Like if you are updating something on Dev box with the criteria of @@servername then it would update your production(only if this job uses an account that exists on prod, but it is a possibility)

    Thanks!!

    The_SQL_DBA
    MCTS

    "Quality is never an accident; it is always the result of high intention, sincere effort, intelligent direction and skillful execution; it represents the wise choice of many alternatives."

  • Well, found this http://blogs.techrepublic.com.com/datacenter/?p=192

    So apparently the trick with sp_dropserver/addserver and restarting the SQL services does accomplish what you need?

    _______________________________________________________________________
    For better assistance in answering your questions, click here[/url]

  • Richard M (2/19/2009)


    um....

    sp_dropserver will "remove a server from the list of known remote and linked servers on the local instance of SQL Server"..... so it will not affect at all your running instance.

    when you run sp_helpserver you are getting production right?

    Not sure if only the sp_addserver with the 'local' option will do the trick

    You can change the Servername using sp_addserver.

    Refer http://msdn.microsoft.com/en-us/library/ms143799.aspx?ppud=4



    Pradeep Singh

  • yup... realized that... see my previous post...

    _______________________________________________________________________
    For better assistance in answering your questions, click here[/url]

Viewing 12 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic. Login to reply