熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

一個完整的SQL SERVER數據庫全文索引的示例介紹

2013-11-15 14:47:54  來源: SQL Server 
以下是介紹SQL SERVER數據庫全文索引的示例以pubs數據庫為例需要的朋友參考下  

  首先介紹利用系統存儲過程創建全文索引的具體步驟
) 啟動數據庫的全文處理功能 (sp_fulltext_database)
) 建立全文目錄 (sp_fulltext_catalog)
) 在全文目錄中注冊需要全文索引的表 (sp_fulltext_table)
) 指出表中需要全文索引的列名 (sp_fulltext_column)
) 為表創建全文索引 (sp_fulltext_table)
) 填充全文目錄 (sp_fulltext_catalog)

********示例********
以對pubs數據庫的title和notes列建立全文索引之後使用索引查詢title列或notes列中包含有datebase 或computer字符串的圖書名稱
在這之前需要安裝Microsoft Search服務啟動SQL server全文搜索服務
user pubs 打開數據庫
go
檢查數據庫pubs是否支持全文索引如果不支持
則使用sp_fulltext_database 打開該功能
if(select databaseproperty(pubsisfulltextenabled))=
execute sp_fulltext_database enable
建立全文目錄FT_PUBS
execute sp_fulltext_catalog FT_pubscreate
為title表建立全文索引數據元
execute sp_fulltext_table titlecreateFT_pubsUPKCL_titleidind
設置全文索引列名
execute sp_fulltext_column titletitleadd
execute sp_fulltext_column titlenotesadd
建立全文索引
activate是激活表的全文檢索能力也就是在全文目錄中注冊該表
execute sp_fulltext_table titleactivate
填充全文索引目錄
execute sp_fulltext_catalog FT_pubsstart_full
go
檢查全文目錄填充情況
While fulltextcatalogproperty(FT_pubspopulateStatus)<>
begin
如果全文目錄正處於填充狀態則等待秒後再檢測一次
waitfor delay ::
end
全文目錄填充完成後即可使用全文目錄檢索
select title
form
where CONTAINS(titledatabase)
or CONTAINS(titlecomputer)
or CONTAINS(notesdatabase)
or CONTAINS(notesdatabase)

以下介紹一下全文操作類的系統存儲過程
過程名稱sp_fulltext_service
執行權限serveradmin或系統管理員
作 用設置全文搜索屬性
過程名稱sp_fulltext_catalog
執行權限db_owner及更高角色成員
作 用創建和刪除一個全文目錄啟動或停止一個全文目錄的索引操作
過程名稱sp_fulltext_database
執行權限db_owner角色成員
作 用初始化全文索引或刪除數據庫中所有全文目錄
過程名稱sp_fulltext_table
執行權限db_ddladnmin或db_owner角色成員
作 用將一個表標識為全文索引表或非全文索引表
過程名稱sp_fulltext_column
執行權限db_ddladnmin角色成員
作 用指出一個全文索引表中的那些列假如或退出全文索引


From:http://tw.wingwit.com/Article/program/SQLServer/201311/22335.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.