在 SQL Server Management Studio 中,我可以跨多个数据库搜索资产吗?

StackOverflow https://stackoverflow.com/questions/149054

  •  02-07-2019
  •  | 
  •  

我日常使用的 IDE 是 Eclipse,它具有出色的开放资源功能(CTRL+SHIFT+R 或导航 > 打开资源),允许用户跨多个项目搜索文件/资源​​。

我在 SQL Server Management Studio 中找不到类似的功能,有吗?

有帮助吗?

解决方案

您可以使用信息架构视图在 SQL 数据库中搜索对象http://msdn.microsoft.com/en-us/library/ms186778.aspx有一个用于表、列、函数、存储过程等。

选择 *来自Information_schema.Routines的例程_definition,例如'%xp%_''

其他提示

不。SMS 中没有默认的跨项目搜索机制。

您可以像这样使用 sp_MSforeachdb :

sp_MSforeachdb 'SELECT * FROM ?.INFORMATION_SCHEMA.routines WHERE ROUTINE_TYPE = ''PROCEDURE'''

上面将选择所有数据库中的所有过程并以不同的结果集返回它们。使用不同的视图,您还可以选择表、列等。

我希望有人对此有比我更好的答案。过去,我使用 CURSOR 搜索所有数据库并将结果插入临时表中。然后我可以从临时表中进行选择并显示结果。

我不再有这段代码了。如果没有人提出更好的答案,我会回来用一些真实的代码编辑它。我认为DMV 应该为此设立一个。任何人?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top