有条件地使用TSQL启用全文搜索?

时间:2014-05-11 09:56:37

标签: sql tsql sql-server-2012

我有Products表,包括Name和ModelNumber。只有在SQL Server 2012中使用tsql之前未启用全文搜索时,我才需要在这些字段上启用全文搜索

1 个答案:

答案 0 :(得分:1)

不确定,但如果您要求TSQL命令在您的表上启用FULL TEXT搜索,那么您可以使用以下TSQL查询进行相同的

use [DB_NAME]

CREATE FULLTEXT CATALOG productcat AS DEFAULT;
GO

EXEC [DB_NAME].[dbo].[sp_fulltext_database] @action = 'enable'
GO

(OR)

USE [DB_NAME];
GO
CREATE FULLTEXT CATALOG productcat;
GO
CREATE FULLTEXT INDEX ON Products
 ( 
  Name
     Language 1033,
  ModelNumber
     Language 1033   
 ) 
  KEY INDEX PK_Products_ProductName 
      ON productcat; 
GO

有关详细信息,请参阅CREATE FULLTEXT INDEX (Transact-SQL)

修改

如果您想知道是否安装了FULL TEXT;你可以使用以下命令

select SERVERPROPERTY('IsFullTextInstalled')

如果上面的查询返回1,则安装该组件。

如果要检查特定表是否启用了FULL TEXT

SELECT OBJECTPROPERTYEX(OBJECT_ID('Products'), 'TableHasActiveFulltextIndex');
GO