SQL Server:为什么使用 SMO?

发布于 2024-10-04 15:00:31 字数 105 浏览 3 评论 0原文

我使用 SQL Server 已经有几年了。我听说过SMO,但我对此一无所知。使用它有什么好处?我应该在我的 SQL Server 项目(主要是数据仓库开发)中学习并开始使用 SMO 吗?为什么?

I have been working with SQL Server for a couple of years. I have heard about SMO but I don't know anything about it. What are the benefits of using it? Should I learn and start using SMO in my SQL Server projects (mainly data warehouse development)? Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

执妄 2024-10-11 15:00:31

来自 Microsoft:

概述 (SMO)

SQL Server 管理对象 (SMO)
是为编程而设计的对象
管理 Microsoft SQL Server。
您可以使用SMO来构建定制的
SQL Server 管理应用程序。
虽然 SQL Server Management Studio
是一个强大而广泛的
用于管理 SQL Server 的应用程序,
有时你可能会
SMO 应用程序可以提供更好的服务。

例如,用户应用程序
控制 SQL Server 管理
任务可能必须简化为
满足新用户的需求并
减少培训成本。你可能有
创建定制的 SQL Server
数据库,或创建应用程序
用于创建和监控
索引的效率。一个SMO
应用程序也可用于
包括第三方硬件或
软件无缝导入数据库
管理应用程序。

SMO 对象模型扩展并
取代分布式管理
对象 (SQL-DMO) 对象模型。
与SQL-DMO相比,SMO增加
性能、控制和易用性。
包含大多数 SQL-DMO 功能
在SMO中,还有各种新的
支持新功能的类
SQL 服务器。对象模型是
直观并使用 SQL-DMO
在可能的情况下,术语
帮助转移您的技能。

您可以在此处下载 SMO:

Microsoft® SQL Server® 2008 R2 功能包

开始编程:

创建 SMO 程序

From Microsoft:

Overview (SMO)

SQL Server Management Objects (SMO)
are objects designed for programmatic
management of Microsoft SQL Server.
You can use SMO to build customized
SQL Server management applications.
Although SQL Server Management Studio
is a powerful and extensive
application for managing SQL Server,
there might be times when you would be
better served by an SMO application.

For example, the user applications
that control the SQL Server management
tasks might have to be simplified to
meet the needs of new users and to
reduce training costs. You might have
to create customized SQL Server
databases, or create an application
for creating and monitoring the
efficiency of indexes. An SMO
application might also be used to
include third-party hardware or
software seamlessly into the database
management application.

The SMO object model extends and
supersedes the Distributed Management
Objects (SQL-DMO) object model.
Compared to SQL-DMO, SMO increases
performance, control, and ease of use.
Most SQL-DMO functionality is included
in SMO, and there are various new
classes that support new features in
SQL Server. The object model is
intuitive and uses SQL-DMO
terminology, where it is possible, to
help transfer your skills.

You can download SMO here:

Microsoft® SQL Server® 2008 R2 Feature Pack

And for getting started programming:

Creating SMO Programs

蹲在坟头点根烟 2024-10-11 15:00:31

这取决于您想要做什么。 SMO 是 SQL Server 管理对象。它是一组用于以编程方式管理 SQL Server 的库。例如,如果您正在尝试构建 SQL Maangement Studio 的克隆,那么您可能需要研究 SMO。或者,如果您尝试以编程方式操作数据库的结构,那么这就是您要查找的地方。

不然的话我也不会打扰。

It depends on what you're trying to do. SMO is SQL Server Management Objects. It is a set of libraries for managing SQL Server programmatically. For example if you're trying to build a clone of SQL Maangement Studio then SMO is something you probably want to look into. OR if you're trying to manpulate the structure of your database programmatically then that's the place to look.

Otherwise, I wouldn't bother.

予囚 2024-10-11 15:00:31

我使用 SMO 自动编写目标代码和用户权限的脚本,并添加到版本控制中。

通过这样做,我可以为我的审计团队或我自己的研究或克隆服务器保存某个时间点的权限或对象 DDL。

我还使用它,这样我就可以快速比较特定日期的目标代码,而无需快照/备份。

最近,我在灾难恢复项目中使用 SMO 编写了所有服务器权限和系统数据库对象权限的脚本,并在替换服务器上运行该脚本。

I have used SMO to automatically script out object code and user permissions and add to version control.

By doing this I can save privileges or object DDL as of a point in time for my auditing team or my own research or for cloning a server.

I also use it so I can quickly compare object code from specific dates without needing a snapshot / backup.

Recently I used SMO in a Disaster Recovery Project to script out all Server Permissions and System Database Object Permissions and run the script on the replacement server.

心凉怎暖 2024-10-11 15:00:31

我最近创建了一个带有 SQL 数据库后端和 SMO 库的 POS/工单管理应用程序。 SMO 为我的应用程序提供了很大的灵活性,可以在工作订单记录、用户记录甚至我自己的用户角色集方面控制数据库。帮助我在管理特定数据库时区分 SQL 用户。因此,我的看法是,这完全取决于您使用 SQL 的范围以及您可能需要在多大程度上自动化和控制 SQL 数据库的某些方面。

I've recently created an POS/Work Order Management application with a SQL database backend and the SMO library. The SMO gave my a application a lot of flexibility to control the database in terms of work order records, user's records an even my own set of user roles. Helping me to differentiate SQL users when managing a specific database. So, my take is that it all depends on the extend of your use of SQL and how much you may need to automate and control certain aspects of your SQL database.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文