【问题标题】:When to use Sql Management Objects (SMO)何时使用 Sql 管理对象 (SMO)
【发布时间】:2010-07-24 13:53:06
【问题描述】:

我正在开展一个利用数据库元数据的项目。迄今为止,我刚刚查询了数据库目录视图(例如 sys.tables),但我知道如果我愿意添加依赖项,使用 SMO 会“更容易”。

与元数据查询相比,SMO 有哪些优势?任何“陷阱”(例如,需要在我的本地机器上安装额外的 SQL 库只是为了享受 SMO 的乐趣)。

【问题讨论】:

    标签: .net sql-server smo


    【解决方案1】:

    sys.tables 和其他文件不能保证在不同版本的 SQL Server 之间保持不变,因此下一个版本可能会破坏您的代码。 SMO 将使用下一版本的 SQL Server 进行更新,并且接口不应更改,因此 SMO 是更强大的解决方案。

    【讨论】:

      【解决方案2】:

      元数据查询将要求您将许多不同的 sys.table 与与您需要编写脚本的内容相关的特定查询连接起来。
      使用 sys.tables 需要深入了解这些关系。
      SMO 要简单得多,并且具有代表您的数据库结构的集合。
      此外,SMO 有一个 Dependency Walker,可以让您查询数据库对象的依赖关系。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-16
        • 1970-01-01
        • 1970-01-01
        • 2021-09-07
        • 1970-01-01
        • 2015-08-16
        • 1970-01-01
        相关资源
        最近更新 更多