如何确定链接服务器上是否存在数据库? [英] How to determine if database exists on linked server?
问题描述
我知道您可以执行以下操作:
I know you can do something like:
select count(*) as Qty from sys.databases where name like '%mydatabase%'
但是你怎么能做这样的事情:
but how could you do something like:
select count(*) as Qty from linksServer.sys.databases where name like '%mydatabases%'
我想我可以在链接服务器上放置一个存储过程并执行第一个选择,但是有没有办法查询链接服务器保存的数据库?
I guess I could put a stored procedure on the linked server and execute the first select, but is there a way to query a linked server for what databases it holds?
推荐答案
假设您的链接服务器登录名对 master.sys.databases 表具有读取权限,您可以使用以下内容:
Assuming your linked server login has read permissions on the master.sys.databases table, you can use the following:
select * from linksserver.master.sys.databases
过去,我在 SQL Server 2008 R2 上使用过这个查询.
In the past, I've used this very query on SQL Server 2008 R2.
这篇关于如何确定链接服务器上是否存在数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!