Verbindung zu einer benannten MS-SQL-Instanz herstellen

Microsoft SQL Server (MS-SQL) bietet die Funktion benannte Instanzen. Mit dieser Funktion können Sie mehrere Datenbanken mit separaten Einstellungen auf demselben Host (oder auf geclusterten Hosts) ausführen. Jede Datenbankinstanz wird auf einem eigenen Port ausgeführt. Wenn Sie jedoch MS-SQL-kompatible Clients verwenden, die unter Windows ausgeführt werden, können Sie eine Verbindung per Name anstelle per Portnummer herstellen. Wenn Ihr Hostname beispielsweise dbserver und Ihre Instanz proddb heißt, stellen Sie eine Verbindung über den Hostnamen dbserver\proddb her.

Verbindung mit benannten MS-SQL-Instanzen

  1. Ihr Client kontaktiert den Host, der auf dem Standard-MS-SQL-Port (1433) benannt ist.
  2. MS-SQL antwortet mit dem Port der benannten Instanz.
  3. Der Client stellt dann eine Verbindung zu diesem Port her.

Looker kann die Portnummer einer benannten Instanz auf diese Weise nicht finden. Sobald Looker eine Verbindung zu einem Port herstellt, erwartet es, Abfragen ausführen zu können, und stellt keine Verbindung zu einem anderen Port her.

MS-SQL-Instanz mit Namen mit Looker verbinden

MS-SQL wählt beim Start einen zufälligen Port aus. Damit Looker eine Verbindung zu einer benannten MS-SQL-Instanz herstellen kann, müssen Sie den Port ermitteln, auf dem die benannte Instanz ausgeführt wird:

  • Im Artikel SQL Server – TCP-Portnummer ermitteln, auf die die SQL-Instanz wartet wird beschrieben, wie Sie den Port ermitteln. Obwohl der Artikel aus dem Jahr 2012 stammt, ist das Verfahren in den verschiedenen Versionen von MS-SQL ähnlich.
  • Nachdem Sie den Port gefunden haben, können Sie den Portnamen in das Feld Host:Port in der Datenbankverbindungskonfiguration von Looker eingeben. Wenn der Port beispielsweise 61499 und der Host dbserver heißt, sieht die Verbindung in Looker so aus:

      host: dbserver
      port: 61499
  • HINWEIS:Der Hostname der Datenbank hat nicht das Format dbserver\proddb, wie es der Fall wäre, wenn Sie eine Verbindung über den Instanznamen herstellen würden.
  • Beachten Sie, dass MS-SQL bei jedem Neustart des Servers möglicherweise einen anderen Port für die benannte Instanz auswählt. Möglicherweise müssen Sie in MS-SQL die Firewallregeln ändern und Looker so konfigurieren, dass der neue Port verwendet wird. Um zu vermeiden, dass sich Ports ändern, können Sie Ihrer benannten Instanz einen statischen Port zuweisen. Weitere Informationen finden Sie unter How to Assign a Static Port to a SQL Server Named Instance – and Avoid a Common Pitfall (Einem benannten SQL Server-Server einen statischen Port zuweisen – und eine häufige Falle vermeiden).