2

我最近安装并一直在使用 Microsoft SQL Server Management Studio Express 9.00.4035.00 来管理我主机的 SQL Server 2005 上的远程数据库。

到目前为止,我一直在使用 EMS SQL Manager 2011 Lite,并且运行良好。

今天早上在我的一张表中插入了 2 行新行;一个是客户注册的服务,另一个是我的测试注册。

当我运行典型的选择查询时:

[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 回答