为什么表sys.sql\u modules为空?

为什么表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

在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] 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编写脚本。