Ein neues Feature innerhalb des SQL Server 2012 ist die Option “Read Only Routing”. Dadurch können Abfragen eines Clients durch einen speziellen Connection String, direkt an einen Secondary-Server weitergeleitet werden. Das hier gezeigte Bespiel baut auf den Artikel I – III auf.
Wie funktioniert nun das Ganze? Als Erstes stellt der Client durch einen bestimmten Connectionstring (ApplicationIntent=ReadOnly) Option eine Anfrage auf den Primary-Server.
Dieser kann dann zur Entlastung die Abfrage an den gewünschten Active Primary-Server weiterleiten.
Zum konfigurieren gehen Sie wie folgt vor. Öffnen Sie als erstes das SQL Server Management Studio 2012 auf Ihrem Primary Server. Als erstes müssen wir den READ_ONLY_ROUTING_URL-Wert konfigurieren. Öffnen Sie eine neue Abfrage innerhalb des SSMS. Geben Sie nun den folgenden TSQL-Befehl ein:
ALTER AVAILABILITY GROUP pwa MODIFY REPLICA ON N‚BL-SQL2012-01‘
WITH (SECONDARY_ROLE(READ_ONLY_ROUTING_URL=N‚tcp://BL-SQL2012-01:1433‘))
Führen Sie diesen Befehl für jeden Knoten in Ihrer Umgebung durch. Als nächstes können wir das Routing einrichten. Hierzu gehen Sie wie folgt vor. Geben Sie nun für jeden Knoten Ihre Konfiguration ein.
ALTER Availability GROUP pwa
MODIFY REPLICA ON 'BL-SQL2012-01' WITH(
PRIMARY_ROLE
(
--Erlaube Verbindungen = READ_WRITE
READ_ONLY_ROUTING_LIST=('BL-SQL2012-04', 'BL-SQL2012-03', 'BL-SQL2012-01')
)
)
Mit dieser Konfiguration lege ich fest, dass wenn der Knoten BL-SQL2012-01 aktiv ist, sollen die Abfragen zuerst an BL-SQL2012-04, dann an BL-SQL2012-03 und zum Schluss an BL-SQL2012-04 weitergeleitet werden.
Nun möchte ich weiterhin konfigurieren, dass – wenn Knoten BL-SQL2012-02 aktiv ist, die Read Only Abfragen zuerst an den BL-SQL2012-03, dann an BL-SQL2012-04 und zum Schluss an BL-SQL2012-01 gesendet werden.
ALTER Availability GROUP pwa MODIFY REPLICA ON 'BL-SQL2012-02' WITH (
PRIMARY_ROLE
(
--Erlaube Verbindungen = READ_WRITE
READ_ONLY_ROUTING_LIST=('BL-SQL2012-03', 'BL-SQL2012-04', 'BL-SQL2012-01')
)
)
Schreibe einen Kommentar