Full text catalogs in SQL 2008 and 2008R2 and their location

  • Hi all,

    I started digging into the fulltext catalogs on a 2008 and 2008R2 system and trying to understand the basics.

    Is it true that the catalogs are - other than up to sql 2005 - stored in the filegroup where the table resides?

    My idea is to move the catalogs over to a faster and bigger storage for performance reason.

    I found no hints so far on which commands to use to move the catalogs over.

    If my assumption would be true this would mean the following:

    1. create a new filegroup

    2. disable or delete the active full text indices

    3. move the whole table to the new filegroup

    4. recreate the full text indices

    5. repopulate them

    this is very time consuming on a couple of tables, each containing 3+ million rows.

    so my questions are:

    Is my assumption correct?

    Has anyone done that before and has some experience?

    Is there a script or even snipplet available from anyone who did that before to automate it?

    Thanks already for any answer!

    /usenet

  • allright, I played around a bit more and now I am even more unsure as to what's going on.

    My fulltext index was based on 3 different tables.

    I manually moved the tables to a different filegroup which I had created before.

    This was successful, but still the fulltext catalog remains on the primary filegroup. So this seems not to be influenced by the current location of the basetables.

    Any idea?

    Is the fulltext catalog always stored on the primary filegroup?

    Maybe dropping it and recreating it would move it over?

    /usenet

  • ok, even if I am talking to myself, maybe it helps others.

    I was mislead from my SQL 2005 experience where the catalog was a real object.

    Starting from SQL 2008, the Catalog itself is merely a "logical" object, nothing physical.

    So the catalogs themselfes obviously seem to stay in the primary filegroup, whatever you do.

    But if you move the actual fulltext index (which you seem to be able to do as with any other normal index), the data to hold the index moves to the other filegroup as well.

    So it seems my first thoughts were just mislead.

    Is there anybody out there to confirm this?

    /usenet

  • Full text catalaogs are no longer stored as physical files as in SQL 2005. So you need to backup all the filegroups that contain the FT Indexes of that catalog and then restore them.

    Pls check the folowing link

    http://msdn.microsoft.com/en-us/library/ms142511.aspx

    Thank You,

    Best Regards,

    SQLBuddy

  • Hi SQLBuddy,

    thanks for the answer. Yes, I realized that by now.

    Only leaves me with one small problem.

    I know how to move a normal index with Create index... DROP_EXISTING.

    And I realize that something like this does not exist for a fulltext index.

    Does that mean if i want to move a fulltext index to another filegroup, I have to drop and recreate it?

    This seems like a huge operation on huge databases with no real maintenance window. Is there any way around that?

  • I think, Full Text Indexes are created on default file group, if you don't specify any filegroup.

    CREATE FULLTEXT INDEX ON Table(Column) KEY INDEX PK_Name on [Cat_Name]; -- creates on defulat file group

    CREATE FULLTEXT INDEX ON Table(Column) KEY INDEX PK_Name on ([Cat_Name], FILEGROUP [FG_Cat])

    I don't know how to move Full Text Indexes from one filegroup to another.... without dropping and recreating them

    BOL says..

    FILEGROUP filegroup_name

    Creates the specified full-text index on the specified filegroup. The filegroup must already exist. If the FILEGROUP clause is not specified, the full-text index is placed in the same filegroup as base table or view for a nonpartitioned table or in the primary filegroup for a partitioned table.

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply