Probleme bei Schema-Änderung für mssql in OTRS Version 3.1

Hilfe zu OTRS Problemen aller Art
Post Reply
dirk
OTRS newbie
Posts: 1
Joined: 01 Jun 2012, 14:10
OTRS Version?: 3.1.8

Probleme bei Schema-Änderung für mssql in OTRS Version 3.1

Post by dirk » 08 Aug 2012, 16:45

Laut Handbuch muss das Schema bei der Umstellung zu OTRS Version 3.1 angepasst werden http://doc.otrs.org/3.1/de/html/upgradi ... types.html.
Ich bin dabei auf einige Fragen und Probleme gestoßen:

Zunächst sollte das Script scripts\DBUpdate-to-3.1.mssql-datatypes.pl dafür sorgen, dass 3 Skripte zur Schemaanpassung erstellt werden. Diese SQL-Scripts (mssql-datatype-upgrade-step[1-3].sql) werden auch erstellt:

Migration started...
Step 1 of 2: Checking database type... OK!
Step 2 of 2: Creating Upgrade Files...
File mssql-datatype-upgrade-step1.sql created in ./scripts/database/ update.
File mssql-datatype-upgrade-step2.sql created in ./scripts/database/ update.
File mssql-datatype-upgrade-step3.sql created in./scripts/database/ update.
done.

Now run the generated files in order to complete the data type migration.

Sie enthalten jedoch jeweils 0 Byte - sind also nicht zu verwenden. Daraufhin habe ich mir das neue Schema in otrs-schema.mssql.sql angesehen und Tests mit eigenen Scripts zur Umstellung gemacht. Dabei stieß ich auf ein Problem, das auch andere mssql Nutzer haben müssten:

Wenn ich mir die Tabelle "article_search" als Beispiel greife (betroffen sind mehrere Tabellen/Indexe), dann ist bspw. die Spalte a_message_id jetzt vom Typ NVARCHAR(3800) und war in den Versionen zuvor vom Typ VARCHAR(3800).
Für dieses Feld existiert ein Index, der so angelegt werden soll:
CREATE INDEX article_search_message_id ON article_search (a_message_id);

Wenn allerdings ein solcher Index auf ein nvarchar-Feld gelegt wird, erhält man vom SQL Server folgende Warnung:
Warning! The maximum key length is 900 bytes. The index 'article_search_message_id' has maximum length of 7600 bytes. For some combination of large values, the insert/update operation will fail.

Der letzte Satz dieser Warnung veranlasst mich zu anzunehemen, dass dieser Index eher kontraproduktiv wäre. Microsoft empfiehlt das Einschließen (INCLUDE) derartiger Felder in einen Index. Aber das ergibt eine völlig anders gestalteten Index.

In dem Topic viewtopic.php?f=33&t=14065 ist ein zwar ein anderes Problem adressiert, aber BlackSeaPirate hat die Umstellung auf nvarchar erwähnt und offensichtlich für sich gelöst. Zu dem Index-Problem habe ich keine Quellen gefunden.

Wie habt ihr dieses Problem in eurer otrs-db auf mssql gelöst?

Alexander Halle
OTRS superhero
Posts: 296
Joined: 04 Jul 2010, 17:49
OTRS Version?: 3.1.x
Real Name: Alexander Halle
Company: radprax MVZ GmbH
Location: Wuppertal
Contact:

Re: Probleme bei Schema-Änderung für mssql in OTRS Version 3

Post by Alexander Halle » 20 Aug 2012, 14:15

Falls das Problem gelöst ist, bitte hier berichten und im titel als "[gelöst]" markieren. Ansonsten posten was in der Zwischenzeit passiert ist und vor allem wie die Systemumgebung aussieht. Ich selbst habe leider keine Tipps zu dem Problem :(
Alexander Halle System: OTRS 3.1.x, Ubuntu 10.04.x LTS, MySQL 5.1.x, Apache 2.2.x
OTRS Community Links: User Meetings, Projects

Post Reply