Verbindung von SQL Server Express zu Power BI mit SQL Server-Authentifizierung
Problem
Du willst einige Dinge in Power BI testen oder, wie ich, für deine PL-300 Zertifizierung lernen
Du hast SQL Server Express lokal installiert, aber Power BI kann sich nicht mit den Server- oder DB-Anmeldeinformationen mit ihm verbinden (kein Active Directory verfügbar)
Im SQL Server Management Studio funktioniert alles, der SQL Server-Benutzer wurde in der DB erstellt und hat db_datawriter- und db_datareader-Rechte für die Datenbank erhalten
Aber Power BI lädt diese verdammten AdventureWorks-Daten nicht mit deinen SQL Server-Anmeldeinformationen
Lösung
Die Grundlagen
Stelle zunächst sicher, dass du, wie oben in den Screenshots aufgeführt, einen DB-Benutzer mit Leserechten für die betreffende Datenbank AdventureWorksDW2020 erstellt hast. Hier ist eine gute Anleitung von Abhith Rajan, wie man dies tun kann
Überprüfe zweitens, ob die „Named Pipes“ und TCP/IP-Protokolle für deine SQL Express-Installation aktiviert sind, indem man den SQL Server Configuration Manager in der MMC konfigurieren kann
Vergewissere dich natürlich, dass die Serverdienste gestartet sind und funktionieren, aber wahrscheinlich hast du das in SSMS gesehen
Du hast natürlich auch den SQL Server-Dienst neu gestartet, nachdem du die lokalen DB-Konten erstellt hast, richtig?
Der wahre Trick
Ich konnte dies zum Laufen bringen, indem ich einen Alias für den SQL-Server erstellte; selbst localhost funktionierte nicht ohne weiteres mit aktiviertem TCP/IP und Named Pipes
ABER es scheint, dass du mit SQL Server Express keine Aliase im SQL Server Configuration Manager erstellen kannst. Ich nehme an, dass dies eine Lizenzierungsfunktion ist, mit der Microsoft dich dazu ermutigen will, eine echte Version von SQL Server zu kaufen, wenn du dich mit „fortgeschrittenen“ Netzwerken beschäftigst.
So erstellst du den Alias für deine DB: Es gibt ein geheimes Tool im system32-Ordner, mit dem du Aliase in SQL Express erstellen kannst
„C:WindowsSystem32cliconfg.exe“ ist ein älteres SQL-Client-Konfigurationswerkzeug, das Teil der gesamten ODBC-Suite von Windows ist.
Hier kannst du einen Alias erstellen. Mit dem Alias „localhost“ konnte ich mich endlich mit meiner SQL Express-Instanz verbinden, indem ich die SQL-Authentifizierung statt der Windows-Authentifizierung verwendete