问题标签 [smo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2053 浏览

sql-server - 如何在 PowerShell 中使用 SMO 编写稍微改变的对象的脚本?

我正在尝试从数据库生成脚本,但对这些对象稍作修改。例如,我想为存储过程生成脚本,但我希望脚本在不同的架构下创建它。

我有一个我目前正在尝试的例子。如果我的方向完全错误,请指出我正确的方向。我想避免进行任何类型的字符串搜索和替换,因为这有很多潜在的危险。

我试图做的是从数据库中的现有函数创建一个函数对象,然后创建一个新函数并尝试使其成为我刚刚创建的函数的副本。这似乎有必要让我更改架构,因为它必须在内存中并且不绑定到数据库。然后我尝试更改架构并编写脚本。不幸的是,我无法找到不会因 PowerShell 中的错误而失败的 .Script 语法。

0 投票
2 回答
1647 浏览

c# - 在 C# 中通过 SMO 发送时,是否可以将 sql 命令的结果输出到文本文件?

我在 C# 中使用 SMO 来运行 SQL 脚本。我需要将文件的结果输出到文本文件中。

使用命令行运行查询时,我可以使用“-o [输出文件]”参数获得所需的结果。有没有办法使用 SMO 对象执行相同的操作?

目前我的代码只是将一个 sql 脚本发送到服务器:

任何帮助将非常感激!

0 投票
1 回答
888 浏览

sql - 使用 SMO 将表作为选择脚本

SSMS 允许您右键单击表和“将表编写为”->“选择为”。我认为 SSMS 中的几乎所有内容都是通过 SMO 脚本引擎完成的,但我似乎找不到通过 SMO 执行此操作的方法,除非循环遍历列并自己生成脚本。

我的 Google-Fu 是不是很弱,还是人们只是不使用 SMO 来做这样的事情?我在任何地方都找不到任何示例脚本,但它似乎是一种常见的需求。

0 投票
1 回答
1800 浏览

sql-server - 使用 SMO 恢复数据库 - 报告进度问题

我正在使用以下内容在 VB.NET 中恢复数据库。这可行,但如果用户单击任何内容,则会导致界面锁定。此外,我无法让进度标签以增量方式更新,在备份完成之前它是空白的,然后显示 100%

这种变化是否正确?:

0 投票
4 回答
3512 浏览

sqlalchemy - 在 IronPython 2.6.1 中使用 SQL Alchemy 和 pyodbc

我正在使用 IronPython 和 clr 模块通过 SMO 检索 SQL Server 信息。我想使用 SQL Alchemy 在 SQL Server 数据库中检索/存储这些数据,但在加载 pyodbc 模块时遇到了一些问题。

这是设置:

  • IronPython 2.6.1(安装在 D:\Program Files\IronPython)
  • CPython 2.6.5(安装在 D:\Python26)
  • SQL Alchemy 0.6.1(安装在 D:\Python26\Lib\site-packages\sqlalchemy)
  • pyodbc 2.1.7(安装在 D:\Python26\Lib\site-packages)

我在 IronPython site.py 中有这些条目来导入 CPython 标准和第三方库:

SQL Alchemy 在 IronPython 中导入 OK,当我尝试连接到 SQL Server 时收到此错误消息:

这段代码在 CPython 中运行良好,但看起来 pyodbc 模块无法从 IronPython 访问。

有什么建议么?我意识到这可能不是解决问题的最佳方法,所以我愿意以不同的方式解决这个问题。只是想获得一些使用 SQL Alchemy 和 pyodbc 的经验。

0 投票
2 回答
812 浏览

vb.net - List all triggers in a database

Is it possible to list all triggers in all tables on a database? I can list all user stored procedures with:

But nothing obvious in SMO for triggers. (I'm actually trying to list just custom triggers, any that are not named DEL_tablename, INS_tablename, UPD_tablename) within the selected database.

0 投票
1 回答
2295 浏览

c# - SMO ServerConnection 事务方法与使用 SqlConnectionObject 属性有区别吗?

我正在使用 SMO 在 SQL Server 上创建数据库和表。我想在交易中这样做。这两种方法是否有效且等效:

第一种方法:

第二种方法:

0 投票
2 回答
785 浏览

c# - Microsoft.SqlServer.Management.Smo.Transfer() 失去约束

我正在尝试将 SQL 数据库从一台服务器复制到另一台服务器。

请告诉我如何在不丢失目标数据库约束的情况下使用 Transfer() 方法。

我尝试了不同的参数,包括

而这该死的东西仍然失去了所有的约束。

请帮帮我!

0 投票
1 回答
238 浏览

c# - 使用 SMO 持久化和重建数据库结构

在服务器之间传输数据库或在服务器实例中创建 db 副本非常容易。我们可以使用 Microsoft.SqlServer.Management.Smo.Transfer 类。

但是,如果我需要读取 db 的所有结构,将其保存在磁盘上的某个位置,然后稍后使用该数据根据之前保存的数据创建数据库,该怎么办。

我应该再次使用 Transfer 吗?还是有比这更好、更有用的东西?

你能给我举个例子吗。谢谢你。

0 投票
2 回答
1040 浏览

c# - Microsoft.SqlServer.Management.Smo.Transfer 类

我正在尝试使用 Smo.Transfer 类在服务器之间复制 sql db。

当你复制绝对正常的数据库时没关系。有用。

但是,如果您的数据不一致怎么办?例如,我有一个函数,它从表和不存在的列中获取值(有人重命名了该列,现在该函数不起作用)。但是如果你尝试生成一个脚本,它会生成好的。

但是当您实际尝试运行此脚本时,问题就开始了。Sql server 不会让你创建函数,因为它不能引用不存在的列。

当您实际运行 .TransferData() 方法时,Transfer 类会发生类似的情况。

问题是。是否可以以某种方式完全跳过对象的创建(在我们的示例中为函数)?

如何捕捉错误,跳过对象并让 .TransferData() 方法继续它的工作?