如题,是否有类似db_id的函数获取链接服务器某数据库的标识,以便用来判断该库是否存在?

解决方案 »

  1.   

    sp_catalogs  [ @server_name = ] 'linked_svr'返回指定链接服务器中目录的列表。这等价于 SQL Server 2005 中的数据库。
      

  2.   

    DB_ID ( [ 'database_name' ] ) 
    参数
    ' database_name ' 用于返回对应的数据库 ID 的数据库名称。database_name 的数据类型为 sysname。如果省略 database_name,则返回当前数据库 ID。返回类型
    int 
      

  3.   

    db_id正解。EXEC sp_addlinkedserver 
       'MYLOCAL', 
       '', 
       'MSDASQL',
       NULL,
       NULL,
       'DRIVER={SQL Server};SERVER=.\sql2k;UID=sa;PWD=xxx;'
    GOIF DB_ID('MYLOCAL.test') IS NOT NULL
    PRINT 'not exists'
    ELSE
    PRINT 'exists'GO
    EXEC sp_dropserver 'MYLOCAL'
    GO
      

  4.   

    使用DB_ID,参看联机丛书。链接服务器可以看做本地服务器,只是引用时一点点差异。