2016-09-28 4 views
0

SQL Server上でセッションを確立する方法について質問したいだけです。 シナリオの例は、あるユーザーが現在テーブルの列にアクセスしているときに、他のユーザーがそのユーザーの値(データ)にアクセスできない、つまり各ユーザーが同時に取引できないということです。出来ますか?Session on SQL SERVER 2008

+0

存在しない用語や既存の用語を間違った方法で使用しているため、質問はあまり意味がありません。あなたは「セッション」をどういう意味ですか?データベースにはそのような用語はありません。あなたは「トランザクション」を意味するかもしれませんが、それは完全性を保証するために必要ではありません。複数のユーザーが同じデータを読み込んだり、シナリオを読み書きすることも問題ありません。あなたの*実際の*問題は何ですか?一度に1人のユーザーにアクセスを制限する必要があるのはなぜですか? –

+0

質問の文言は混乱しています。単一のユーザーへのアクセスを制限したいのですか、またはアクセスが制限されていて複数のユーザーを許可したいと思いますか?異なるトランザクションレベルを使用することも、スナップショットの分離を使用して問題を解決することもできます。トランザクションを回避するために、クライアント上で楽観的同時実行性を使用できます。しかし解決したい*問題を説明しなければなりません –

+0

実際の問題は、システムに与えられた複数のユーザーがいることです。私は複数のユーザーが列にアクセスするのを防ぐことを試みています。たとえば、ユーザー1が現在テーブルAの列1の値にアクセスしているとき、他のユーザーはテーブルAのその列にアクセスしようとしているときにその値を表示できません。 – MDP

答えて

0

データベースへの接続のロックプロパティを調べる必要があります。デフォルトではテーブルはロックされていると私は信じています。これを覆すことができるはずです。

+1

これは間違っています。あなたはロックとトランザクションを混同しています。テーブルはデフォルトでは「ロックされていません」。接続にロックプロパティはありません。トランザクション分離モードによれば、サーバは特定のオブジェクト(例えば、読み書き中の行)をロックします。 –