Архив за месяц: April 2011

В SQL Server 2005 изменять расположение файлов ресурсной БД можно, что заявлено в msdn.
Посмотрим там же о SQL Server 2008 R2, читаем:
The resource database cannot be moved.

Все же полюбопытствуем, и попробуем сделать так же, как описано в msdn для SQL Server 2005:

C:\>NET START MSSQLSERVER /f /T3608

Проверим версию:

select @@version

Microsoft SQL Server 2008 R2 (SP2) – 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1(Build 7601: Service Pack 1) (Hypervisor)

Задаем новое расположение:

ALTER DATABASE mssqlsystemresource
 MODIFY FILE (NAME=data, FILENAME= 'C:\DATA\mssqlsystemresource.mdf');
 ALTER DATABASE mssqlsystemresource
 MODIFY FILE (NAME=log, FILENAME= 'C:\DATA\mssqlsystemresource.ldf');

The file “data” has been modified in the system catalog. The new path will be used the next time the database is started.
The file “log” has been modified in the system catalog. The new path will be used the next time the database is started.

Перемещаем  файлы БД mssqlsystemresource:

C:\>move "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\mssqlsystemresource.*" C:\DATA\

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\mssqlsystemresource.ldf
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\mssqlsystemresource.mdf
2 file(s) moved.

И перезапускаем SQL Server – всё работает.

Версия:
Microsoft SQL Server 2008 R2 (RTM) – 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

Проблема:
В таблице IndexTable есть полнотекстовый индекс, около 3 миллиардов строк.
При старте актуализации (populate) получаем очень много таких ошибок в FT-логе:

2012-07-17 18:34:26.04 spid25s Error ‘0x80043630: The filter daemon process MSFTEFD timed out for an unknown reason. This may indicate a bug in a filter, wordbreaker, or protocol handler.’ occurred during full-text index population for table or indexed view ‘[TS_MageDB].[dbo].[IndexTable]’ (table or indexed view ID ‘667201477’, database ID ‘7’), full-text key value ‘1986286701’. Attempt will be made to reindex it.

Продолжается это 9 дней, загрузка процессора и диска не превышает ежедневную, процесс не заканчивается.

Ничего особенно полезного здесь (в моем случае 2008 R2, а не 2008) и здесь не нашел (Только “We have therefore resolve this issue as by design”)

Решение:
Помогло только пересоздание индекса, с последующим заполнением:

DROP FULLTEXT INDEX ON [dbo].[IndexTable]
CREATE FULLTEXT INDEX ON [dbo].[IndexTable]( [IndexValue] LANGUAGE [Russian])
KEY INDEX [PK_IndexTable] ON ([FT_IndexTeble], FILEGROUP [ftfg_FT_IndexTeble])
WITH (CHANGE_TRACKING = OFF, STOPLIST = SYSTEM)

или, если мы хотим запускать заполнение позже, например, ночью, то:

...CHANGE_TRACKING = OFF, NO POPULATION...

и стартуем:

ALTER FULLTEXT INDEX ON [dbo].[IndexTable] START FULL POPULATION

Процесс длился около 12 часов, ошибок больше не было.

dbcc sqlperf('logspace')

Database Name Log Size (MB) Log Space Used (%)
tempdb 23058,62 48,53052

Тем не менее:

April 2011
M T W T F S S
    May »
 123
45678910
11121314151617
18192021222324
252627282930