2011-10-10 35 views
17

Tôi có Bảng Cơ sở dữ liệu SQL, trong đó có 35 bản ghi hiện có. Một trong các trường trong bảng này được gọi là Name, nvarchar(100), not null"Lưu thay đổi không được phép" khi thay đổi cột hiện tại thành nullable

Tuy nhiên, do thay đổi gần đây, tôi cần đặt cột này là không thể thực hiện được.

Khi tôi thay đổi cột để cho phép null trong SQL Server Management Studio, và đi để lưu thay đổi của tôi, tôi nhận được lỗi sau:

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created

Làm thế nào tôi có thể cho phép này để tự động bị loại bỏ và tái tạo?

Trả lời

33

Tôi đã tìm thấy giải pháp. Tới "Tools> Options> thiết kế> Bảng và Cơ sở dữ liệu thiết kế":

enter image description here

+1

Điều duy nhất lãng phí thời gian của mọi người là đánh dấu một cái gì đó như là một câu trả lời không thực sự giúp đỡ ai đó với cùng một vấn đề. ;-) –

+0

@Oran Haha, tôi đoán là bạn đã không gặp vấn đề tương tự, nếu không tôi sẽ không đánh dấu nó là câu trả lời. Có lẽ một phiên bản SQL Server khác? .. – Curt

+0

MS nói rằng việc tạo lại bảng có thể dẫn đến mất dữ liệu và cảnh báo về việc chuyển tùy chọn này. – Maxence

6

Đó là một thiết lập trong SSMS.

Công cụ - Tùy chọn - Nhà thiết kế - Ngăn thay đổi lưu yêu cầu tạo lại bảng

3

Tôi đã gặp vấn đề tương tự; muốn cho phép Nulls cho một cột mà trước đó không. Xem xét cảnh báo của MS để KHÔNG tắt tùy chọn này: http://support.microsoft.com/kb/956176

Và đề xuất của họ để sử dụng Transact-SQL để giải quyết vấn đề, ví dụ: thay đổi bảng MyTable thay đổi cột MyDate7 datetime NULL

Điều này giải quyết nó cho tôi.

Các vấn đề liên quan