Восстановление базы данных SQL Server 2000 на 2008 R2 создает новый логический файл - PullRequest
0 голосов
/ 17 ноября 2011

У меня есть база данных на SQL Server 2000. В группе файлов PRIMARY есть только два логических файла: файл данных и файл журнала. Однако при восстановлении базы данных в SQL Server 2008 R2 теперь существует новый логический файл с именем ftrow_Table1Field1 с именем файла ftrow_Table1Field1{GUID}.ndf. (я заменил реальную таблицу, имя поля и GUID для простоты.) Путь к файлу .ndf: MSSQL10_50.MSSQLSERVER\MSSQL\FTData\.

Я не создал этот логический файл и не включил полнотекстовый поиск в базе данных. Field1 изначально был типом данных TEXT в SQL Server 2000, который я изменил через T-SQL на столбец VARCHAR(MAX). Это также не единственный столбец, который я преобразовал из TEXT в VARCHAR(MAX).

Может кто-нибудь пролить свет на то, что здесь происходит?

РЕДАКТИРОВАТЬ: я сделал еще одно восстановление без запуска моих массивных сценариев T-SQL для следующего выпуска программного обеспечения. Прямо из резервной копии SQL Server 2000, он создает этот файл. Глядя на свойства поля в SSMS, он говорит, что полный текст неверен. Тип данных TEXT. Это не единственное поле TEXT в базе данных.

1 Ответ

0 голосов
/ 17 ноября 2011

Хорошо.Я понял.База данных SQL 2000 считала, что в поле включен полнотекстовый индекс, но на самом деле он не был включен.Это перенесено в SQL 2008 R2 во время восстановления, поскольку R2 восстановлен в режиме совместимости с SQL 2000 и сохранил предполагаемый .NDF.Я только что удалил этот файл из группы файлов, и это хорошо.Кроме того, R2 будет создавать полнотекстовые индексы в самом файле .MDF, в отличие от создания .NDF.

...