SQL Upgrade von SQL Server 2019 auf 2025 / Problem mit sqlcmd

r0b0t

Lt. Junior Grade
Registriert
Juni 2010
Beiträge
271
Hallo, ich habe kürzlich von SQL-Server 2019 auf 2025 upgegradet. Funktioniert auch fast alles. SQL Server Management Studio und meine Software können sich connecten, die Daten sind alle da, einzig sqlcmd kann sich nicht connecten.
Ich habe früher per cmd:
Code:
sqlcmd  -S \\.\pipe\MSSQL$SQLEXPRESS\sql\query -d DBNAME -f 65001 -W -h -1 -i "Abfrage.sql" -o "Ausgabe.txt"
automatische Auswertungen gestartet. Das funktioniert nun nicht mehr.
Code:
sqlcmd -S \\.\pipe\MSSQL$SQLEXPRESS
ergibt
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SQL Server-Netzwerkschnittstellen: Die Verbindungszeichenfolge ist ungültig [87]. .
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Anmeldungstimeout abgelaufen.
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit \\.\pipe\MSSQL$SQLEXPRESS. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. Weitere Informationen erhalten Sie in der SQL Server-Onlinedokumentation..

Da scheint sich irgendwas an der Syntax geändert zu haben.
Code:
sqlcmd  -L
ergibt:
Servers:
(local)
DELL1

DELL1 ist der Name des Rechners, also scheint er den DB-Server schon mal zu finden. Das alles spielt sich nur lokal auf einem einzelnen Rechner ab. Datenbank und Auswertungen laufen unter Windows 10 (mit ESU).
Code:
sqlcmd -S DELL1
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Named Pipes-Anbieter: Es konnte keine Verbindung zu SQL Server hergestellt werden [2]. .

Hat da jemand einen Tipp?
 
Mit SQL Server 2025 müsste das ganze Trusted Connection Thema standardmäßig aktiv sein, es kann sein dass das auch Pipes betrifft, da hat sich zwischen 2019 und 2025 so einiges geändert.
 
  • Gefällt mir
Reaktionen: madmax2010
Beim SQL Server Management Studio steht unter Verbindungseigenschaften:
Servername: DELL1\SQLEXPRESS
Authentifizierung: Windows-Authentifizierung
Datenbankname: <Standard>
Verschlüsseln: Optional (hatte ich geändert)
Häkchen bei Serverzertifikat vertrauen (hatte ich geändert)
mit:
Code:
sqlcmd -S tcp:DELL1\SQLEXPRESS
Code:
sqlcmd -S tcp:127.0.0.1\SQLEXPRESS
oder der Rechner IP ergibt es jeweils:
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SQL Server-Netzwerkschnittstellen: Fehler beim Suchen des angegebenen Servers/der angegebenen Instanz [xFFFFFFFF]. .
Da kann man sich nicht beschweren, dass der DB-Zugang nicht gut geschützt ist.
 
So, für mich gelöst.

Die mit SQL 2025 mitgelieferte sqlcmd-Version funktioniert irgendwie nicht mehr.
Aber es gibt eine neue wohl in Go (nicht: togo für die Hosentasche) entwickelte Version, die man hier herunterladen kann:

https://github.com/microsoft/go-sqlcmd/releases/tag/v1.9.0
Ich habe mir das ZIP-File sqlcmd-windows-amd64.zip heruntergeladen und entpackt.
Die darin enthaltene sqlcmd funktioniert so wie von mir oben im Eingangspost erwähnt. Einzig der Parameter -f ist ihr unbekannt. Da muss ich erst prüfen, ob sie das standardmäßig im passenden Zeichensatz rausschreibt oder anders eingestellt werden muss.

Siehe dazu auch: https://learn.microsoft.com/de-de/s...ad-install?view=sql-server-ver17&tabs=windows

Danke an alle Helfer
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Innensechskant
Zurück
Oben