問題タブ [invoke-sqlcmd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 「Invoke-Sqlcmd」はコマンドレットの名前として認識されません
最近、SQL Server 2012 SP3 の使用と、PowerShell スクリプトを使用した SQL Server 2012 の構築を開始しました。私たちの自動化プロセスには、データベース上で複数のデータベース スクリプトを実行するという要件があり、Invoke-Sqlcmd
この問題を発見するまでは非常に信頼できるものでした。
最近 SQL サーバーがインストールされたシステムで、PowerShell のデバッグ モードで適切なパラメーター セットを使用して実行するInvoke-sqlcmd
と、問題は発生しません。
PowershellCommand : Invoke-Sqlcmd -InputFile $sStrJBSPExecRolePath -ServerInstance $sStrSQLName -ErrorAction Stop
しかし、同じサーバーを再構築した後、PowerShell オートメーション スクリプトを使用して同じクエリを実行すると、以下のエラーが発生します。
「Invoke-Sqlcmd」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから再試行してください。
SQLPS のインポートなどを提案する多くのオンライン調査を行ったので、テストのためにスクリプトに以下のコマンドを追加しました。
上記をスクリプトに追加した後でも、同じエラーが発生します。しかし、同じスクリプトを手動で実行すると、まったく問題なく実行されます。何が悪いのかわかりません。
PowerShell オートメーション スクリプト - このスクリプトは、.Net Framework 3.5、SQL Server 2012、SQL Server 2012 SP3 をインストールし、SQL の最大メモリ制限などの SQL 設定を変更するために使用する SMO アセンブリを読み込みます。
sql-server - Invoke-sqlcmd からリモート サーバーへの問題: ファイルが見つかりませんでした
invoke-sqlcmd を使用して 1 つのリモート サーバーに対してのみ tsql クエリを実行する PowerShell スクリプトを作成しようとしています。これらの tsql クエリは、データベースのバックアップ/復元、ユーザーの作成などの単純なものです。以下はその抜粋です。
私のスクリプトはいつもここで壊れます。頭を抱えることができなかったいくつかの理由により、invoke-sqlcmd は変数「$LScltid」を使用して、.sql スクリプトを見つけるパスを解決しません。
実行する必要があるたびに、現在のディレクトリが SQLERVER:\ プロバイダーまたはその他のいずれかに変更され、このステップでスクリプトが失敗しました。
私はこれを正しい方法でやっていますか?もしそうなら、コマンドを期待どおりに実行するにはどうすればよいですか?
UPDATE 変数値をハードコードしてスクリプトを実行すると、必要な結果を得ることができます(この場合、デバイスからデータベースを復元します)。
フィードバックをお寄せいただきありがとうございます。
sql - Invoke-Sqlcmd が SQL で機能しない
SQL Powershell で次のコマンドを使用して、SQL から返されたデータの csv を生成しています。
上記のコマンドは、SQL Power Shell で問題なく動作します。しかし、次のコードを使用してSQLから実行しようとしたとき
それはエラーを与える
「Invoke-Sqlcmd」は内部コマンドまたは外部コマンドとして認識されません。
誰でもSQLからコマンドを実行するのを手伝ってください。
ありがとう
powershell - 非対話モードで Invoke-SQLCMD コマンドレットを実行する方法
Invoke-SQLCMD
PowerShell スクリプト (.ps1) を使用してコマンドレットを実行すると、コマンドレットが機能しない
次のエラーがログに記録されます。
[エラー] Windows PowerShell は非対話型モードです。読み取りおよびプロンプト機能は使用できません。[エラー] プロセスは終了コード 0 で完了し、エラー ストリームに 1 個のエラーが書き込まれました。
対話型ウィンドウから実行すると、ユーザーの確認が求められます。
Yes
スクリプトを介して実行されたときにデフォルト値を渡す回避策はありますか?
sql - Invoke-Sqlcmd2 がエラーで終了しない
失敗時に関数Invoke-Sqlcmd2
が残りのスクリプトを終了しないようにする方法はありますか?
このコマンドが失敗した場合でも、スクリプトの残りの部分を引き続き実行したいと考えています。
コードを掘り下げましたが、パラメーターと関係があると思い-ErrorAction
ます。
以下は、スクリプトの 488 行目です。
このコマンドを「非終了」にする方法についてのアイデアはありますか?
解決策: 情報をありがとう。最終的に、invoke-sqlcmd2 のエラー処理セクションを try-catch トラップでラップしました。
powershell - Powershell Invoke-sqlcmd2 - 'GO' 付近の構文が正しくありません
の構文エラーが発生しますIncorrect syntax near 'GO'
。いくつかの方法を試しましたが、そのうちの 1 つが機能しました。誰でも私に説明できますか?
invoke-sqlcmd2 のソース: https://github.com/RamblingCookieMonster/PowerShell/blob/master/Invoke-Sqlcmd2.ps1
働いた:
うまくいきませんでした:
powershell - サーバープロパティエディションの複数のコンピューターのpowershellで-Sqlcmdを呼び出す
以下のコマンドを実行しようとしています。
出力には次のように表示されます。
実際の結果を表示するにはどうすればよいですか?