3


1

私はMicrosoft.Practices.EnterpriseLibraryを使用して数千の異なるストアドプロシージャを呼び出す.net 3.5 Webサイトを持っています。

我々は多くのタイムアウトを得ていて、ストアドプロシージャのテーブル結合の最後で(nolock)の使用を試してテストした後、実際にうまく働きタイムアウトを減らしました。

私は今これをすべてのspsにしたいです。 すべてのテーブル名に(nolock)を追加できますが、SQLの "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED"で分離レベルを設定することをお勧めします。

私はこれをすべてのspの先頭に追加したくないので(たくさんあるので)、接続に追加する方法を探していました。

spを呼び出すコードの例は次のとおりです。

public static int ExecuteNonQuery(文字列sStoredProcedureName、params object [] parameterValues){Data.Database db = Data.DatabaseFactory.CreateDatabase(); using(DbCommand command = db.GetStoredProcCommand(sStoredProcedureName、parameterValues)){return db.ExecuteNonQuery(コマンド); }}

私はこの設定はweb.configの中の設定であると思っていますが、それが何であるか、あるいは私が正しい軌道に乗っているかどうかはわかりません。

任意の助けは本当に感謝しています。

乾杯アムジッド

1 Answer


1


私はあなたがSQL Serverを使用していると思いますか?

データベースで* READ COMMITTED SNAPSHOT *を設定してみてください。

詳しくはこちらをご覧ください。