Ich betreibe so auf meinem Laptop parallel ein lokales Backup-System zu meiner nach wie vor produkten 0.99923 und dann noch eine 1.0.0.0, eine 1.1.4.14, eine 1.2.3.7, jeweils die aktuelle Beta und seit Heute auch die 1.3.8.0-RC.
Das ist alles völlig problemlos machbar, man braucht nur für jede Version eine eigene Instanz mit einem eigenen "sprechenden" Namen und da die
Wawi bei der Installation/Updates das zuletzt verwendete Installationsverzeichnis immer automatisch schon gelöscht hat, bevor man "Moment mal..." schreien kann, muss man beim Update oder bei der Neuanlage weiterer Installationen echt aufpassen.
Ich mache das so, dass ich VOR jeder Installation einer neuen Instanz oder dem Update einer bereits installierten Version an die Verzeichnisnamen aller "untouchables" vorsichthalber hinten ein ".inaktiv" ranhänge, dann mache ich die Installation oder das Update und danach benenne ich die Dinger schnell wieder um. Mit mehr Grips ginge das auch intelligenter, aber ich habe keinen Bock hinter meiner Schusseligkeit herzufegen, also alles sicher machen, updaten ... und wieder entsichern. Bingo!
In den Windows Services habe ich immer nur die SQL Instanzen laufen, die ich gerade brauche. Dinger, die ich nur alle Jubeljahre brauche, wie z.B. die jeweils aktuelle 1.0.0.0, die nur bei der bei mir regelmäßig stattfindenden Test-Migration von der 0.9 benötigt wird, sind per Default auf Status "Deaktiviert", alle anderen auf "Manuell" und nur die, mit der ich aktuell arbeite, mit der ich also teste, denn hier ist natürlich NICHTS produktiv, ist auf Status "Automatisch" und läuft immer. Das ist meistens die aktuelle Beta.
Will ich also was mit der 1.1.4.14 testen, dann wird der SQL Server Dienst für die Instanz kurz scharf geschaltet, ich teste und dann wird der Dienst sofort wieder gestoppt. Damit ist auch die Systemlast und der Speicher völlig im Rahmen.