Chà, sẽ không phải là một cách nhanh chóng, dễ dàng để làm điều này, thực sự ....
Cách tiếp cận của tôi sẽ là:
-
tạo một bảng mới với cấu trúc giống hệt nhau - ngoại trừ
ID
cột làBIGINT IDENTITY
thay vìINT IDENTITY
---- [đặt máy chủ của bạn vào chế độ một người dùng độc quyền tại đây; người dùng không thể sử dụng máy chủ của bạn kể từ thời điểm này] ----
-
tìm và tắt tất cả các ràng buộc khóa ngoại tham chiếu đến bảng của bạn
-
BẬT
SET IDENTITY_INSERT (your new table) ON
-
chèn các hàng từ bảng cũ của bạn vào bảng mới
-
TẮT
SET IDENTITY_INSERT (your new table) ON
-
xóa bảng cũ của bạn
-
đổi tên bảng mới của bạn thành tên bảng cũ
-
cập nhật tất cả bảng có tham chiếu FK vào bảng của bạn để sử dụng
BIGINT
thay vìINT
(điều đó có thể thực hiện được vớiALTER TABLE ..... ALTER COLUMN FKID BIGINT
) -
tạo lại tất cả các mối quan hệ khóa ngoài một lần nữa
-
bây giờ bạn có thể đưa máy chủ của mình trở lại trạng thái sử dụng nhiều người dùng bình thường