Tôi có một bảng trong SQL Server 2005 chứa 10000054 bản ghi; các bản ghi này được chèn vào thông qua thao tác chèn số lượng lớn. Bảng không chứa khóa chính và tôi muốn có một khóa. Nếu tôi cố gắng sửa đổi cấu trúc của bảng, thêm một cột mới, PK, được đặt làm int với tính xác thực, bảng điều khiển quản lý sẽ cho tôi cảnh báo:Thêm khóa chính vào bảng có nhiều bản ghi
"Thay đổi bảng với lượng lớn dữ liệu có thể mất một lượng thời gian đáng kể Trong khi các thay đổi đang được lưu, dữ liệu bảng sẽ không thể truy cập được. "
sau đó kết quả đầu ra lỗi:
".. Không thể sửa đổi các bảng Timeout hết hạn Khoảng thời gian chờ trôi qua trước khi hoàn thành các hoạt động hoặc máy chủ không được đáp ứng "
Tôi muốn có một PK vào bàn của tôi.
Tôi có thể thêm nó bằng cách nào?
Điều này làm việc tốt cho tôi. Có thể có một cách tốt hơn, nhưng đây là một sửa chữa nhanh chóng. – Induster
Tôi nghĩ rằng giải pháp ưa thích (và đơn giản nhất) đang thay đổi thiết lập thời gian chờ thiết kế, như [được mô tả trong MSDN tại đây] (https://support.microsoft.com/en-us/kb/915849). – Veverke
Không phải lúc nào cũng đảm bảo có không gian để thực hiện việc này. – Robino