SQL Server:为什么使用 SMO?
我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
来自 Microsoft:
概述 (SMO)
您可以在此处下载 SMO:
Microsoft® SQL Server® 2008 R2 功能包
开始编程:
创建 SMO 程序
From Microsoft:
Overview (SMO)
You can download SMO here:
Microsoft® SQL Server® 2008 R2 Feature Pack
And for getting started programming:
Creating SMO Programs
这取决于您想要做什么。 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.
我使用 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.
我最近创建了一个带有 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.