Frage Hallo Ich nutze seit Jahren die Replikationstechnik (= Transaktionsreplikation), um von NAV 2009 Tabellen in andere Datenbanken für verschiedene Zwecke zu überführen und aktuell zu halten. Alles Bestens. Nun musste aufgrund eines anstehenden Upgrades auf NAV 2017 die Sortierung der NAV Datenbank geändert werden. Ich habe dazu alle Objekte der Abo-Datenbank und auch die Replikationsdatenbank auf die neue Sortierung umgestellt. Nun macht die NAV Anwendung Probleme und meldet Sperren auf verschiedenen Tabellen. Frage ist: Woher kommen diese Sperren? Was kann man machen? Danke für jede Hilfe HKoestler Antworten Die Rede ist von der Sortierung, englisch: Collation Wie viel Zeit ist zwischen der Änderung und den beobachtetetn Sperr-Problemen denn vergangen? Es ist möglich, dass der "Schema Synchronization"-Prozess noch nicht fertig ist, denn so ein Collation-Änderung ist schon sehr aufwändig und kann dauern. Wie lange, das hängt von der Datenbankgröße ab. Sql server sortieren von tabellen. Möglicherweise Stunden. Wenn das nicht das Problem sein kann (lässt sich ja prüfen, indem man nachschaut, ob die Collation überall wirklich die neue ist), dann mus man die Sperren mal genauer ansehen.
Erstellen Sie eine neue Tabelle in der aktuellen Datenbank, die die Datenbanksortierung erbt, kopieren Sie die Daten von der alten Tabelle in die neue Tabelle, löschen Sie die ursprüngliche Tabelle, und ändern Sie den Namen der neuen Tabelle in den der ursprünglichen. Mit Parameter sortieren?. Hierbei handelt es sich um einen schnelleren Vorgang als eine direkte Konvertierung, der allerdings zu einer Herausforderung werden kann, wenn komplexe Schemas mit Abhängigkeiten wie Fremdschlüsseleinschränkungen, Primärschlüsseleinschränkungen und Triggern beteiligt sind. Darüber hinaus ist vor der endgültigen Trennung eine abschließende Datensynchronisierung zwischen der ursprünglichen und der neuen Tabelle erforderlich, wenn die Daten weiterhin von Anwendungen geändert werden. Das folgende Beispiel zeigt eine Konvertierung der MyString -Spalte in eine neue Sortierung durch Kopieren und Ersetzen: CREATE TABLE Table2 (MyString VARCHAR(50) COLLATE Latin1_General_100_CI_AI_SC_UTF8); INSERT INTO Table2 SELECT * FROM Table; DROP TABLE Table; EXEC sp_rename 'Table2', 'Table'; Kopieren Sie die Daten in eine neue Datenbank, die die neue Sortierung verwendet, und ersetzen Sie die ursprüngliche Datenbank.