Ich habe sqlcmd.exe
von SQLServer 2008 und SQLServer 2012:
Durch die Änderung von $env:PATH
erzwinge ich die Verwendung von sqlcmd.exe
von SQL Server 2012:
Die Standardinstanz von LocalDB wird ausgeführt und gehört dem aktuellen Benutzer:
%Vor% Jetzt kann ich den Befehl auf (localdb)\v11.0
mit sqlcmd.exe
Aber wenn ich das gleiche mit Invoke-Sqlcmd
versuche, bekomme ich einen Verbindungsfehler:
Was kann ich tun, damit Invoke-Sqlcmd
mit (localdb)\v11.0
verbunden wird?
Bekam das aus ein paar anderen Quellen, scheint soweit zu funktionieren.
und
Wie kann ich PowerShell mit .NET ausführen? 4 Laufzeit?
Eine weitere Möglichkeit, PowerShell und LocalDB zu spielen, besteht darin, PowerShell auf DOTNET 4.0.3 aufmerksam zu machen. Dies kann durch Erstellen einer Datei namens "powershell.exe.config" in C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 erfolgen. Die Datei sollte Folgendes enthalten:
%Vor%Beachten Sie, dass dies keine offiziell unterstützte Methode für die Verwendung von PowerShell ist, sodass es möglicherweise andere Probleme verursacht ...
Ich habe dies kürzlich bei der Arbeit gemacht und hatte einige anfängliche Probleme beim Verbinden mit einer lokalen Datenbank. Um es zum Laufen zu bringen, habe ich den folgenden Code ausgeführt:
%Vor%Das hat für mich funktioniert und ich konnte die Datenbank abfragen. Offensichtlich ändern Sie die Details für Benutzername, Passwort und Datenbankparameter in den Namen Ihrer Datenbank in der SQL-Instanz.
Dies ist Code, der für mich unter widrigen Bedingungen funktioniert (siehe meine Kommentare direkt nach dem Code). Ich vermute, dass einfacherer Code in einer allgemeineren Umgebung funktioniert, aber ich habe mich nicht damit beschäftigt.
Der Instanz-Pipe überschreitet nach einigen Minuten das Zeitlimit. Es ist besser, wenn Sie eine Verbindung mit (localdb) \ instanzname herstellen können, da diese Verbindungen scheinbar nicht ausgelaufen sind.
%Vor%Aus Gründen, die derzeit außerhalb meiner Kontrolle liegen, ist die Ausführungsumgebung, in der diese ausgeführt wird, ungewöhnlich. Es handelt sich um eine Remote-Ausführungsumgebung mit einem unvollständigen Sitzungskontext. Außerdem musste ich USERPROFILE neu definieren, um einige andere Probleme zu umgehen.
[später bearbeiten: Ich habe kürzlich eine Möglichkeit gefunden, das Timeout zu verlängern - ich musste nach dem 2. eine RECONFIGURE hinzufügen sp_configure und (wie empfohlen) stoppen und starten Sie die localdb, damit sie wirksam wird]]
Tags und Links powershell sql-server-2012 localdb sqlps