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

时间:2020-03-06 14:52:43  来源:igfitidea点击:

我每天使用的IDE是Eclipse,它具有出色的开放资源功能(CTRL + SHIFT + R或者"导航">"开放资源"),该功能允许用户在多个项目中搜索文件/资源​​。

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

解决方案

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

我不再需要这段代码了。如果没有人提供更好的答案,我将返回并使用一些实际代码对其进行编辑。我认为应该有一个DMV。任何人?

否。SMS中没有默认机制可以跨项目搜索。

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

从INFORMATION_SCHEMA.routines中选择*
其中ROUTINE_DEFINITION如'%xp%_'

我们可以像这样使用sp_MSforeachdb:

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

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