Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Nhận dạng SQL (số tự động) được tăng lên ngay cả với một lần khôi phục giao dịch

Nếu bạn nghĩ về điều này, số tự động tăng không nên được giao dịch. Nếu các giao dịch khác phải chờ xem liệu số tự động sẽ được sử dụng hay "khôi phục", chúng sẽ bị chặn bởi giao dịch hiện có sử dụng số tự động. Ví dụ:hãy xem xét mã psuedo của tôi bên dưới với bảng A bằng cách sử dụng trường số tự động cho cột ID:

User 1
------------
begin transaction
insert into A ...
insert into B ...
update C ...
insert into D ...
commit


User 2
-----------
begin transaction
insert into A ...
insert into B ...
commit

Nếu giao dịch của người dùng 2 bắt đầu một phần nghìn giây sau giao dịch của người dùng 1, thì phần chèn của họ vào bảng A sẽ phải đợi toàn bộ giao dịch của người dùng 1 hoàn tất chỉ để xem liệu số tự động từ lần chèn đầu tiên vào A có được sử dụng hay không.

Đây là một tính năng, không phải là một lỗi. Tôi khuyên bạn nên sử dụng một lược đồ khác để tạo số tự động nếu bạn cần chúng liên tục chặt chẽ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tính tổng giá trị của các Cột được xoay vòng và thêm nó vào một Cột được Phân chia khác

  2. Giao dịch cơ sở dữ liệu phân tán so với giao dịch cơ sở dữ liệu chéo

  3. Tôi cần nhập dữ liệu từ Excel sang SQL Server bằng VBA

  4. Tên nhà cung cấp SQL trong web.config

  5. Điều chỉnh truy vấn SQL