通过SQL查询获取SQL Server架构?

Jef*_*eff 12 sql-server asp-classic

我从一个糟糕的开发人员那里继承了一个笨拙且可怕的未记录的网站,并试图查看数据库模式.遗憾的是,Web主机是我曾经处理过的最糟糕的主机,并且没有用于查看数据库模式甚至导出表的控制面板功能.

有什么方法可以通过SQL查询来查看模式(这将是ASP + SQL Server)?我的最终目标是查看哪些表存在,可能获得重要表的SQL转储,然后以正确的方式重新创建整个事物.

Jer*_*yth 24

INFORMATION_SCHEMA模式是一个很好的起点:

SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT * FROM INFORMATION_SCHEMA.VIEWS
Run Code Online (Sandbox Code Playgroud)

...等等.

您可能还想看一下使用SMO,一个API来获取SQL Server中的元数据.

  • `SELECT*FROM INFORMATION_SCHEMA.COLUMNS`非常有用.它提供了列的详细信息以及表名. (4认同)

pav*_*ium 7

我不确定简单的查询是否像

显示表格;
描述表名;
从表名显示表状态;

在 MS SQL 中有效。它们也会很有用

  • 它们不是:)还有一些其他方法,例如`SELECT * FROM sys.objects WHERE type='U'`等等,但遗憾的是MS SQL中没有`SHOW TABLES`。 (3认同)