… of maybe 20.
2) SQL Server 2008
- Aufsetzen einer VM mit einem SQL Server 2008 (r2)
- Das letzte Servicepack draufbügeln
- Umbenennen, fixe IP vergeben
Nun muss man noch wissen, dass auch der aktuell laufende SQL 2000 schon einen Vorgänger hatte, nämlich einen SQL Server 6.5 … aus einer Zeit, wo man mit Sortierungen noch nicht gar so weit war. Wir sprechen hier über die Steinzeit, so ca. 1995.
Also tauchen wir mal in Stonehendge ein und buddeln ein wenig.
- Dumps aus dem SQL 2000 einlesen (dauert aber geht letztlich)
- Die Workstation stellt eine Verbindung her und fängt an mit dem Ding zu arbeiten, bis …
Meldung 468, Ebene 16, Status 9, Prozedur spMAWI_SelektierEinsVon1000Dingen, Zeile 46
Ein Sortierungskonflikt zwischen ‚Latin1_General_BIN‘ und ‚Latin1_General_CI_AS‘ im equal to-Vorgang kann nicht aufgelöst werden.
… und Dir fallen schlagartig sämtliche Sünden aus den vergangenen Jahrzehnten ein. Damals, weiland (wedeln mit der linken Hand Richtung Horizont) wenn Du temporäre Tabellen in SPs angelegt hattest, hattest Du munter sowas hier gemacht:
create table #tblMAWI_EinsVon100Dingen (
szArtNo nvarchar(6)
)
Nicht völlig falsch, nur dass Du Dich dabei auf die generelle Sortierung des Servers verlassen hattest. Und die ist heute standardmäßig halt nunmal eine andere als „damals“.
Tja was tun ?
- Variante a) den Server dazu zwingen eine andere Standardsortierung zu verwenden
- Variante b) rund 500 SPs durchGREPen und rund 200 finden wo create table-Konstrukte drin sind … und die alle frisch machen mittels
create table #tblMAWI_EinsVon100Dingen (szArtNo nvarchar(6) collate Latin1_General_BIN)
… und danach wieder einspielen
Variante a behebt das akute Problem, verschiebt die wahre Lösung aber letztlich auf den Zukunfts-Castagir. Und ob der dann noch Bock auf so was hat kann ich nicht sagen.
Variante b klingt schwer nach einer Arbeit für jemanden der Vater und Mutter erschlagen hat, ist aber trotzdem der richtigere Weg. Denn wer weiß schon was man sich in künftigen Versionen alles einfallen läßt bezüglich der Sortierung.
Na gut, Variante b) it will be. Deswegen mache ich den ganzen Scheiß ja im Vorfeld als Trockenübung, bevor ich die produktive Anlage in Grund und Boden fahre. Hängen ja nur paar hundert Arbeitsplätze dran.
Gut: Einen roadblock gefunden (es werden gefühlt ein Dutzend weitere kommen, entweder schon hier im 2008, oder auf dem Weg bis 2019, ANSI-SQL rettet Dich eben doch nicht immer)
Schlecht: Die Liste ist um eins kürzer geworden (SQL 20o8 läuft), aber dafür ist ein neuer Punkt dazugekommen (GREP, Sourcen ändern, einspielen)
Bin ich jetzt happy ? Hmm, die Jury tagt noch …
Nächster Punkt auf der Liste (frisch eingefügt) wird sein, noch mehr roadblocks im 2008er zu finden, bevor ich weiter mache.