問題タブ [escalation]
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.
trace - トランザクションが DTC にエスカレートされる理由を追跡する
System.Transaction TrasactionScope が DTC にエスカレートされている理由を正確に判断する方法はありますか? トランザクションをエスカレートしているように見えるコンポーネントの 1 つにぶつかりましたが、他のすべてのコンポーネント (一見似ているように見えます) はエスカレーションを行いません。
エスカレーションの理由に関する情報は提供されていますか? また、それらをどのように見つけて観察することができますか? SQL プロファイラ? ログファイル?それとも、これで運が悪いのですか?
更新: 情報を得るために SQL Server 2005 に対して実行しています
sql-server - SQL Server のロック エスカレーションの問題
SQL Server ロック エスカレーションに関する MSDN ページから SQL Server ロック エスカレーションを読んでいます。
私の質問は、ロックのエスカレーションがある主な理由は、より多くのロックを維持するためにオーバーヘッドを削減することです (たとえば、テーブルに対してより多くの行ロックが取得されると、行レベルのロックがテーブルレベルにエスカレートされます)。私の質問は、より多くのロックを維持すると同時実行性が向上するということです。これは利点ですが、なぜオーバーヘッドになるのでしょうか? 私の謙虚な考えでは、ロックは、並行性を改善することによってデータベースのパフォーマンスを向上させるのに十分なほど小さくする必要があります。ロックエスカレーションが必要な理由と、いわゆるロックオーバーヘッドとは何かを簡単に説明できる人はいますか?
前もって感謝します、ジョージ
c - C 権限昇格 (パスワードあり)
root が所有するファイルの読み取り/書き込みを可能にする C プログラムを作成する必要があります。ただし、別のユーザーでしかコードを実行できません。root パスワードは知っていますが、システムに「sudo」または「su」コマンドがないため、root アカウントにアクセスする方法がありません (実際にはシェル コマンドはまったくありません)。私は UNIX パーミッションについてよく知らないので、何らかの方法でシステムを悪用したり、root 自身が所有するプログラムを (+s などを使用して) 実行したりせずに、実際にこれを行うことができるかどうかはわかりません。 . 何かアドバイス?
ありがとう!
PS いいえ、これは悪意のあるものではありません。これは iPhone 上にあります。
python - 失敗によるチェックなしでプロセスを開始するために昇格された特権が必要かどうかを判断する方法
最初に試行してから失敗することなく、サブプロセスを開始するために特権の昇格が必要かどうかを確認するにはどうすればよいですか?
Python コード内からサブプロセス コマンドを開始する必要があります。うまく動作する場合もあれば、権限の昇格が必要な場合もあります。一部の Windows システムでは、この状態によりプログラムがフリーズします。
最初にサブプロセスを実行してエラー状態をキャッチ/トラップせずに、権限昇格が必要かどうかを判断したいと思います。
プログラムをフリーズさせるプロセスは、次のように呼び出されます。
subprocess.call('パス _ ファイル名 _ オプション',shell=False)
python - Python スクリプトで権限をエスカレートする
開発中の Python GUI アプリ内で特権をエスカレートする方法を探しています。希望モデルはGUFWです。メイン プログラムを root として実行する必要がない点が気に入っていますが、「rooty」な操作を行う場合は、それを「ロック解除」する必要があります。
ユーザーのホーム ディレクトリ ツリーまたは /usr のディレクトリ (ルートの昇格が必要) に保存する必要があるテキスト ファイルを開発しているプログラムがあります。
プログラムをルートとして実行したくありませんが、プログラムを実行しているユーザーとは異なるユーザー (この場合はルート) にファイルを保存する必要がある場合は、ルート アクセスを呼び出します。
一時的な場所に保存して、次のような (ba)sh 呼び出しに戻したくありません。
可能であれば、すべて Python 内でプログラムで実行したいと考えています。将来的には、単にファイルを作成するだけでなく、ファイルの途中で何らかの追加が必要になる操作が必要になる可能性があります。
また、その保存操作が完了した後、私は権限をエスカレーション解除したいと考えています。
誰かがこの試みのチュートリアルやサンプルコードを教えてくれませんか?
よろしく、
ナルニー
.net - MSDTC エスカレーションを引き起こす入れ子になった TransactionScope や入れ子になった接続
アプリケーションで MSDTC エスカレーションを回避しようとしています。SQL Server Express 2008 R2 で LINQ を使用していますが、後でフル バージョンを使用する予定です。
必要に応じて接続を作成し、できるだけ迅速に破棄するデータベース ラッパー クラスを作成しました。接続文字列は、すべての接続で同じままです。
これは私のクラスの非常にスリム化されたバージョンです:
次のように使用します。
PerformConnectionAction メソッドの内容をロックして、一度に 1 つしか実行できないようにすると、すべてが機能しますが、パフォーマンスが著しく低下します。ただし、削除するとエスカレートします。
ラッパーを使用しているコードは TransactionScope を使用しており、TransactionScope のネストおよび/または PerformDataContextAction または PerformConnectionAction の呼び出し (それぞれが同じ接続文字列で新しい接続を作成する) が存在する可能性があります。疑似コードで (これは異なるクラス/メソッドで発生する可能性があるため):
また、さまざまな時点で発生する可能性のある静的メンバーシップ メソッドが使用されていることにも注意してください。
また、接続文字列が次のようになっていることも付け加えておきます。
問題は、MSDTC を使用せず、ロックを導入せずに、アプリケーションが適切に動作するようにコードをリファクタリング/リライトするにはどうすればよいかということです。
ありがとう
c# - Entity Framework 6 は、同じデータベースを参照する複数のコンテキストを使用する場合にトランザクションのエスカレーションを防止します
問題にぶつかりましたが、答えが見つかりません (または、Google のスキルが本当にばかげています)。
私たちのソリューションは、ASP MVC4 C# Web サイトと複数のクラス ライブラリです。MS SQL2008 と EntityFramework 6 を使用しています。
Foo と Bar のオブジェクト タイプがあるとします。Foo には Bar オブジェクトが含まれています。Foo を保存したら、Bar を保存する必要があります。Foo と Bar を保存するメソッドは、異なるクラス ライブラリで定義されています。各ライブラリには、同じベースの関連スキーマからのテーブルを含む独自のエンティティ モデルがあります。問題は、トランザクションを使用していて、Bar を保存するメソッドを呼び出すと、トランザクション レベルで "MSDTC 無効" 例外がエスカレートすることです。
MSDTC を使用せずに、同じベースを参照する別のエンティティ モデルを使用する方法はありますか?
sql-server - ロックエスカレーションの原因究明
SQL Server プロファイラーの実行中に、いくつかの Lock:Escalation に達しました。Lock:Escalation イベントと同じ SPID を持つステートメントを検索したところ、delete ステートメントの 1 つがこれを引き起こしていることがわかりました。
そのような場所でロックのエスカレーションが発生する理由を調べる方法はありますか?
ステートメントは次のようになります。