我们今天是要和大家一起讨论的是SQL Server 数据库对文件进行全文检索的正确查询方案,其中也包括对SQL Server 数据库索引服务的相关性能调整的2个 *** 的详细描述,以下就是文章的详细内容介绍,望大家借鉴。
因为项目需要,需要对上传的文件内容进行查询。通过MSDN了解到windows索引服务可以实现对文件的全文检索,并可以通过SQL Server进行查询。项目将这两者结合,实现对上传文件的全文检索的解决方案。
方案概要:
1. 改变文件存储时的文件名
2. 配置索引服务器,并将索引服务器与MS SQL Server 数据库关联。
3. 修改SQL语句,将进行全文查询语句的内容加入查询条件中
文件的存储方式:
为了方便存储以及方便索引,我们将上传的文件存储到一个目录里面,为了保证上传的文件名不重复,采用GUID作为文件名,并且通过这个GUID于数据库记录相关联。同时,文件的后缀还保持原始文件的后缀,让索引服务能够识别该文档。
配置索引服务
进入计算机管理(Computer Management)程序(右键”我的电脑”->”管理”),并找到索引服务(Index Service)
配置索引服务的功能
(1) 右键选择索引服务弹出一个菜单
(2) 选择New->Catalog(新建一个编录)
设置新增加的编录
(1) 输入编录的名字(这个名字需要与数据库进行关联,要注意命名,这里假设DCSII
(2) 点Browse进入选择索引服务运行目录窗体
(3) 选择前面创建的索引运行目录(任意地方)
(4) 点确定完成本次操作
在编录创建号以后,需要给编录增加目录
(1) 右键选择刚刚创建的编录
(2) 选择New->Directory(新建目录)
新建索引目录
(1) 点击Browse进入目录选择页面
(2) 选择要进行全文检索文件的目录
(3) 确定完成本次操作
完成创建后启动索引服务
(1)启动索引服务
(2)索引服务启动成功后索引编录的信息,可以看到编录信息就表示服务已经启动成功。
将索引服务和SQL数据库关联:
在SQL 查询分析器(SQL Query Analyer)里执行下面的存储过程
EXEC sp_addlinkedserver Dcs, -- 连接服务器的名字,到后面查询的时候要用到
'Index Server',
'MSIDXS',
'DCSII' -- 索引服务里新建的编录名字
SQL Server 数据库索引服务的性能调整 *** 1
(1) 右键选择索引服务
(2) 选择 All Tasks-> Tune Perrformance
(3) 选择用户自定义
(4) 点击Customize进入性能调整窗体
(5) 将Index和Querying的属性移动到最右边
(6) 点确定完成操作
SQL Server 数据库索引服务的性能调整 *** 2
假如服务器不需要对整个系统的文件进行索引,可以停止或者删除System编录。
MS SQL对索引服务器的调用
1. 通过sql语句查询连接服务器的内容
SELECT Q.*
FROM OpenQuery(dcs, --连接服务器名字
'SELECT FileName, Size, DocAuthor, path --在连接服务器里的sql语句
FROM SCOPE()
WHERE CONTAINS(''番号 and abc'') '
) AS Q
2. 因为SQL语句不支持动态输入的字符串,因此查询字符串只好在C#代码里进行拼接
实不用将文件保存到数据库外面也能实现在数据库里实现全文搜索。具体方案是在SQL Server 数据库里安全全文搜索功能,用image字段存储文件内容,并新增一个字段存放文件类型,然后在通过企业管理器新建全文索引项的时候将这两个字段匹配就可以。不过从数据库的/率以及今后数据库备份和恢复的效率上来看,将文件放在数据库的设计不是太好。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...
当我在虚拟机的linux系统中ping本机的ip发现ping不通,而本机可以ping通虚拟机中的ip。应该是出于安全考虑吧,Windows 7默认在防火墙里禁止了。 1、查看主机ip 打开“开始”程序中的“附件”,找到“命令提示符”打开。输入命令:ipconfig,可以看到本机的ip是192.1...
问题现象,具体如下所示: 故障分析: 一般来说,出现这种情况是因为电脑误删系统文件或者是系统文件被顽固木马破坏。 解决方法: 1、下载360安全卫士,找到里面的急救箱开始急救,然后进行修复,完成后重新启动; 2、下载瑞...
一、打开控制面板,选择“网络和共享中心”; 二、在网络和共享中心中选择“设置新的连接或网络”; 三、选择连接到Internet; 四、选择“仍要设置新的连接”; 五、选择“宽带PPPoE ”; 六、输入对应的宽带帐号及密码,点击连接即可;...
经过几天的测试后发现,Windows 7用户反映的情况确实存在,但并没有达到“频繁”的情况。同时,也并非是迅雷或快车抢了带宽。(即便是抢了带宽,表现的形式也是页面打开慢,而非是掉线),寻找问题的原因过程中,我们认为是Windows 7系统对于网卡的电源管理的默认设置造成的。 下面,就以Window...
1. 快速复制粘贴文字 有时我们需要复制命令提示符窗口中的某些文字内容,但是之前的Windows系统中常规的复制粘贴方法是无效的,而在Windows 7中我们可以通过简单方法来复制文字:首先在任意位置右击鼠标并选择“标记...