I MS CRM version 1.2 havde man ikke mulighed for at gøre brug af indekseringsmulighederne i SQL Serveren, og mange har ikke fået denne mulighed oprettet i forbindelse med opgradering til version 3.0 - eller sågar 4.0, hvilket ikke er heldig da det påvirker ydelsen af system en hel del.
Hvis man skal opgradere fra version 3.0 til 4.0, er det bedst at oprette indekset før opgraderingen. Dette fordi opgraderingsprocessen optimerer indekset til den bedste ydelse.
Hvorfor indeksering?
Vi skal lige have styr på nogle termer for at vide hvorfor det er vigtigt at indeksere i SQL Serveren:
Fuld-tekst indeks (Full-Text Index)
Gemmer oplysninger om væsentlige ord og deres placering inden for en given kolonne. Disse oplysninger bruges til hurtigt at beregne fuld tekst forespørgsler at søge efter rækker med særlig ord eller kombinationer af ord.
Fuld-tekst catalog (Full-Text Catalog)
En fuld tekst katalog indeholder nul eller flere fuld tekst indekser. Fuld-tekst kataloger skal opholde sig på en lokal harddisk forbundet med forekomst af SQL Server. Hver katalog kan indeksere en eller flere tabeller i en database. Fuld-tekst kataloger kan ikke gemmes på flytbare drev, disketter eller netværksdrev, undtagen når du vedlagt en read-only database, som indeholder en fuld-tekst katalog.
Ordidentifikation (Word Breaker)For et bestemt sprog, en ordidentifikation tokenizes tekst baseret på den leksikale regler for sproget. Eller sagt på en anden måde; en ordidentifikator søger efter ord baseret på det angivne sprog, på den mest optimale måde. Dansk ordidentifikation installeres på følgende måde:
Læs mere...
Oprettelse af nyt Full-Text Catalog
Man opretter fjerner og genskaber Full Text Catalog index på følgende måde:
- Fjern full-text indexing fra tabellen DocumentIndex. Dette gøres på følgende måde:
- Klik på Start, All Programs, Microsoft SQL Server, Enterprise Manager.
- I SQL Server Enterprise Manager, udvid serverobjektet, udvid Databases, udvid <organization>_MSCRM, og klik på Tables.
- I detaljeområdet, højreklik på tabellen DocumentIndex, og vælg Full-Text Index, Delete Full-Text Index.
Dette kan også gøres ved at køre følgende script:
if (exists (SELECT name FROM sys.fulltext_catalogs where name = N'ftcat_documentindex') )
begin
DROP FULLTEXT INDEX ON DocumentIndex;
DROP FULLTEXT CATALOG ftcat_documentindex
end
- Kør følgende script i SQL Query Analyzer op imod databasen <organisation>_MSCRM (husk at angive navnet på organisationen i følgende script):
use <organisation>_MSCRM
go
exec sp_fulltext_database 'enable';exec sp_fulltext_catalog 'ftcat_documentindex', 'create';
exec sp_fulltext_table 'dbo.documentindex', 'create', 'ftcat_documentindex', 'cndx_PrimaryKey_DocumentIndex';
go
exec sp_fulltext_column 'documentindex', 'Title', 'add';
go
exec sp_fulltext_column 'documentindex', 'KeyWords', 'add';
go
exec sp_fulltext_column 'documentindex', 'SearchText', 'add';
go
exec sp_fulltext_table 'documentindex', 'activate';
go
exec sp_fulltext_catalog @ftcat='ftcat_documentindex', @action='Rebuild';
go
exec sp_fulltext_catalog @ftcat='ftcat_documentindex', @action='start_full';
go
Resultatet skulle gerne være således (Husk at opsætte Dansk Word Breaker manuelt. Læs mere om installationen af dette):
