在一行 SQL 中有条件地创建全文目录(来自安装程序)

fro*_*h42 2 installation full-text-search sql-server-2005

我正在构建一个使用 WiX 的安装程序(没有关键字,因为 WiX 不是这里的问题),它将为 SQL Server Express 2005 高级服务数据库创建全文索引。

到现在我都用SQL

 CREATE FULLTEXT CATALOG Foobar in path 'c:\Whereever'
Run Code Online (Sandbox Code Playgroud)

现在,安装程序不会在卸载时删除数据库,因为它可能包含有价值的用户数据。现在,当我更新软件时,它会偶然发现已经存在的全文索引的创建。(在安装程序中中止,因为它不能运行那行 SQL)

如果全文索引不存在,我想要做的是有条件地运行该行。我希望像

IF NOT EXISTS(SELECT * from sys.??????? WHERE name = 'Foobar')
    CREATE FULLTEXT CATALOG Foobar in path 'c:\Whereever'
Run Code Online (Sandbox Code Playgroud)

(我刚刚在 stackoverflow 上看到了类似于我需要的东西)

但是我在哪里(以及如何)找出索引是否记录在 sys 表中(以及它是哪个表?)

Pre*_*gha 6

sys.fulltext_catalogs

IF EXISTS (SELECT 1 FROM sys.fulltext_catalogs
           WHERE name = 'foobar') ....
Run Code Online (Sandbox Code Playgroud)