Pregunta

I have two full text catalogs, DogNameCatalog and CatNameCatalog. I have two tables, DogName and CatName to which they apply. Each of those tables has a field called Name, and that is the field within the catalogs.

I have disabled all scheduling because I want to rebuild the catalogs myself.

The CatNameCatalog works fine. I run this command:

ALTER FULLTEXT CATALOG CatNameCatalog REBUILD WITH ACCENT_SENSITIVITY = OFF

And when I query it it initially says building, then after a few minutes, the LastPopulated property updates to the current time and it goes to Idle.

However, the DogNameCatalog doesn't rebuild when I run the same command:

ALTER FULLTEXT CATALOG DogNameCatalog REBUILD WITH ACCENT_SENSITIVITY = OFF

It runs successfully, but nothing happens - the LastPopulatedDate resets to 1990-01-01 and it remains Idle. In the properties, it is 0MB. Rebuilding it via SSMS by right clicking and pressing rebuild prompts me saying Do you want to delete and recreate? and I press Yes, and it immediately says success but it hasn't done anything as the LastPopulatedDate is still 1990 and the size is still 0MB.

This issue occurs on both my local dev machine and my test server. However it has worked a single time on both as I tested it, deployed it, and it ran overnight (updated the database, then rebuilt the indexes). The 2nd time it ran, it hung because it was waiting for the index to rebuild and it wasn't doing it.

Any ideas at all on how I can debug this?

¿Fue útil?

Solución

I've fixed this (typical to find the solution as soon as you post a question).

Turns out the DogNameCatalog was set to Do not track changes when it should have been set to Manual.

Do not track changes means if you attempt to rebuild it will do nothing.

Manual is the one you want when doing things manually.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top