可以用事务保证数据一致性,搜下“SQL Server 事务”就出来了。

解决方案 »

  1.   

    可以的,要是不能实现,微软的ms sql也太烂了,能拿出来卖钱吗,所以微软的ms sql是需要付费的,而且还很贵,所以你说的问题是不存在的。
      

  2.   


    我从网上找的资料:
    事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
    通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。事务用于写数据库时,逻辑相关的记录要么都写,要么都不写。我的数据库中T1表的记录都是独立的,T2表的记录也是独立的,线程1写T1表,线程2读T1表,线程3读写T2表,好像不存在数据一致性的问题吧?
      

  3.   


    你说的很对,MS SQL SERVER还是不错的,应该不存在这些问题。MS SQL SERVER数据库是多线程的吧?当应用程序的多个线程操作数据库的时候,这些操作会不会并发执行?
      

  4.   


    我从网上找的资料:
    事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
    通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。事务用于写数据库时,逻辑相关的记录要么都写,要么都不写。我的数据库中T1表的记录都是独立的,T2表的记录也是独立的,线程1写T1表,线程2读T1表,线程3读写T2表,好像不存在数据一致性的问题吧?
    有一致性问题,有点像下面的函数
    int g_global = 0;
    void test()
    {
    g_global++;
    g_global++;
    g_global++;
    }在写线程中调用test,在读线程中你读g_global,这个值是未知的,可能获得是中间值,不是执行完test后的你要的结果。