title: Is there an "IF EXISTS" test for a linked server?
body: <p>I want to be able to programmatically (in T-SQL) check if a specific linked server already exists for my current server and database (so that if the link doesn't exist yet, I can create it). I tried stuff like this:</p>
  
  <pre><code>IF OBJECT_ID('myserver\devdb_1') IS NULL
  BEGIN
    PRINT 'Does not exist, need to create link'
    EXEC master.dbo.sp_addlinkedserver @server = N'myserver\devdb_1', 
                                       @srvproduct=N'SQL Server'
  END
  ELSE
    PRINT 'Link already exists'
  </code></pre>
  
  <p>But the OBJECT_ID test always returns null, even if the link already exists.  Any way to do this check in T-SQL, so that the rest of my code can assume the link always exists?</p>