什么是查询Sql Server系统数据库以查找数据库对象的SQL?

时间:2008-11-24 19:36:49

标签: sql-server

我有一个包含许多表和sprocs的大型数据库,我想查找并查看,例如,是否有一个名称具有“设置”作为其一部分的表。我不太熟悉SqlServer的系统数据库,如master,msdb等,我知道有一种方法可以查询其中一个dbs以获得我需要的东西,有人知道怎么做吗?

谢谢你, 射线。

4 个答案:

答案 0 :(得分:3)

SQL Server还支持标准信息架构视图。可能更好地使用它们,因为如果您需要进行迁移,此查询也应该适用于不同的数据库引擎:

SELECT * FROM INFORMATION_SCHEMA.tables where table_name LIKE '%Settings%'

答案 1 :(得分:1)

你想要的表是sys.objects

SELECT * 
FROM sys.objects

答案 2 :(得分:0)

包含您要查找的信息的表称为sysobjects。以下是您所描述内容的查询:

SELECT * FROM sysobjects WHERE xtype = 'U' AND NAME LIKE '%setting%'

(U是用户表的类型)

答案 3 :(得分:0)

对于Sql Server 2005

SELECT * FROM sys.objects,其中键入('U'),名称如'%setting%'