問題タブ [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.

0 投票する
2 に答える
631 参照

sql - SQLクエリの結果をPowershell文字列変数に保存するには?

MSSMS でデータベースにクエリを実行するために、invoke-sqlcmd を使用しています。これは問題なく動作します。クエリを X 回実行するループがあり、クエリはキーコードを返します。TGHDWS4.

このキーコードは、powershell の文字列として必要です。次に、文字列を配列に追加します。

私が試した唯一のことは、invoke-sqlcmd を使用することです。接続の作成と接続の終了方法を使用するネット上の他の例を見てきましたが、可能であればそれを行う必要はありません。

以下のコードは私がいるところです。キーコード (クエリから返された) を文字列として配列に追加するにはどうすればよいですか?

0 投票する
1 に答える
2365 参照

powershell - Invoke-SqlCmd からのエラーのキャッチ

ファイル内のすべてのサーバーとデータベースに特定のログインとユーザーを作成するために、サーバーと各サーバー上のデータベースに関する情報を含む CSV ファイルとして入力として受け取る Powershell スクリプトに取り組んでいます。このスクリプトは、Invoke-SqlCmd を使用して SQL コマンドでログインとユーザーの作成を試み、その結果を新しい CSV ファイルに出力します。ログインとユーザーの追加に成功した場合は成功メッセージとともにデータが出力され、いずれかのコマンドが失敗した場合は失敗メッセージとともにデータが出力されるはずです。現在、Invoke-SqlCmd エラーがある場合、スクリプトは失敗があったことを認識せず、実行が成功したことを出力します。

SQL コマンドが失敗したことを実際にキャッチして正しいメッセージを出力するように、Try/Catch ブロックを記述する方法を理解するための助けが必要です。

これらのセクションの現在の Try/Catch ブロック:

上記のコードを実行すると、Invoke-SqlCmd の実行時に問題が発生したことがわかると思いますが、次のエラーが表示されますが、スクリプトは実行が成功したことを出力します。

Invoke-Sqlcmd とエラー処理 ( sourcesource ) に既知の問題があることは知っていますが、このような状況でスクリプトに正しいメッセージを出力させる方法はありますか? 現在、手動で出力ファイルにアクセスし、メッセージを成功から失敗に変更しています。これは作業環境にあるため、スクリプトを編集せずに他の人が実行できるようにしたいと考えています。私は単純な間違いを犯しているだけですか?

どんな助けでも大歓迎です!

0 投票する
2 に答える
381 参照

azure-sql-server - Azure で MFA を使用するアカウントで Invoke-Sqlcmd

MFA が有効になっている Azure AD アカウントで PowerShell を使用して SQL コマンドを実行するオプションを知っている人はいますか? 代替手段とは何ですか?そのためにサービス プリンシパルを作成する必要がありますか?

運が悪かったのですが、このコマンドレットしか見つかりませんでしたが、 Add-SqlAzureAuthenticationContext 実行しようとするInvoke-Sqlcmdと次のエラーが発生します。

Invoke-Sqlcmd : 対象のプリンシパル名が正しくありません。SSPI コンテキストを生成できません。

0 投票する
1 に答える
125 参照

sql - Invoke-sqlcmd がデータを行で返さない

Invoke-Sqlcmd はデータを行で返さず、各項目を個別にリストします

これは私が使用しているコードです:

私はこのようなものを得る:

列に出てこないのはなぜ?