SQL ALIAS für Instanz
-
Montag, 30. Januar 2012 13:31
Hallo,
ich wollte mal fragen wie eure Erfahrungen so sind, wenn man eine SQL Alias erstellt, indem die Instanz mit angegeben wird.Funktioniert das zuverlässig. Soweit ich mich erinnern kann, gab es da mit SQL2005 und Aliasen mit Instanznamen doch noch Schwierigkeiten.
Danke
Markus- Typ geändert Raul TalmaciuMicrosoft Contingent Staff, Owner Montag, 6. Februar 2012 08:26 Warten auf Feedback
Alle Antworten
-
Montag, 30. Januar 2012 15:11
Hallo Markus,
ich verwende Aliase seit SQL Server 7.0 und hatte da eigentlich nie Probleme,
vorausgesetzt alle Clients kannten ihn.Gruß Elmar
-
Dienstag, 31. Januar 2012 08:50
Hallo Elmar,
Vielen Dank für deine Antwort.
Du verwendest den SQL Alias und einen DNS Alias ? um den Weg flexibel zu halten.
Was meinst du mit "alle Clients kannten" ?Wenn sich ein Rechner auf den SQL Server verbindet, dann wird ihm der Alias, vorausgesetzt der Broker läuft doch bekannt gegeben.
Oder verstehe ich da was falsch.Ziel:
Bis jetzt habe ich noch keine Instanzen auf einem SQL Server eingesetzt. Das wäre aber eine möglich Option für den neuen Server.
Dann muss ich aber sicherstellen, dass die Connection an den vielen Clients draußen auch funktioniert ohne dass ich diese Anfassen muss.
Deswegen war meine Idee mit SQL und DNS Aliasen zu arbeiten. Ohne SQL Alias kann ich nicht auf die Instanz umleiten.
Oder gibt es einen anderen und besseren Weg ?Gruß
Markus -
Dienstag, 31. Januar 2012 09:13
Hallo Markus,
Aliase sind Bestandteil der SQL Server Client Konfiguration, gelten also je Client (Rechner) -
was ggf. man über eine GPO Richtlinie verteilen könnte.Etwas anderes wären Server Principal Names (SPN) im Active Directory,
womit man es im AD zentralisieren kann.Und wenn die Kunden mit DNS rumspielen möchten, so sei es ihnen gestattet,
vorausgesetzt der Name kann aufgelöst werden ;-)Der SQL Server Browser Dienst kennt nur die Instanznamen aus der Registry -
mit Aliasen, FQDN und/oder DNS hat er nichts am Hute.Ansonsten gilt auch hier KISS ;-)
Gruß Elmar
-
Donnerstag, 2. Februar 2012 08:51Besitzer
Hallo Markus,
hat Dir die Antwort von Elmar geholfen? Wenn ja, bitte diese auch als Antwort markieren so dass auch andere davon profitieren können.
Gruss,
RaulRaul Talmaciu, MICROSOFT

Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Montag, 6. Februar 2012 17:31
Hallo,
das beantwortet mir schon einige Fragen aber leider ist mir das noch nicht ganz so klar.
Ich versuche mal die verschiedenen Möglichkeiten aufzuzeigen, wie ich sie verstanden habe:DNSAlias: z.B: C_Name = DB1 auf realen Namen = SQLServer1
Der Client conncted sich auf den DNS Alias also auf DB1
Bei einer Standard Instanz ist das kein ProblemMit einer Named Instance ist das auch kein Problem wenn man den connection String so einrichtet: DB1\Instance1
Wenn ich nun aber genau das nicht will, dass ich hinter dem DNS Alias noch ein Instanz angeben muss,
möchte ich doch gerne wissen ob es eine Mögichkeit gäbe hier den Connection String einzutragen OHNE Instanz.
Also z.B. DB1:1434 oder ....Was ich aber immer noch nicht so ganz verstanden habe, muss ich jetzt ehrlich gestehen, ist wofür ich einen SQL Alias überhaupt einsetzen kann ?
ich dachte immer dass ich hier eintragen kann im SQL Server Configruration manager - Alias Name: DB1 den Port: 1434 Protocol: TCP/IP und als
Server: DB1\Instance1
Das funktioniert aber nicht, da er wenn ich im Client einen connect eintrage immer auf die Standardinstanz connectet aber nicht auf die Instance1 !!Deswegen ist mir die Funktion des DNS Aliases noch etwas schleierhaft.
Vielen Dank
Markus -
Montag, 6. Februar 2012 17:58
Hallo Markus,
Dir muss bewusst sein, dass DNS und Rechner/Instanznamen zwei unterschiedliche Dinge sind.
DNS dient nur der Auflösung von TCP/IP Adressen im Netzwerk ist beschränkt auf TCP als Netzwerkprotokoll.
Der SQL Server Name entspricht dem Rechner- bzw. Computernamen,
was ursprünglich von den NETBIOS Namen herrührt -
mit Active Directory wird es durch die Bewaldung etwas komplizierter ;-)Der SQL Server Name in @@SERVERNAME muss mit dem Rechnernamen übereinstimmen.
Wenn Du in der Client Konfiguration wiederum einen Alias hinterlegst,
so kannst Du dort alle gültigen Adressierungsarten für das Netzwerk verwenden.
Für TCP/IP gilt dabei: Erstellen einer gültigen Verbindungszeichenfolge mithilfe von TCP/IPDen so erstellten Alias kannst Du bei der Verbindung anstatt des sonst
erforderlichen Namens (und so auch ohne Instanzangabe) verwenden.Gruß Elmar
-
Montag, 6. Februar 2012 18:34
Ok.
Vielen Dank ich werde es morgen (hoffentlich wenn nichts dazwischen kommt) mal probieren.
Das der SQL Alias und DNS Alias nichts miteinander zu tun haben ist schon klar.
Allerding ist mir noch nicht so ganz klar wie ich das eine mit dem anderen benutzen kann um folgendes zu erreichen:
Wenn ein Server aus welchen Gründen auch immer mal defekt geht, ich die Datenbank einfach umziehen kann, ohne an den Clients hand anlegen zu müssen.
Deswegen der DNS Alias. Das ist mit einer Instanz aber nur die halbe Miete, da ja noch der Instanzname dazu kommt. Sprich
DB1\Instance1Bedeutet im Fehlerfall, dass ich einen 2ten SQL Server haben mussen, dessen Instanz den gleichen Namen hat, wie die des Servers der ausgefallen ist.
Und um dies zu vereinfach suche ich nach einer gangbaren und einfahen Methode dies zu realisieren.
Gruß
Markus -
Montag, 6. Februar 2012 20:30
Hallo Markus,
das ist nicht dafür gedacht, damit eine Backup-Server Lösung aufzubauen,
und es darüber zu realisieren wäre zu viel erwartet.Wichtig ist letztendlich der Rechner-/SQL Server Name, nicht zuletzt weil daran
andere Dinge wie Authentifizierung und vor allem die Daten(banken) hängen.Dafür eignen sich besser Failover Cluster oder Datenbankspiegelung,
als einfachere Lösung, siehe dazu Hochverfügbarkeitslösungen – Übersicht
Und für Datenbankspiegelung ist der Support im Native Client bereits eingebaut
Gruß Elmar
- Bearbeitet Elmar BoyeMVP Montag, 6. Februar 2012 20:32 Native Client Ergänzung
-
Dienstag, 7. Februar 2012 07:10Beantworter
Hallo Markus,
ergänzend zu den Infos von Elmar, hier der Hinweis auf einen Artikel, wo ich beschrieben habe, wofür man die ALIAS-Namen einsetzen kann:
http://www.insidesql.org/blogs/cmu/sql_server/ssis-pakete-verteilenDamit erleichtert man sich enorm die Handhabung von unterschiedlichen Servernamen für Entwicklung und Produktion, oder den Umzug von SSIS/SSRS-Paketen auf andere Server.
Für Hochverfügbarkeit verwende besser den Native Client, wie von Elmar beschrieben.
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu

