4

マルチテナント構成の SQL Server 2008 R2 と Orchard CMS を使用して全文検索ソリューションを展開しようとしています。各テナントには独自のデータベースがあります。自動データ移行を使用して、データベース スキーマの変更を管理しています。移行を使用して全文カタログと索引を作成したいと考えています。ただし、次のエラーが発生します。

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

エラーの理由はわかっていますが、回避策を特定できません。アプリ内のクラスを使用して新しいデータベース接続を開こうとし、System.Data.SqlClient.SqlConnectionトランザクションを作成しないように何らかの方法で構成しようとしましたが、これは何も達成しませんでした。

SSMS を介してデータベースに直接接続する代わりに、.NET プロバイダーを介して全文索引/カタログを作成することは可能ですか?

編集:

私は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

ユーザーは、データベースに対するCREATE FULLTEXT CATALOG権限を持っているか、db_ownerまたはdb_ddladmin固定データベースロールのメンバーである必要があります。

于 2013-01-10T20:32:35.660 に答える
0

SMOを使用して、フルテキスト インデックスを作成および管理できます。また、その他のほぼすべての SQL Server オブジェクトを作成および管理できます。

于 2013-01-10T20:42:52.490 に答える