2

最近、Microsoft SQL Server Management Studio Express 9.00.4035.00 をインストールして使用し、ホストの SQL Server 2005 でリモート データベースを管理しています。

今まで EMS SQL Manager 2011 Lite を使用していましたが、問題なく動作していました。

今朝、テーブルの 1 つに 2 つの新しい行が挿入されました。1 つは顧客がサービスにサインアップし、もう 1 つは私がテスト サインアップしたものです。

典型的な選択クエリを実行すると:

[Select top 20 * From tblNotary Order By ID Desc] 

最新の 2 行が表示されません。しかし、EMS SQL Manager Lite から同じクエリを実行すると、レコードが表示されます。

また、MS Access 2010 を使用して接続すると、テーブルに 2 つの新しい行が表示されることも確認しました。接続設定を確認して再確認しましたが、EMS と一致しています。

私が見逃している設定や明らかなものはありますか?最新のレコード挿入が表示されないのはなぜですか? Windows 7 デスクトップ マシンを使用しています。

4

3 に答える 3

1

最も可能性の高い理由は、予想とは異なるデータベースに接続していることです。select @@servername両方のクエリが同じサーバーに対して実行されていることを確認できます。

レコードが開いているトランザクションの一部として挿入されていて、コミットされていない場合、それらは「ファントム」行と呼ばれます。クエリがトランザクション分離レベル read committed以上で実行されている場合、ファントム行は表示されません。EMS SQL Manager Liteがで実行されている可能性がありread uncommittedます。その場合、クエリにファントム行が含まれます。

于 2012-10-10T14:26:28.850 に答える
0

接続文字列は扱いにくい場合があります。これを実行して再確認します。

select @@servername servername, name, crdate  
from sys.sysdatabases 
where name = db_name()

それを実行する際に問題がある場合は、より単純なバージョンを実行してください。

select @@servername, db_name(), @@version
于 2012-10-10T13:46:57.420 に答える
0
Select top 20 * From tblNotary Order By ID Desc
于 2012-10-10T13:48:51.797 に答える