Named Instanz zur Default Instanz machen bzw. es so aussehen lasse

28/02/2008 - 09:39 von Nico | Report spam
Hallo zusammen!

Ich möchte eine Side-by-side Migration von 2000 (Default
Instanz) auf 2005 (Named Instanz) auf einer Maschine machen.
Das Problem, ich habe 500 Clients und keine Möglichkeit den Connection
String der Clients zu veràndern. Auf den Clients ist nur der Servername im
Connection String eingetragen, sodass immer zu Default Instanz connected
wird.

Nach der eigentlichen Datenbank Migration möchte ich, dass auf die 2005er
Instanz connected wird, ohne Änderung an den Clients.

1. Wie gehe ich am besten vor? Ist das überhaupt Möglich?

2. Laut Microsoft ist es nicht Möglich aus einer Default Instanz eine Named
Instanz zu machen oder umgekehrt.
Ich habe schon mehrfach gehört, dass durch Änderung bestimmter Registry Keys
dies Möglich sein soll. Nur wie?

3. Im SQL Server Configuration Manger lassen sich Aliase einrichten, die nach
Tests von mir aber nur Clientseitig funktionieren.
Ist es Möglich serverseitige Aliase einzurichten?

Einen kleinen Erfolg hatte ich, als ich den Port der Named Instanz auf 1433,
den Port der Default Instanz, geàndert habe.
Dadurch war es Möglich mit SQL Server Management Studio und OSQL ohne Angabe
des Instanznamen auf die Named Instanz zu connecten!
Mit ODBC und dem Dynamics NAV Client hat dies aber leider nicht funktioniert
...


Würde mich über Antworten freuen.

Nico
 

Lesen sie die antworten

#1 Elmar Boye
28/02/2008 - 11:06 | Warnen spam
Hallo Nico,

Nico schrieb:
Ich möchte eine Side-by-side Migration von 2000 (Default
Instanz) auf 2005 (Named Instanz) auf einer Maschine machen.
Das Problem, ich habe 500 Clients und keine Möglichkeit den Connection
String der Clients zu veràndern. Auf den Clients ist nur der Servername im
Connection String eingetragen, sodass immer zu Default Instanz connected
wird.

Nach der eigentlichen Datenbank Migration möchte ich, dass auf die 2005er
Instanz connected wird, ohne Änderung an den Clients.

1. Wie gehe ich am besten vor? Ist das überhaupt Möglich?



Möglich schon. Zunàchst wàre allerdings zu klàren, was Du unter einer
"Default Instanz" verstehst. Denn die gibt es konzeptionell nicht.
Vielmehr sind ab SQL Server 2000 benannte Instanzen zusàtzlich zu
der immer schon möglichen (Standard) Instanz hinzugekommen.

Grundsàtzlich sind Instanzen nur die Zuordnung unterschiedlicher
SQL Server Prozesse auf einem Rechner.
Und benötigt wird das dazu, den SQL Server Prozess im Netzwerk
mit einem Namen ansprechen zu können. Wenn man ohne Namen, sondern
z. B. mit TCP/IP, Port Adresse arbeitet ist der (Instanz)Name belanglos.


2. Laut Microsoft ist es nicht Möglich aus einer Default Instanz eine Named
Instanz zu machen oder umgekehrt.
Ich habe schon mehrfach gehört, dass durch Änderung bestimmter Registry Keys
dies Möglich sein soll. Nur wie?



Nicht nur wegen oben, ist das nicht wirklich möglich. Die Standard-Instanz
nutzt traditionell andere Registry-Zweige als benannte Instanzen, u. a.
zu sehen in http://support.microsoft.com/kb/290991

Da kann man natürlich dran rumbiegen nur bringt das nicht wirklich was.


3. Im SQL Server Configuration Manger lassen sich Aliase einrichten,
die nach Tests von mir aber nur Clientseitig funktionieren.



Der Alias ist nichts anderes als ein Umbiegen eines Namens auf
einen anderen (ob mit oder ohne Instanz ist dabei belanglos).
Und insofern dient er nur dazu die Verbindungsinformationen
zu ermitteln.

Und ist für alle Anwendungen, die nicht konfigurierbar sind,
normalerweise der einfachste Weg mit dem "alten" Servernamen
weiter zu arbeiten.

Ist es Möglich serverseitige Aliase einzurichten?



Die gibt es nicht, weil für den Server Prozess der Name nicht
wirklich von Bedeutung ist. Er reagiert auf alle Anmeldungen,
die auf den konfigurierten Schnittstellen erfolgen.

Einen kleinen Erfolg hatte ich, als ich den Port der Named Instanz
auf 1433, den Port der Default Instanz, geàndert habe.



Was nichts anderes ist, als andere Verbindungsdaten zu verwenden, s. o.

Dadurch war es Möglich mit SQL Server Management Studio und OSQL ohne
Angabe des Instanznamen auf die Named Instanz zu connecten!



... das Ausrufezeichen ist insofern fehl am Platze ;-)

Mit ODBC und dem Dynamics NAV Client hat dies aber leider nicht funktioniert




Alle Schnittstellen (ODBC, OLEDB, .NET) honorieren die Aliase.
Und alle Schnittstellen fragen beim SQL Server Browser Dienst nach,
sofern konfiguriert, um aus einem Namen die Verbindungsdaten zu
ermitteln: http://technet.microsoft.com/de-de/...81087.aspx

Und wenn beides stimmig ist, so klappt es auch damit.

Weitere Voraussetzung wàren, dass dabei diese Anwendungen mit
TCP/IP zugreifen, denn bei Named Pipes wàre der Name der Pipe zu
àndern. Und nicht etwa direkt eine IP-Adresse verwenden (was
leider einige "Spezialisten" gerne mal eintragen).

Um nun Deine 500 Clients anzupassen, wàre das einfachste einen
Alias übers Active Directory zu verteilen, da die in der Registry
hinterlegt sind.
Sofern Anwendungen via ODBC Eintràge zugreifen, wàre zu überprüfen,
ob dort Namen oder ggf. direkte IP/Adressen verwendet werden.

Die Änderung der IP/Port Adresse serverseitig würde ich nur als
letzte Notlösung verwenden.

Unter http://blogs.msdn.com/sql_protocols/
findest Du weitere Hinweise wie das mit den Verbindungen
funktioniert.

Gruß
Elmar

Ähnliche fragen