对列

时间:2016-04-17 03:28:21

标签: sql-server tsql full-text-search

我知道,当我在这里问一个问题时,最好能够达到这一点,但如果我不解释完整的情况,那么很可能会有人质疑为什么我处于这种困境中(我实际上解释了这个问题)在以粗体文字开头的第三段中,在那种情况下我无论如何都要解释它,所以,我决定从一开始就把它弄出来。

我曾经有过更好的笔记本电脑,但是我兄弟的雪貂却在上面洒了水。所以,去年我一直在使用旧笔记本电脑。它的工作原理足够快。但是,随着Windows 7的推出,我安装了Windows 8,8.1,现在安装了10个。在这段时间里,我已经拥有了这台机器(是的,在此之前),我一直在做计算机编程作为一种爱好,并且已经相当不错了。但是,我已经在其上安装了Visual Studio 2010,2012,2013和2015(并且仍然安装了所有这些新增功能,因为在安装新的Visual Studio时卸载旧的Visual Studio时存在一次内存 - 安装旧的Visual Studio以某种方式对新的Visual Studio做了一些事情并使其无法使用,这迫使我重新安装Windows并从方块重新启动,并在这台机器上重新安装Windows对我来说是一个可怕的决定,因为我也制作音乐作为一个又一次的重要爱好,它有一个非常重要的音乐制作插件库,我不想放松 - 除其他原因外)。

但问题的核心问题是这个 - 我已经在这台机器上安装了几个版本的SQL Server - 2008,2008 R2,2012和2014.完成了这个,它创造了一个奇怪的场景在Visual Studio 2015中,我可以轻松地创建和操作SQL数据库。但是,可能每个对Microsoft SQL Server一无所知的人都知道,有一些数据库操作功能,即使在Visual Studio 2015中(具有比以前版本更高级的操作功能),也是无法完成的,也是唯一可以做的地方这些东西都在SQL Server Management Studio中。好吧,因为我在几台Windows版本的机器生命周期内安装了几个版本的SQL Server,所以发生了一些非常奇怪的事情。我每次安装SQL Server - 我都安装了高级服务(启用了全文搜索)。 好的,所以,当我进入SQL Server Management Studio 2014 - 时,它只是不会登录我的数据库系统并给我一条错误消息,上面写着(除其他外......)“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。嗯,重点是,我做了数据库在之前的不同项目中,我在之前的表中的(或某些......)列上包含了全文服务。看,我理解T-SQL并且可以写它,但是,我并不是非常精通它。因此,当我设置全文服务时,就像我之前在数据库中所说的那样 - 它显然是在SQL Server Management Studio中完成的。

所以, 主要观点是 - 我有一个表,我想在我创建的这个数据库的某个列上设置全文服务。在这一段之后,我写了一个示例创建表脚本,并且我突出了我想要应用全文服务的专栏,请有人告诉我如何正确地执行此操作。

CREATE TABLE [dbo].[thisTable] (
    [Id]  INT             IDENTITY (1, 1) NOT NULL,
    [aColumn]    DATETIME        NOT NULL, 
    [INEEDFULLTEXTHERE] NVARCHAR (100)  NOT NULL <<< the column I need full-text on
)

2 个答案:

答案 0 :(得分:1)

我决定选择gofr1的答案作为这个问题的答案,因为他尊重他来到这里并给出了很好的答案,我认为如果应用得当,他的答案肯定会有效。不幸的是,正如我所说,即使我对T-SQL有一些了解 - 它并不像我希望的那样全面,我尝试应用他的答案,但有问题,但我很确定我是否知道一点点更多的T-SQL知识,我可以稍微调整一下,使其完美运行。但我认为这是一个很好的参考点,并提供了有价值的观点。

然而,在发布问题之前,我应该更彻底地寻找这样一个难题的答案,但是,我想,我问这个问题揭示了gofr1的方法 - 我想这些问题上更详细的资源 - 更好。但问题的事实是在搜索了更多内容之后,我遇到了stackoverflow问题,它给了我这样做的方法实际上对我有用,而不需要做太多的调整,而且更简单一点,这个问题可以在 - Express with Advanced Services, can't create Full Text Index

找到

再次感谢gofr1,我相信你的回答会对那里的一些人派上用场。

答案 1 :(得分:0)

要在桌面上启用全文搜索和创建目录,请使用以下命令:

use MyDB
go

--Enable Full-text search on the DB
if (select DATABASEPROPERTY(DB_NAME(), N'IsFullTextEnabled')) <> 1
exec sp_fulltext_database N'enable'
GO

--Create a full-text catalog
if not exists (select * from dbo.sysfulltextcatalogs where name = N'CatalogName')
exec sp_fulltext_catalog N'CatalogName', N'create'
GO

exec sp_fulltext_table N'[dbo].[thisTable] ', N'create', N'CatalogName', N'IndexName' -- Id column in your examle
GO

--Add a column to catalog
exec sp_fulltext_column N'[dbo].[thisTable] ', N'INEEDFULLTEXTHERE', N'add', 0 /* neutral */
GO

--Activate full-text for table 
exec sp_fulltext_table N'[dbo].[thisTable] ', N'activate'
GO

--Full-text index update
exec sp_fulltext_catalog 'CatalogName', 'start_full'
GO