Sql server 查询SqlServer系统数据库以查找DB对象的sql是什么?
我有一个包含许多表和存储过程的大型数据库,我想查找并查看,例如,是否有一个名称为“setting”的表。我不太熟悉SqlServer的系统数据库,如master、msdb等,我知道有一种方法可以查询其中一个数据库以获取我需要的数据,有人知道如何做吗 谢谢,,Sql server 查询SqlServer系统数据库以查找DB对象的sql是什么?,sql-server,Sql Server,我有一个包含许多表和存储过程的大型数据库,我想查找并查看,例如,是否有一个名称为“setting”的表。我不太熟悉SqlServer的系统数据库,如master、msdb等,我知道有一种方法可以查询其中一个数据库以获取我需要的数据,有人知道如何做吗 谢谢,, 光线。您需要的表格是sys.objects SELECT * FROM sys.objects 包含您查找的信息的表称为sysobjects。以下是对您所描述内容的查询: SELECT * FROM sysobjects WHERE x
光线。您需要的表格是sys.objects
SELECT *
FROM sys.objects
包含您查找的信息的表称为sysobjects。以下是对您所描述内容的查询:
SELECT * FROM sysobjects WHERE xtype = 'U' AND NAME LIKE '%setting%'
(U是用户表的类型)SQL Server还支持标准信息架构视图。使用它们可能更好,因为如果您需要进行迁移,此查询也应该跨不同的数据库引擎工作:
SELECT * FROM INFORMATION_SCHEMA.tables where table_name LIKE '%Settings%'
适用于Sql Server 2005
从sys.objects中选择*,其中键入('U')和名称(如“%setting%”)sysobjects现在已被MS取消权限。您应该改用sys.objects。