SQL 错误:“无法在用户实例中使用全文搜索." [英] SQL Error: "Cannot use full-text search in user instance."

查看:20
本文介绍了SQL 错误:“无法在用户实例中使用全文搜索."的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

作为构建过程的一部分,我正在使用 SSEUtil 根据派生自我的开发数据库 (SQL Server 2008 R2) 的架构自动创建功能测试数据库.这使我可以保持两个数据库同步(模式方面),而无需针对我的开发数据库运行 SQL 存储库测试.

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

创建全文目录 [FullTextCatalog] 授权 [dbo]走

<块引用>

无法在用户实例中使用全文搜索.
[SqlException 编号 9982,类 16,状态 100,第 1 行]

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

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

解决方案

要么

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

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

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

  1. 检查此条目的服务小程序(运行 -> 键入services.msc"):SQL Server FullText Search 或 SQL Server FullText Search (SQLEXPRESS)(在 SQL Express 的情况下).启动这个不运行的服务

  2. 在查询分析器中运行查询select fulltextserviceproperty('isfulltextinstalled')".如果结果为1",则安装,否则不安装.

在此功能不可用的情况下,您需要通过从 http://www.microsoft.com/express/sql/download/default.aspx

引用自这里

I'm using SSEUtil to automatically create a functional test database from the schema derived from my development database (SQL Server 2008 R2) as part of my build process. This allows me to keep the two databases in-sync (schema-wise) without running SQL repository tests against my development database.

I recently added a full text index to a table for the first time for this project in my development schema and now when I attempt to apply the schema to a newly created unit test database I get the following error when it executes the SQL to create the full text catalog:

CREATE FULLTEXT CATALOG [FullTextCatalog] AUTHORIZATION [dbo]
GO

Cannot use full-text search in user instance.
[SqlException Number 9982, Class 16, State 100, Line 1]

I've searched high and low. The only help I found was on another site where someone suggested "attaching to the parent database." I have no idea what that means. And I have no idea what this error means. What is a "user instance"?

Can anyone suggest a way around this? Is there a better way to keep two database schemas in-sync for continuous integration?

解决方案

Either

User must have CREATE FULLTEXT CATALOG permission on the database, or be a member of the db_owner, or db_ddladmin fixed database roles.

or

you won’t be able to use full text catalogues if the SQL instance does not have it installed. Make sure the SQL server instance has the full text service running.

Here are two ways of testing whether this feature installed or not. This feature is available for all editions of SQL Server 2005 and 2008 (including SQL Express)

  1. Check the services applet (run -> type 'services.msc') for this entry : SQL Server FullText Search Or SQL Server FullText Search (SQLEXPRESS) (in case of SQL Express). Start this service of not running

  2. Run the query "select fulltextserviceproperty('isfulltextinstalled')" in the Query analyzer. if the result is '1' then it is installed else not.

In the case of unavailability of this feature, you need to install by downloading the "SQLEXPR_ADV.EXE" from http://www.microsoft.com/express/sql/download/default.aspx

Reference taken from here

这篇关于SQL 错误:“无法在用户实例中使用全文搜索."的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆