请问如何解决多用户访问同一个数据库的问题:
   1。如何解决访问冲突问题。
   2。能否实现几个用户使用同一个数据库用户名(sa)登陆。
   3。如果有更好的方法请指点!

解决方案 »

  1.   

    1 使用互斥变量Mutex 或者在线程中使用临界区,可以解决访问冲突问题
    2 能否说详细一些?
      

  2.   

    1.访问冲突可以通过设置数据库访问锁实现,dbms都有此功能。
    2.可以通过同一个数据库用户登陆。
    3.视访问量和用户数而定。
      

  3.   

    一般情况下,SQL SERVER 提供了锁机制,访问冲突应该是程序中所指的访问冲突吧?
    可以使用同一个用户名称登录数据库。
      

  4.   

    你问的三个问题好想sqlserver自己都解决了,你可以考虑是不是新建一个用户来专门连接指定数据库,来提高你的数据库安全性。
      

  5.   

    不用考虑的,SQLSERVER已经帮你考虑了!!
      

  6.   

    在 SQLServer 里如何锁定记录呢。就像VFP一样。锁定某条记录。
      

  7.   

    共享锁
    共享 (S) 锁允许并发事务读取 (SELECT) 一个资源。资源上存在共享 (S) 锁时,任何其它事务都不能修改数据。一旦已经读取数据,便立即释放资源上的共享 (S) 锁,除非将事务隔离级别设置为可重复读或更高级别,或者在事务生存周期内用锁定提示保留共享 (S) 锁。更新锁
    更新 (U) 锁可以防止通常形式的死锁。一般更新模式由一个事务组成,此事务读取记录,获取资源(页或行)的共享 (S) 锁,然后修改行,此操作要求锁转换为排它 (X) 锁。如果两个事务获得了资源上的共享模式锁,然后试图同时更新数据,则一个事务尝试将锁转换为排它 (X) 锁。共享模式到排它锁的转换必须等待一段时间,因为一个事务的排它锁与其它事务的共享模式锁不兼容;发生锁等待。第二个事务试图获取排它 (X) 锁以进行更新。由于两个事务都要转换为排它 (X) 锁,并且每个事务都等待另一个事务释放共享模式锁,因此发生死锁。若要避免这种潜在的死锁问题,请使用更新 (U) 锁。一次只有一个事务可以获得资源的更新 (U) 锁。如果事务修改资源,则更新 (U) 锁转换为排它 (X) 锁。否则,锁转换为共享锁。排它锁
    排它 (X) 锁可以防止并发事务对资源进行访问。其它事务不能读取或修改排它 (X) 锁锁定的数据。意向锁
    意向锁表示 SQL Server 需要在层次结构中的某些底层资源上获取共享 (S) 锁或排它 (X) 锁。例如,放置在表级的共享意向锁表示事务打算在表中的页或行上放置共享 (S) 锁。在表级设置意向锁可防止另一个事务随后在包含那一页的表上获取排它 (X) 锁。意向锁可以提高性能,因为 SQL Server 仅在表级检查意向锁来确定事务是否可以安全地获取该表上的锁。而无须检查表中的每行或每页上的锁以确定事务是否可以锁定整个表。意向锁包括意向共享 (IS)、意向排它 (IX) 以及与意向排它共享 (SIX)。其实当事务对数据库操作的时候,数据库已经对你操作的数据进行锁定了!!当然这是最小粒度的锁定(如当前行)。