小编Bit*_*ved的帖子

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

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

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

CREATE FULLTEXT CATALOG [FullTextCatalog] AUTHORIZATION [dbo]
GO
Run Code Online (Sandbox Code Playgroud)

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

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

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

sql-server sql-server-2008

8
推荐指数
1
解决办法
5923
查看次数

如何使用Microsoft.SqlServer.Management.Smo以编程方式导出SQL架构

我在C#中构建了一个简单的实用程序,它使用 Microsoft.SqlServer.Management.Smo对象来导出数据库模式.在我添加全文索引之前,这一直很有效.

当它导出用于创建全文索引的SQL时,它不包括索引中定义的列.例如,假设我有一个名为"Recipes"的表,其中有两列包含在名为"RecipeName""Description"的FT索引中.使用我的实用程序转储模式会生成以下SQL:

CREATE FULLTEXT INDEX ON [dbo].[Recipes]
KEY INDEX [PK_Recipes]ON ([ft], FILEGROUP [PRIMARY])
WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM)
Run Code Online (Sandbox Code Playgroud)

我期望被抛弃的是这个(注意列):

CREATE FULLTEXT INDEX ON [dbo].[Recipes](
    [Description] LANGUAGE [English], 
    [RecipeName] LANGUAGE [English]
)
KEY INDEX [PK_Recipes]ON ([ft], FILEGROUP [PRIMARY])
WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM)
Run Code Online (Sandbox Code Playgroud)

这是从数据库文件生成模式的C#:

static void GenerateScript(string sourceDbPath, string destinationScriptPath)
{
    try
    {
        string           connString = string.Format(@"Data Source=.;AttachDbFilename={0};Integrated Security=True;User Instance=True", sourceDbPath);
        SqlConnection       sqlConn = new SqlConnection(connString);
        ServerConnection serverConn = new ServerConnection(sqlConn);
        Server               server = new …
Run Code Online (Sandbox Code Playgroud)

database sql-server sql-server-2008

6
推荐指数
1
解决办法
1785
查看次数

标签 统计

sql-server ×2

sql-server-2008 ×2

database ×1