为什么表sys.sql\u modules为空?
在SSMS中,我使用以下脚本创建了一个数据库。当脚本执行完成时,我希望在表中看到CREATETABLE语句。但是我找不到它为什么表sys.sql\u modules为空?,sql,sql-server,Sql,Sql Server,在SSMS中,我使用以下脚本创建了一个数据库。当脚本执行完成时,我希望在表中看到CREATETABLE语句。但是我找不到它 CREATE DATABASE [MyDb] GO USE [MyDb] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[MyTable] ( [UID] [uniqueidentifier] NOT NULL, [DateTime] [datetime] NO
CREATE DATABASE [MyDb]
GO
USE [MyDb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[MyTable] (
[UID] [uniqueidentifier] NOT NULL,
[DateTime] [datetime] NOT NULL
)
这是我运行的查询,用于获取表定义。但是,我得到了三个空结果集。知道我为什么会得到这三个空结果集吗
USE MyDb
GO
SELECT *
FROM sys.sql_modules
SELECT *
FROM sys.triggers
SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition
FROM sys.sql_modules AS sm
JOIN sys.objects AS o ON sm.object_id = o.object_id
ORDER BY o.type;
要获取列和表信息,请从以下位置开始:
SELECT c.*, t.*
FROM sys.tables AS t
INNER JOIN sys.columns AS c ON t.object_id = c.object_id
INNER JOIN sys.schemas AS sch ON t.schema_id = sch.schema_id
WHERE sch.name = 'dbo'
AND t.name = 'YourTable'
您是否正在创建任何过程、函数和视图?那里没有桌子。在哪里可以找到表定义?您需要自己从其他视图中找出它们。或者可以使用SMO编写脚本。