SQL错误:"无法在用户实例中使用全文搜索。"

时间:2012-06-01 06:23:13

标签: sql-server sql-server-2008

我正在使用SSEUtil从我的开发数据库(SQL Server 2008 R2)派生的模式中自动创建功能测试数据库,这是我构建过程的一部分。这允许我保持两个数据库同步(模式方式)而不对我的开发数据库运行SQL存储库测试。

我最近在我的开发模式中为该项目首次向表添加了一个全文索引,现在当我尝试将模式应用于新创建的单元测试数据库时,我在执行SQL时遇到以下错误创建全文目录:

CREATE FULLTEXT CATALOG [FullTextCatalog] AUTHORIZATION [dbo]
GO
  

无法在用户实例中使用全文搜索   [SqlException Number 9982,Class 16,State 100,Line 1]

我搜索过高低。我找到的唯一帮助是在另一个网站上,有人建议“附加到父数据库”。我不知道这意味着什么。我不知道这个错误意味着什么。什么是“用户实例”?

有人可以建议解决这个问题吗?有没有更好的方法来保持两个数据库模式同步以进行持续集成?

3 个答案:

答案 0 :(得分:13)

无论

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

如果SQL实例没有安装它,您将无法使用全文目录。确保SQL Server实例已运行全文服务。

以下是测试是否安装此功能的两种方法。此功能适用于所有版本的SQL Server 2005和2008(包括SQL Express)

  1. 检查此条目的服务小程序(运行 - >输入'services.msc'): SQL Server全文搜索或SQL Server全文搜索(SQLEXPRESS)(在SQL Express的情况下)。启动不运行

  2. 的服务
  3. 在查询分析器中运行查询“select fulltextserviceproperty('isfulltextinstalled')”。如果结果是'1',则安装它不是。

  4. 如果此功能不可用,则需要通过从http://www.microsoft.com/express/sql/download/default.aspx

    下载“SQLEXPR_ADV.EXE”进行安装。

    Reference taken from here

答案 1 :(得分:1)

这不是问题的真正答案,但在更新实体框架代码优先数据库(命令update-database)时,我遇到了与visual studio包管理器类似的问题。

问题是我选择了错误的启动项目,因此visual studio根本没有使用我的连接字符串。它连接到localdb实例,因此隐秘的错误消息“不能在用户实例中使用全文搜索”。一旦我连接到实际数据库,它就按预期工作。

答案 2 :(得分:0)

我也遇到了这个用户实例问题。我必须承认,我仅具有SSMS的基本知识。显然,我以public用户的身份登录。我如何成为db_owner的成员?我尝试不使用GUI生成所有内容并编写脚本。

例如,如果我执行此操作

ALTER AUTHORIZATION ON DATABASE::[dbname] TO sa;

EXEC sp_changedbowner 'sa';

我仍然收到 Cannot use full-text search in user instance 错误,

USE [dbname]
    CREATE FULLTEXT CATALOG [ftc_dbname] AS DEFAULT
GO