Sql server 如何同时管理对数据库的多个请求?

Sql server 如何同时管理对数据库的多个请求?,sql-server,database,Sql Server,Database,有一个db表“uniqueID”,我从中为任何访问该表的用户生成唯一id 登记在表中的某个时间,它只有一个唯一的id,该id被提供给任何注册者 当他来注册时,对于第二个用户,我有一个机制,通过这个机制它可以增加 id值并将其放在Db表中,但我担心如果两个用户同时访问 注册然后我应该如何将ID分配给多个用户,我应该如何使其工作, 有什么内部机制来处理它吗?或者我需要提出一些不同的概念。您应该将用户表中的列设置为具有identity属性,然后让SQL Server使用函数scope_identity

有一个db表“uniqueID”,我从中为任何访问该表的用户生成唯一id 登记在表中的某个时间,它只有一个唯一的id,该id被提供给任何注册者 当他来注册时,对于第二个用户,我有一个机制,通过这个机制它可以增加 id值并将其放在Db表中,但我担心如果两个用户同时访问 注册然后我应该如何将ID分配给多个用户,我应该如何使其工作,

有什么内部机制来处理它吗?或者我需要提出一些不同的概念。

您应该将用户表中的列设置为具有identity属性,然后让SQL Server使用函数scope_identity()将此值返回给应用程序,而不是由应用程序决定uniqueID。

,您应该将用户表中的列设置为具有identity属性,然后让SQL Server使用函数scope_identity()将此值返回给应用程序.

您应该在ID字段上使用约束,并使用返回新生成的ID。

您应该在ID字段上使用约束,并使用返回新生成的ID。

您是否考虑过使用通用唯一标识符()而不是增加id。由于UUID实际上是唯一的,因此您不会遇到任何冲突问题。

您是否考虑过使用通用唯一标识符()而不是不断增加的id。由于UUID实际上是唯一的,您不会遇到任何冲突问题。

基本上我的Sp是如何做的?它返回的id基于先到先得服务器,但如果多个用户同时请求存储过程会怎么样?基本上我的Sp是如何做的?它返回的id基于先到先得服务器,但是,如果多个用户同时向存储过程发出请求,该怎么办?我从来没有说过我会在UUIDI上聚集索引,我从来没有说过我会在UUIDI上聚集索引,如果两个请求同时出现,它会对我有什么帮助?@NeareorToDotnet:这会帮助你,因为数据库足够聪明,不会两次分配相同的ID。@NeareorToDotnet-数据库的部分职责是处理并发性。在
标识
约束的情况下,这意味着没有两个记录将获得相同的ID。如果请求同时出现,那么?它将如何决定首先向谁发送id?@nearyottodotnet-好问题。它会选一个。我不知道确切的算法。如果两个请求同时出现,它会对我有什么帮助?@NeyerToDotnet:这会对你有帮助,因为数据库足够聪明,不会两次分配同一个ID。@NeyerToDotnet-数据库的部分职责是处理并发性。在
标识
约束的情况下,这意味着没有两个记录将获得相同的ID。如果请求同时出现,那么?它将如何决定首先向谁发送id?@nearyottodotnet-好问题。它会选一个。我不知道确切的算法。如果两个请求同时出现,作用域标识是否一次处理一个请求,并将第二个请求放入池中?@NeyerToDotnet:简短回答是:是。作用域标识是否一次处理一个请求,并将第二个请求放入池中,如果两个请求同时出现?@NeyerToDotnet:简短回答是:是。