4

我正在尝试使用具有多租户配置的 SQL Server 2008 R2 和 Orchard CMS 部署全文搜索解决方案。每个租户都有自己的数据库。我们正在使用自动数据迁移来管理数据库架构更改。我想使用迁移创建一个全文目录和索引。但是我收到以下错误:

CREATE FULLTEXT CATALOG statement cannot be used inside a user transaction.

我确实知道错误的原因,但我无法确定解决方法。我试图使用System.Data.SqlClient.SqlConnection应用程序内的类打开一个新的数据库连接,并以某种方式将其配置为不创建事务,但这并没有实现任何目标。

是否可以通过 .NET 提供程序创建全文索引/目录,而不是通过 SSMS 直接连接到数据库?

编辑:

我已经尝试使用 SMO 使用此代码:

var server = new Server(new ServerConnection(new SqlConnection(connectionString)));

var database = server.Databases[databaseName];

var fulltextCatalog = new FullTextCatalog(database, fullTextCatalogName);
fulltextCatalog.Create();

结果与相同的异常。

4

2 回答 2

0

您可以使用SMO创建和管理全文索引- 以及几乎任何其他 SQL Server 对象。

于 2013-01-10T20:42:52.490 回答
0

用户必须对数据库具有 CREATE FULLTEXT CATALOG 权限,或者是 db_owner 或 db_ddladmin 固定数据库角色的成员。

于 2013-01-10T20:32:35.660 回答