一个完整的SQL SERVER数据库全文索引的示例

server|示例|数据|数据库|索引

首先,介绍利用系统存储过程创建全文索引的具体步骤:

1) 启动数据库的全文处理功能(sp_fulltext_database)
2) 建立全文目录(sp_fulltext_catalog)
3) 在全文目录中注册需要全文索引的表(sp_fulltext_table)
4) 指出表中需要全文索引的列名(sp_fulltext_column)
5) 为表创建全文索引(sp_fulltext_table)
6) 填充全文目录(sp_fulltext_catalog)

---------********示例********-------------
以对pubs数据库的title和notes列建立全文索引,之后使用索引查询title列或notes列中包含有datebase 或computer字符串的图书名称:

在这之前,需要安装Microsoft Search服务,启动SQL server全文搜索服务

user pubs --打开数据库
go
--检查数据库pubs是否支持全文索引,如果不支持
--则使用sp_fulltext_database 打开该功能
if(select databaseproperty('pubs','isfulltextenabled'))=0
execute sp_fulltext_database 'enable'

--建立全文目录FT_PUBS
execute sp_fulltext_catalog 'FT_pubs','create'

--为title表建立全文索引数据元
execute sp_fulltext_table 'title','create','FT_pubs','UPKCL_titleidind'

--设置全文索引列名
execute sp_fulltext_column 'title','title','add'
execute sp_fulltext_column 'title','notes','add'

--建立全文索引
--activate,是激活表的全文检索能力,也就是在全文目录中注册该表
execute sp_fulltext_table 'title','activate'

--填充全文索引目录
execute sp_fulltext_catalog 'FT_pubs','start_full'
go

--检查全文目录填充情况
While fulltextcatalogproperty('FT_pubs','populateStatus')<>0
begin

--如果全文目录正处于填充状态,则等待30秒后再检测一次
waitfor delay '0:0:30'
end

--全文目录填充完成后,即可使用全文目录检索

select title
form
where CONTAINS(title,'database')
or CONTAINS(title,'computer')
or CONTAINS(notes,'database')
or CONTAINS(notes,'database')

'--------------以下介绍一下全文操作类的系统存储过程
过程名称: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角色成员
作用:指出一个全文索引表中的那些列假如或退出全文索引

///*******
作者:jimmy
oicq: 11689643
email:jimmy111@163.net
*********/// 

时间: 2024-12-31 01:03:12

一个完整的SQL SERVER数据库全文索引的示例的相关文章

一个完整的SQL SERVER数据库全文索引的示例介绍

以下是介绍SQL SERVER数据库全文索引的示例,以pubs数据库为例.需要的朋友参考下   首先,介绍利用系统存储过程创建全文索引的具体步骤: 1) 启动数据库的全文处理功能 (sp_fulltext_database) 2) 建立全文目录 (sp_fulltext_catalog) 3) 在全文目录中注册需要全文索引的表 (sp_fulltext_table) 4) 指出表中需要全文索引的列名 (sp_fulltext_column) 5) 为表创建全文索引 (sp_fulltext_ta

一个完整的SQL SERVER数据库全文索引的示例介绍_MsSql

首先,介绍利用系统存储过程创建全文索引的具体步骤: 1) 启动数据库的全文处理功能 (sp_fulltext_database) 2) 建立全文目录 (sp_fulltext_catalog) 3) 在全文目录中注册需要全文索引的表 (sp_fulltext_table) 4) 指出表中需要全文索引的列名 (sp_fulltext_column) 5) 为表创建全文索引 (sp_fulltext_table) 6) 填充全文目录 (sp_fulltext_catalog) ---------**

求大神帮下忙,小弟需要一个java连接sql server数据库实现查询功能的代码

问题描述 求大神帮下忙,小弟需要一个java连接sql server数据库实现查询功能的代码 如题 求大神给个查询功能的代码 做毕业设计需要 帮帮忙 下面附上添加功能的代码 public int Add(Client c) { int count=0; try { con=this.getcon(); String sql=String.format("insert Client values('%s',%d,'%s','%s','%s','%s','%s',0,'%s')", c.g

sql server-如何在SQL Server 数据库中调用JAVA程序

问题描述 如何在SQL Server 数据库中调用JAVA程序 工作中 遇到一个实际的问题如下: 一个在线的SQL server数据库A,他的一个触发器在数据库有更新时把新的数据插入的到另一个SQL server 数据库B,已经写好的一个JAVA程序可以把B中的数据全部复制到一个Oracle 数据库C中,并且立即把数据库B中的数据清空.现在希望这个程序能够自动执行,就是JAVA程序能够在检测到B中有新数据后立即开始自动执行.我已经知道对于Oracle数据库可以通过触发器直接调用JAVA程序,可是

c#-问大家一个关于sql server数据库的问题

问题描述 问大家一个关于sql server数据库的问题 我建的一个表中有一列"超期天数",我想对这一列执行计算,使其等于当前时间减去之前的一个时间.而且在用C#添加数据的时候,以及时间变化的时候,他的值会不断改变,这个该怎么弄?不知道我说的清楚么. 解决方案 不需要不断变化,只要你的程序查询的时候计算就可以了 http://blog.csdn.net/zhengqiqiqinqin/article/details/8451167 解决方案二: 有没有人来帮帮忙,非常感谢! 解决方案三

Odbc连SQL Server数据库的几种方法

odbc|server|数据|数据库 Odbc连SQL Server数据库的几种方法   这篇文章是针对在CSDN论坛 中的一些想知道这方面技术的网友而写的.因为最近我本人在论坛上看到很多网友提到这个问题,所以就写了这篇文章,以飨读者. SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成.也是今天市场上几种大型关系型数据库(SQL Server\Oracle ybase等)之一.对于今天复杂的B/S服务器系统来说,SQL

如何防止SQL Server数据库的事务日志异常增长

server|数据|数据库 当事务日志扩展到无法接受的限度时您必须执行的步骤.事务日志的扩展会导致 Microsoft SQL Server 数据库无法使用. 在 SQL Server 2000 中,每个数据库都至少包含一个数据文件和一个事务日志文件.SQL Server 2000 在该数据文件中以物理方式存储数据.事务日志文件存储您对 SQL Server 数据库执行的所有修改的详细信息,以及执行每个修改的事务的详细信息.由于事务完整性被视为 SQL Server 的一个基本而固有的特点,因此

SQL Server数据库横向扩展技巧

一般人们会选择纵向扩展(scale up)SQL Server数据库,而非横向扩展 (scale out).纵向扩展很容易:增加硬件.处理能力.内存.磁盘和提高网络 速度.其原理就是仍然在一台服务器上运行数据库,但是增加了服务器的处理能 力和资源.这种方法很昂贵,但是非常简单直接. 然而,一些应用程序的 增长速度会超过一台服务器的处理极限,因此纵向扩展并不能解决问题.这时应 该选择横向扩展SQL Server,将数据库部署到多台服务器上.SQL Server对此提 供了一些支持,而方法选择取决于

优化SQL Server数据库查询方法

SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优