我在SQL Server 2000上有一个数据库.PRIMARY文件组中只有两个逻辑文件:数据文件和日志文件。但是,在将数据库还原到SQL Server 2008 R2时,现在有一个名为ftrow_Table1Field1
的新逻辑文件,其文件名为ftrow_Table1Field1{GUID}.ndf
。 (为了简单起见,我已经替换了实际的表,字段名和GUID。) .ndf文件的路径是MSSQL10_50.MSSQLSERVER\MSSQL\FTData\
。
我没有创建这个逻辑文件,也没有在数据库上启用全文搜索。 Field1
最初是SQL Server 2000中的TEXT
数据类型,我已通过T-SQL将其更改为VARCHAR(MAX)
列。这也不是我从TEXT
转换为VARCHAR(MAX)
的唯一列。
有人能说清楚这里发生了什么吗?
编辑:我没有为下一个软件版本运行我的大量T-SQL脚本,而是进行了另一次恢复。直接从SQL Server 2000备份,它创建此文件。查看SSMS中字段的属性,它表示全文为False。数据类型为TEXT
。这不是数据库中唯一的TEXT
字段。
答案 0 :(得分:0)
好。我想到了。 SQL 2000数据库认为在该字段上启用了全文索引,但它并未真正启用。这在恢复期间转移到SQL 2008 R2,因为R2在SQL 2000兼容模式下恢复并保留了假定的.NDF。我刚刚从文件组中删除了该文件,这很好。此外,R2将在.MDF本身中创建全文索引,而不是创建.NDF。