ArcGIS Server Banner

Configuring a SQL Server database to support XML columns

Configuring a SQL Server database to support XML columns

Release 9.3 E-mail This TopicPrintable VersionGive Us feedback

About configuring a SQL Server database to support XML columns

Note:This topic was updated for 9.3.1.

ArcSDE XML columns require SQL Server's full-text search engine to be installed, a full-text catalog to be created, the language set for linguistic analysis of text in the xml column, and specific parameters to be altered in the SDE_dbtune and SDE_server_config tables.

After everything is set up, you need to maintain the text index and text tag indexes.

These steps are described in the following sections.

How to configure a SQL Server database to support XML columns

Install and configure the full-text search engine in SQL Server 2000

  1. Install the full-text search engine.
  2. Depending on your edition of SQL Server 2000, you may have to do a custom installation and choose to install Full-Text Search.

    If you upgraded SQL Server and Full-Text Search was not installed in the earlier version of SQL Server, Full-Text Search will not be installed as part of the upgrade; it must be installed as an additional component after the upgrade is completed.

  3. Verify the full-text search engine was installed properly by running the following query using SQL Query Analyzer:
  4. SELECT fulltextserviceproperty('IsFulltextInstalled');

    If the value 1 is returned, the full-text search engine has been installed properly. If another value is returned, you must install or reinstall Full-Text Search; you may need to reinstall SQL Server. You won't be able to successfully create a full-text catalog or an ArcSDE XML column if this query does not return the value 1.

  5. If you plan to query a table using the contents of an XML column, check the default language that will be used for linguistic analysis with full-text indexes using SQL Query Analyzer.
  6. This setting is for the database server, and is independant of a specific database's collation. Only the system or server administrator for the database can turn on the capability to see advanced settings for the database server, which include the default full-text language.

    EXEC sp_configure 'show advanced option', '1';
    GO
    RECONFIGURE;
    GO
    EXEC sp_configure 'default full-text language';
    GO

    Compare the configuration value returned to the list of supported languages that is provided in the SQL Server Books Online topic for the default full-text language option. The default full-text language should be set to match the language of the database server when SQL Server is installed if that language is supported for linguistic analysis.

    For more information see the appropriate topics in SQL Server Books Online.

  7. Prepare the database to store ArcSDE XML data
  8. Before an ArcSDE XML column can be created, the database in which it will be stored must be enabled for full-text searching and a full-text catalog must be created.

    The database must only be enabled for full-text searching once before the first full-text catalog is created. If you have a multidatabase instance of ArcSDE, a full-text catalog must be added to each spatial database that will contain an XML column; the name of the full-text catalog must be the same in each database.

    Only the database owner or system administrator can enable a database for full-text searching and create a full-text catalog.

    One of the following methods must be used to prepare a database before an ArcSDE XML column can be created in it. For more information about any of the SQL Server information covered below, see the appropriate topic in SQL Server Books Online.

    Preparing the database in SQL Server 2000 using Enterprise Manager

    You can use the SQL Server Enterprise Manager to create a full-text catalog in a database; these steps are provided below.

    Before a full-text catalog can be created, the database must be enabled for full-text searching. A database is not automatically enabled for full-text searching when it is created. However, the database will automatically be enabled for full-text searching when you create a full-text catalog using Enterprise Manager.

    1. In SQL Server Enterprise Manager, click the plus sign (+) next to Microsoft SQL Servers, click SQL Server Groups, click the appropriate SQL Server, then click the plus sign next to Databases.
    2. Right-click the database in which the XML column will be created.
    3. Point to New and click New Full-Text Catalog.
    4. Type a name for the full-text catalog in the Name text box. If you provide a name other than SDE_DEFAULT_CAT, you must modify the value of the XML_IDX_FULLTEXT_CAT parameter for the DEFAULTS keyword in the SDE_dbtune table. Click the browse button, navigate to the location where you want the full-text catalog to be stored, and click OK.
    5. Click OK in the New Full-Text Catalog Properties dialog box.

    Preparing the database in SQL Server 2000 using Query Analyzer

    You can use either the SQL Server Enterprise Manager or the SQL Query Analyzer to create a full-text catalog in a database. If you choose not to create the full-text catalog using Enterprise Manager, you can do so using Query Analyzer following the steps below. Do not follow these steps to create a full-text catalog if you have already created one using Enterprise Manager.

    Before a full-text catalog can be created, the database must be enabled for full-text searching. A database is not automatically enabled for full-text searching when it is created. The database must be enabled, once, before you create the first full-text catalog in the database.

    1. In SQL Query Analyzer, select the database in which the XML column will be created using the drop-down list on the toolbar or by executing the USE command. For example:
    2. USE spatial;

    3. Check if the database has been enabled for full-text searching. For example, if the database is named spatial:
    4. SELECT DATABASEPROPERTY('spatial', 'IsFulltextEnabled');

      If the value 1 is returned, the database is already full-text enabled—skip to step 4.

    5. Enable full-text searching in the database using the sp_fulltext_database procedure. The value of the action parameter must be enable. For example:
    6. EXEC sp_fulltext_database 'enable';

      Use this command carefully. A database only needs to be enabled once before the first full-text catalog is created. If the database is already full-text enabled and this command is run again, any existing full-text catalogs will be dropped and re-created. Subsequently, any searches performed on the existing full-text catalogs won't work until they have been repopulated.

    7. Create a full-text catalog in the database using the sp_fulltext_catalog procedure. The value of the ftcat parameter defines the catalog's name. If you provide a name other than SDE_DEFAULT_CAT, you must modify the value of the XML_IDX_FULLTEXT_CAT parameter for the DEFAULTS keyword in the SDE_dbtune table. The value of the action parameter must be create. Optionally, the path parameter can be used to set the location on disk where the full-text catalog files will be stored. For example:
    8. EXEC sp_fulltext_catalog 'SDE_DEFAULT_CAT', 'create', 'C:\Data\Fulltext'; 

  9. Review ArcSDE XML DBTUNE parameters before creating an XML column, and modify them if appropriate. For example, you may need to set the language to be used for linguistic analysis.
  10. The user who will own the XML column must be granted sufficient permissions to create new datasets in the geodatabase.

For more information see the appropriate topics in SQL Server Books Online.

Install and configure the full-text search engine in SQL Server 2005

  1. Install the full-text search engine.
  2. Full-Text Search is installed by default when you install the SQL Server 2005 SQL Server Database Services.

    If you upgraded SQL Server and Full-Text Search was not installed in the earlier version of SQL Server, Full-Text Search will not be installed as part of the upgrade; it must be installed as an additional component after the upgrade is completed.

  3. Verify the full-text search engine was installed properly.
    1. In SQL Server Management Studio's Object Explorer, right-click the database server and click New Query. A new SQL Query Editor window appears in Management Studio.
    2. In the SQL Query Editor window, type and then execute the following query to verify the full-text search engine properly installed.
    3. SELECT fulltextserviceproperty('IsFulltextInstalled');

    If the value 1 is returned, the full-text search engine has been installed properly. If another value is returned, you must install or reinstall Full-Text Search; you may need to reinstall SQL Server. You won't be able to successfully create a full-text catalog or an ArcSDE XML column if this query does not return the value 1.

  4. If you plan to query a table using the contents of an XML column, check the default language that will be used for linguistic analysis with full-text indexes. This setting is for the database server, and is independant of a specific database's collation. The default full-text language should be set to match your computer's language and regional settings when SQL Server is installed if that language is supported.
    1. In SQL Server Management Studio's Object Explorer, right-click the appropriate SQL Server and click Properties.
    2. Click Advanced under Select a Page on the left in the Server Properties dialog box.
    3. The Default Full-Text Language value is shown in the page on the right under Miscellaneous. Leave this dialog box open.
    4. In the SQL Query Editor window, type and then execute the following query to list all of the full-text languages supported by your version of SQL Server:
    5. SELECT * FROM sys.fulltext_languages;

    6. Compare the Default Full-Text Language value in the Server Properties dialog box to the list of languages and their values in the query window. The default full-text language should be set to match the language of the database server when SQL Server is installed if that language is supported for linguistic analysis.
      • If the language of the text in your XML documents matches the database server's default full-text language setting, continue preparing the database to store ArcSDE XML data. No changes will have to be made to the DBTUNE full-text language parameter.
      • If the database server's default full-text language setting is neutral, the language of the server did not match one of the languages supported for linguistic analysis. If the language of the text in your XML documents is not one of the languages listed in the default full-text language option topic, you may be able to index and search your documents with some degree of success using the neutral setting if all words in your language are separated by whitespace and punctuation. If the neutral setting will not work for your language, third-party full-text indexing solutions may be available; after installing and configuring them correctly, you must set the XML_IDX_FULLTEXT_LANGUAGE DBTUNE parameter correctly to index and search your XML documents.
      • If the language of the text in your XML documents does not match the database server's default full-text language setting and the language of your documents is supported for linguistic analysis, you must modify the value of the XML_IDX_FULLTEXT_LANGUAGE DBTUNE parameter to index the text in your XML documents using the appropriate language.
      • If the XML column will contain XML documents written in more than one language, you must use the neutral setting. Stemming will not be performed when indexing the text when the neutral setting is used.

      For more information see the appropriate topics in SQL Server Books Online.

    7. Close the Server Properties dialog box.

  5. Prepare the database to store ArcSDE XML data
  6. Before an ArcSDE XML column can be created, the database in which it will be stored must be enabled for full-text searching, a full-text catalog must be created, and permission to use the full-text catalog must be granted.

    The database must only be enabled for full-text searching once before the first full-text catalog is created. When a database is created using the CREATE DATABASE statement it is automatically enabled for full-text searching. However, when a database is created interactively using Management Studio it is not automatically enabled for full-text searching. Depending on how the database was created you may have to enable the database.

    If you have a multidatabase instance of ArcSDE, a full-text catalog must be added to each spatial database that will contain an XML column. The name of the full-text catalog must be the same in each database.

    The user who will own the XML column must have sufficient permissions to create new datasets in the geodatabase. REFERENCES permission on the full-text catalog that will be used to index the contents of the XML column must also be granted to the user who will own the XML column or the role to which they belong.

    Only the database administrator or the owner of the database can enable the database for full-text searching. Once this is accomplished, if a different user performs the remaining steps he or she must have CREATE FULLTEXT CATALOG permission and must be able to grant the REFERENCES permission to other users.

    One of the following methods must be used to prepare a database before an ArcSDE XML column can be created in it. For more information about any of the SQL Server information covered below, see the appropriate topic in SQL Server Books Online.

    Preparing the database in SQL Server 2005 using Management Studio

    You can use SQL Server Management Studio to prepare the database to store an XML column; these steps are provided below.

    When granted interactively, the REFERENCES permission is granted for the database; it is not specific to a full-text catalog. If you prefer to grant this privilege in a different way, skip the appropriate steps below and send the appropriate GRANT statement to the database using a SQL Query Editor window instead.

    1. In SQL Server Management Studio's Object Explorer, click the plus sign (+) next to the appropriate SQL Server, then click the plus sign next to Databases.
    2. Right-click the database in which the XML column will be created and click Properties.
    3. Click Files under Select a Page on the left in the Database Properties dialog box.
    4. Check Use full-text indexing in the page on the right if it is not already checked.
    5. Click Permissions under Select a Page on the left.
    6. Click the user who will own the XML column or the role to which they belong in the Users or roles list in the page on the right.
    7. In the Explicit permissions for <user or role> list at the bottom of the page, scroll down until you see the References permission.
    8. In the row for the References permission, check the box in the Grant column.
    9. Click OK in the Database Properties dialog box.
    10. Click the plus sign next to the database, then click the plus sign next to Storage.
    11. Right-click Full Text Catalogs, then click New Full-Text Catalog.
    12. Type a name for the full-text catalog in the Full-text catalog name text box. If you provide a name other than SDE_DEFAULT_CAT, you must modify the value of the XML_IDX_FULLTEXT_CAT parameter for the DEFAULTS keyword in the SDE_dbtune table.
    13. Set other properties for the full-text catalog as appropriate; for example, defining the location on the file system where the full-text index files will be stored or making the catalog the default full-text catalog for the database.
    14. Click OK in the New Full-Text Catalog dialog box.

    Preparing the database in SQL Server 2005 using SQL Query Editor

    You can either interactively prepare the database using SQL Server Management Studio or accomplish these tasks by sending SQL statements; the steps below issue the appropriate SQL statements using a SQL Query Editor window in Management Studio. You do not need to follow these steps if you have already prepared the database interactively using Management Studio.

    The steps below grant the REFERENCES permission to a user or role for a specific full-text catalog. If you later add another full-text catalog to the database that will be used by a different XML column, for example, you must grant the REFERENCES permission again for the new full-text catalog. If you prefer to grant this privilege in a different way, skip the appropriate steps below and send the appropriate GRANT statement to the database instead.

    1. In the SQL Query Editor window, type and then execute the following query to check if the database has been enabled for full-text searching. For example, if the database is named sde:
    2. SELECT DATABASEPROPERTY('sde', 'IsFulltextEnabled');

      If the value 1 is returned, the database is already full-text enabled—skip to step 7. If another value is returned, the database must be enabled for full-text searching using Management Studio before you can continue.

    3. In SQL Server Management Studio's Object Explorer, click the plus sign (+) next to the appropriate SQL Server, then click the plus sign next to Databases.
    4. Right-click the database in which the XML column will be created and click Properties.
    5. Click Files under Select a Page on the left in the Database Properties dialog box.
    6. Check Use full-text indexing in the page on the right.
    7. Click OK in the Database Properties dialog box.
    8. In the SQL Query Editor window, select the database in which the XML column will be created using the drop-down list on the SQL Editor toolbar or by executing the USE command. For example:
    9. USE sde;

    10. Create a full-text catalog in the database using the CREATE FULLTEXT CATALOG statement. If you provide a name other than SDE_DEFAULT_CAT, you must modify the value of the XML_IDX_FULLTEXT_CAT parameter for the DEFAULTS keyword in the SDE_dbtune table. You can optionally set other properties of the full-text catalog such as providing a location on disk where the files will be stored and setting the catalog as the default full-text catalog for the database. For example:
    11. CREATE FULLTEXT CATALOG SDE_DEFAULT_CAT IN PATH 'C:\Data\Fulltext' AS DEFAULT; 

    12. Grant REFERENCES permission on this full-text catalog to the user who will own the XML column, or grant this permission to the role to which the user belongs. For example:
    13. GRANT REFERENCES ON FULLTEXT CATALOG :: SDE_DEFAULT_CAT TO dataOwners;

  7. Review ArcSDE XML DBTUNE parameters before creating an XML column, and modify them if appropriate. For example, you may need to set the language to be used for linguistic analysis.
  8. The user who will own the XML column must be granted sufficient permissions to create new datasets in the geodatabase.

For more information see the appropriate topics in SQL Server Books Online.

Install and configure the full-text search engine in SQL Server 2005 Express licensed with ArcGIS Server Enterprise

  1. Install the full-text search engine.
  2. SQL Server 2005 Express Edition with Advanced Services can be used to store ArcSDE geodatabases licensed through ArcGIS Server Enterprise. When installing SQL Server 2005 Express Edition with Advanced Services, you must choose to install Full-Text Search.

    If you upgraded SQL Server and Full-Text Search was not installed in the earlier version of SQL Server, Full-Text Search will not be installed as part of the upgrade; it must be installed as an additional component after the upgrade is completed.

  3. Verify the full-text search engine was installed properly.
    1. In SQL Server Management Studio's Object Explorer, right-click the database server and click New Query. A new SQL Query Editor window appears in Management Studio.
    2. In the SQL Query Editor window, type and then execute the following query to verify the full-text search engine properly installed.
    3. SELECT fulltextserviceproperty('IsFulltextInstalled');

    If the value 1 is returned, the full-text search engine has been installed properly. If another value is returned, you must install or reinstall Full-Text Search; you may need to reinstall SQL Server. You won't be able to successfully create a full-text catalog or an ArcSDE XML column if this query does not return the value 1.

  4. If you plan to query a table using the contents of an XML column, check the default language that will be used for linguistic analysis with full-text indexes. This setting is for the database server, and is independant of a specific database's collation. The default full-text language should be set to match your computer's language and regional settings when SQL Server is installed if that language is supported.
    1. In SQL Server Management Studio's Object Explorer, right-click the appropriate SQL Server and click Properties.
    2. Click Advanced under Select a Page on the left in the Server Properties dialog box.
    3. The Default Full-Text Language value is shown in the page on the right under Miscellaneous. Leave this dialog box open.
    4. In the SQL Query Editor window, type and then execute the following query to list all of the full-text languages supported by your version of SQL Server:
    5. SELECT * FROM sys.fulltext_languages;

    6. Compare the Default Full-Text Language value in the Server Properties dialog box to the list of languages and their values in the query window.The default full-text language should be set to match the language of the database server when SQL Server is installed if that language is supported for linguistic analysis.
      • If the language of the text in your XML documents matches the database server's default full-text language setting, continue preparing the database to store ArcSDE XML data. No changes will have to be made to the DBTUNE full-text language parameter.
      • If the database server's default full-text language setting is neutral, the language of the server did not match one of the languages supported for linguistic analysis. If the language of the text in your XML documents is not one of the languages listed in the default full-text language option topic, you may be able to index and search your documents with some degree of success using the neutral setting if all words in your language are separated by whitespace and punctuation. If the neutral setting will not work for your language, third-party full-text indexing solutions may be available; after installing and configuring them correctly, you must set the XML_IDX_FULLTEXT_LANGUAGE DBTUNE parameter correctly to index and search your XML documents.
      • If the language of the text in your XML documents does not match the database server's default full-text language setting and the language of your documents is supported for linguistic analysis, you must modify the value of the XML_IDX_FULLTEXT_LANGUAGE DBTUNE parameter to index the text in your XML documents using the appropriate language.
      • If the XML column will contain XML documents written in more than one language, you must use the neutral setting. Stemming will not be performed when indexing the text when the neutral setting is used.

      For more information see the appropriate topics in SQL Server Books Online.

    7. Close the Server Properties dialog box when you are finished.

  5. Prepare the database in SQL Server 2005 Express Edition with Advanced Services
  6. Before an ArcSDE XML column can be created, the database in which it will be stored must be enabled for full-text searching, a full-text catalog must be created, and permission to use the full-text catalog must be granted. You can use SQL Server Management Studio (either the Express edition or the full edition) to prepare the database to store an XML column. These steps are provided below.

    The database must only be enabled for full-text searching once before the first full-text catalog is created. When a database is created using the CREATE DATABASE statement it is automatically enabled for full-text searching. However, when a database is created interactively using Management Studio it is not automatically enabled for full-text searching. Depending on how the database was created you may have to enable the database.

    When you are connected to a SQL Server 2005 Express Edition with Advanced Services database in Management Studio, you can't create a full-text catalog interactively or list the full-text catalogs that exist in the database. However, you can create a full-text catalog and generate a list of full-text catalogs by sending SQL statements to the database using a SQL Query Editor window. If you have a multidatabase instance of ArcSDE, a full-text catalog must be added to each spatial database that will contain an XML column. The name of the full-text catalog must be the same in each database.

    The user who will own the XML column must have sufficient permissions to create new datasets in the geodatabase. REFERENCES permission on the full-text catalog that will be used to index the contents of the XML column must also be granted to the user who will own the XML column or the role to which they belong. When granted interactively, the REFERENCES permission is granted for the database; it is not specific to a full-text catalog. If you prefer to grant this privilege in a different way, skip the appropriate steps below and send the appropriate GRANT statement to the database using a SQL Query Editor window instead.

    Only the database administrator or the owner of the database can enable the database for full-text searching. Once this is accomplished, if a different user performs the remaining steps he or she must have CREATE FULLTEXT CATALOG permission and must be able to grant the REFERENCES permission to other users.

    1. In SQL Server Management Studio Express, click the plus sign (+) next to the appropriate SQL Server instance, then click the plus sign next to Databases.
    2. Right-click the database in which the XML column will be created and click Properties.
    3. Click Files under Select a Page on the left in the Database Properties dialog box.
    4. Check Use full-text indexing in the page on the right if it is not already checked.
    5. Click Permissions under Select a Page on the left.
    6. Click the user who will own the XML column in the Users or roles list in the page on the right.
    7. In the Explicit permissions for <user or role> list at the bottom of the page, scroll down until you see the References permission.
    8. In the row for the References permission, check the box in the Grant column.
    9. Click OK in the Database Properties dialog box.
    10. In the SQL Query Editor window, select the database in which the XML column will be created using the drop-down list on the SQL Editor toolbar or by executing the USE command. For example, if the database is named spatial:
    11. USE spatial;

    12. Create a full-text catalog in the database using the CREATE FULLTEXT CATALOG statement. If you provide a name other than SDE_DEFAULT_CAT, you must modify the value of the XML_IDX_FULLTEXT_CAT parameter for the DEFAULTS keyword in the SDE_dbtune table. For example:
    13. CREATE FULLTEXT CATALOG SDE_DEFAULT_CAT;

      You can optionally set other properties of the full-text catalog such as providing a location on disk where the full-text catalog will be stored and setting the catalog as the default full-text catalog for the database.

  7. Review ArcSDE XML DBTUNE parameters before creating an XML column, and modify them if appropriate. For example, you may need to set the language to be used for linguistic analysis.
  8. The user who will own the XML column must be granted sufficient permissions to create new datasets in the geodatabase.

Tip

For more information see the appropriate topics in SQL Server Books Online.

Install and configure the full-text search engine in SQL Server 2005 Express licensed with ArcGIS Server Workgroup

ArcSDE XML columns are only supported with SQL Server 2005 Express Edition with Advanced Services that have Full-Text Search installed. The Full-Text Search component is required to support ArcSDE XML columns; when installing SQL Server 2005 Express Edition with Advanced Services, you must choose to install Full-Text Search. Other editions of SQL Server 2005 Express do not include support for full-text searching.

Beginning with ArcGIS 9.3, SQL Server 2005 Express Edition with Advanced Services is provided as the ArcSDE component of ArcGIS Server Workgroup. Follow the installation and postinstallation instructions provided for the ArcSDE component of ArcGIS Server Workgroup to ensure that your database is installed and set up correctly, then create a geodatabase. Do not create the geodatabase at the root level of a disk such as C:\.

SQL Server instances installed with previous versions of ArcGIS Server Workgroup did not include Advanced Services. To support ArcSDE XML columns and applications that use them such as ArcIMS Metadata Services, you must upgrade the SQL Server Express instance. To find out which edition of SQL Server you have installed, right-click the Database Server in ArcCatalog and click Properties. If required, follow the upgrade instructions provided for the ArcSDE component of ArcGIS Server Workgroup. ArcSDE XML columns can only be created in new geodatabases in an upgraded SQL Server Express instance; do not create the new geodatabase at the root level of a disk such as C:\. You may want to copy your existing data into the new geodatabase.

Once the correct edition of SQL Server is available and a new geodatabase has been created, no additional steps are required to create an ArcSDE XML column. A full-text catalog is automatically created in the new geodatabase and the geodatabase is set to use this full-text catalog for all XML columns. The full-text catalog's name is the same as the geodatabase with "_CAT" appended to the name. Also, permission to use this full-text catalog is automatically granted to the ESRIWriteData role. Any user who is a member of the ESRIWriteData role can create an ArcSDE XML column.

At the time SQL Server is installed, the default language that will be used for full-text indexing and searching is set to match the language of the database server if that language is supported for linguistic analysis.

Configure the database and DBTUNE parameters for an XML column

Setting ArcSDE XML SDE_dbtune parameters

The XML parameters set in the SDE_dbtune table affect how documents published to an ArcSDE XML column are indexed by the database. Information about the following XML parameters should be reviewed before creating an XML column: XML_IDX_FULLTEXT_CAT and XML_IDX_FULLTEXT_UPDATE_METHOD.

If your XML column will store documents written in a language other than English, you will also want to review information about the XML_IDX_FULLTEXT_LANGUAGE parameter in addition to verifying the language settings in the database. If you need to change the default values for these SDE_dbtune parameters and your XML column is associated with an ArcIMS metadata service, the changes need to be made for the DEFAULTS keyword. See the 'XML_IDX_FULLTEXT_LANGUAGE' section below. Also read the topics The DEFAULTS keyword and Language support in the geodatabase.

XML_IDX_FULLTEXT_CAT

The value of the XML_IDX_FULLTEXT_CAT parameter must match the name of the full text catalog that you created in the database. If the full text catalog's name is different, you must update the SDE_dbtune value to match it. Information for the multiple and single spatial database models follows:

Different XML columns can be associated with different full text catalogs. Based on Microsoft's recommendations, use different full text catalogs for XML columns with documents that change frequently and infrequently.

For example, if you have one ArcIMS Metadata Service with documents that are regularly updated and another ArcIMS Gazetteer Metadata Service with place names that are rarely updated, the XML columns associated with these two services should be associated with different full text catalogs. Create a second full text catalog in the database such as IMS_GAZETTER_CAT. Then, create a custom DBTUNE keyword such as "IMS_GAZETTEER"; in this keyword add the XML_IDX_FULLTEXT_CAT parameter set to the value "IMS_GAZETTEER_CAT". Reference this custom keyword when creating the gazetteer service.

XML_IDX_FULLTEXT_UPDATE_METHOD

The frequency and method with which the full text catalog will be updated in the database needs to be considered based on the amount and rate of change of the documents published to the XML column, the hardware resources available to the database, and whether or not it is important for a newly published document to be immediately available for a search.

Documents can only be found by a search once they have been indexed by the database; that is, once the full text catalog has been updated. The XML_IDX_FULLTEXT_UPDATE_METHOD parameter in the SDE_dbtune table determines how and when the full text catalog will be updated.

By default, the XML_IDX_FULLTEXT_UPDATE_METHOD parameter is set to "CHANGE_TRACKING BACKGROUND". Change tracking means that when the full text catalog is updated, only documents added since the last update will be indexed. ESRI recommends that you always use change tracking with your full text catalog. Background instructs the database to manage when the full text catalog is updated using a background process. If this parameter is changed to "CHANGE_TRACKING MANUAL", the full text catalog must be updated manually.

Typically, "CHANGE_TRACKING BACKGROUND" will provide better overall performance for your database. Background updates will be affected by the resources available on the database server, the priority of the background process, and the load of other operations on the database. Manual updates will have a higher priority in the database and, thus, will probably be faster but they will affect the performance of searches and other operations in the database. Updates to the full text catalog should be scheduled to take place when database traffic is low, for example, nightly. You may want to use the SQL Server database's tools to schedule updates of the full text catalog.

XML_IDX_FULLTEXT_LANGUAGE

If your metadata service will store documents written in a language other than English, you may need to set the XML_IDX_FULLTEXT_LANGUAGE parameter in the SDE_dbtune table. The XML_IDX_FULLTEXT_LANGUAGE parameter is used to set the language used for linguistic analysis of the column that is indexed in the full text catalog. This setting affects characteristics such as work breakers and words to be ignored (for example, in English, articles such as A and the are ignored). If you do not properly set the language for linguistic analysis, if the published documents are written, for example, in Japanese but the language of the column is set to English, the text won't be indexed properly and you will have trouble finding documents with a search.

If you are using a localized version of SQL Server, the default full text language option will be set to the language of the server. For example, if you are using a Japanese version of SQL Server, the language of the database, the full text catalog, and the column to be indexed should all be set to Japanese because the default full text language option will be set to Japanese. You should not have to change the value of the XML_IDX_FULLTEXT_LANGUAGE parameter in the SDE_dbtune table.

If you are using an international version of SQL Server, the default full text language option will be set to U.S. English. Even if you specifically set the language of the database and the full text catalog to Japanese, the language for linguistic analysis of the column that will be indexed will default to U.S. English.

Set the XML_IDX_FULLTEXT_LANGUAGE parameter in the SDE_dbtune table to the appropriate value for the language of the published documents; this value is used to set the language of the column. The installation steps directed you to query the sys.fulltext_languages view to determine which languages are supported by your version of SQL Server. Set the XML_IDX_FULLTEXT_LANGUAGE parameter to either the identifier or the name of one of the supported languages; for example, you can use use either 1036 or "French" to index the text in your XML documents in that language.

When a column is set to a specific language in an international version of SQL Server, you can publish and search documents in both the specific language and English. If the XML column contains documents in many languages or in an unsupported language, the language of the column to be indexed should be set to neutral; however, you may have trouble searching with some text with the neutral setting.

To change the XML_IDX_FULLTEXT_LANGUAGE parameter in an ArcSDE geodatabase licensed through ArcGIS Server Enterprise, use the sdedbtune administration command. Consult the ArcSDE Administration Command Reference for specifics on using the sdedbtune command.

To change the XML_IDX_FULLTEXT_LANGUAGE parameter in an ArcSDE geodatabase licensed through ArcGIS Server Workgroup, you must install and run the WorkgroupXMLLanguage.exe on the computer where SQL Server Express is installed. This executable and instructions for how to use it are provided with ArcIMS.

See the SQL Server Books Online help topics for more information on linguistic analysis and language support.

Manage database text indexes

When XML documents are stored in an XML column, SQL Server automatically updates the full-text catalog to include text from the new documents. If documents are frequently added and changes are frequently made to existing documents, you should periodically optimize your full-text catalog to maintain optimal performance.

  1. In SQL Server Management Studio's Object Explorer, click the plus sign (+) next to the appropriate SQL Server, then click the plus sign next to Databases.
  2. Click the plus sign next to the database, click the plus sign next to Storage, then click the plus sign next to Full-Text Catalogs.
  3. Right-click the appropriate full-text catalog and click Properties.
  4. Under Catalog action, click Optimize catalog.
  5. Click OK.

Depending on the quantity of text that has been indexed the optimize operation may take a while to complete. Perform this operation during off-peak hours when fewer people are using the XML column.

See Also

  • Configuring a database to support XML columns
  • XML columns in the geodatabase