We moved our dbs to a new server and the drives on the old server are still available, but the SQL service is offline and cannot be started.

I want to find the linked servers that were registered on the old server. I tried restoring the master db under a different name on another SQL server. That's all fine, but when I tried to run

select * from newmaster.sys.servers

it actually looks in the actual master db of that server instead of what I specified?

How do I view the list of linked servers in this case?


The system catalogs (SYS objects) are stored in the resource DB. The resource DB is usually located at: <drive>:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\, i.e. the same location of the master DB. Yes, this is like the fifth system database.

Check this link on: Moving the master and Resource Databases to move your master and resource DB.


Try the following:

select * from sysservers

If that does not work (version dependent) I suggest you fire up a new instance of SQL, then restore your old master database there.

If you cannot do that, you can comb through the source code for the stored procedures and views, looking for references to linked servers.


Using sp_helptext lookup the definition of sys.servers. You'll see that is a view that selects from a system catalog table. Then from a DAC connection, select directly from the same system catalog table in [newmaster].

  • I was not able to look up the definition of sys.servers, but was able to look up sysservers which is a view that uses sys.servers. I connected using DAC and did a select on sys.servers, but the results were the same as what's stated in the question :(... – deutschZuid Mar 12 '12 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.