SQL Server table.Script()方法引发奇怪的异常

时间:2019-07-19 21:30:53

标签: c# sql sql-server ssms sql-server-2014

我有一个带有数据库的服务器,可以通过SSMS访问它,并且是该服务器的所有者。同时,在C#中,我创建了一个Microsoft.SqlServer.Management.Smo.Table实例,该实例继承自Microsoft.SqlServer.Management.Smo.TableViewTypeBase

TableViewTypeBase有一个称为Script()的方法,正如您从那里的链接中看到的那样,文档并不能完全照亮。

这是我要执行的操作:我成功连接到服务器并成功连接到数据库。我可以通过database.Tables获取数据库中表的列表(或类似列表,可能是集合)。然后,我从这些表中获取一个特定的表,并想在其上调用该Script()方法。

您可能已经猜到了,这不是我编写的代码,但是现在我在这里尝试使其工作。对于我使用过的许多表格,都没有问题。但是,其中之一出现了此错误:

  

表X的脚本失败

对此进行搜索会导致很多关于“出版物”和“订阅”的答案,我认为这些答案不适用于我的情况,但是我很快就无法理解了。来自MSDN的This link说我需要更新“数据库兼容性级别”吗?

当然,我先返回Google并从Microsoft Docs中找到this link,一切进展顺利,直到我进入第5步为止,您是否不知道—下拉列表立即变成灰色。没有数字显示在那里。看起来像这样:

compatibility level drop down grayed out SSMS

我非常确定这不是权限问题,因为我是该数据库的所有者!

那么,明智的人:您推荐什么?对于这个特定的错误,答案不多,文档基本上没有内容。我的想法不多了。

0 个答案:

没有答案