Bảng tiết kiệm thời gian chờ trong SQL Server


16

Tôi đang cố gắng thêm một cột vào một bảng có nhiều dữ liệu trong SQL Server 2005, sử dụng SSMS.

Vì vậy, tôi duyệt đến bảng, chọn Sửa đổi và thêm cột mới. Sau đó, khi tôi nhấn Save, tôi nhận được cảnh báo sau:

Lưu định nghĩa Thay đổi đối với các bảng có lượng dữ liệu lớn 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

Tôi ổn với điều đó, DB đang ngoại tuyến và tôi có toàn bộ thời gian trên thế giới, vì vậy tôi nhấn Yes.

Tuy nhiên, thao tác sau đó tiến hành hết thời gian sau khoảng 30 giây với thông báo này:

Không thể sửa đổi bảng. Thời gian hết hạn. Khoảng thời gian chờ đã trôi qua trước khi hoàn thành thao tác hoặc máy chủ không phản hồi.

Sau đó, khi tôi nhấn OK:

Người dùng đã hủy bỏ hộp thoại lưu (Công cụ cơ sở dữ liệu MS Visual)

Tôi không hiểu điều đó. Tôi đã đặt thời gian thực hiện thành 0 (vô hạn) cả trong hộp thoại kết nối SSMS và trong Công cụ -> Tùy chọn -> Thực thi truy vấn -> Máy chủ SQL. Điểm đặt thời gian thực hiện là gì nếu nó bị bỏ qua?

Có ai biết giá trị thời gian chờ nào đang được sử dụng ở đây không và làm cách nào tôi có thể đặt nó?

Câu trả lời:


27

Âm thanh như một thiết lập thời gian chờ. Vì vậy, SSMS của bạn nghĩ rằng nó mất quá nhiều thời gian và hủy kết nối cho bạn. Các máy chủ SQL đóng vai trò trở lại. Nhưng có sự giúp đỡ. Bạn không phải là người đầu tiên gặp phải điều này.

Xem tại đây .

Đối với tất cả những người không muốn nhấp vào liên kết. Đây là câu trả lời chiến thắng về giá:

Sau khi gặp lỗi tương tự, tôi vấp phải cài đặt đúng.

Trong Studio quản lý, từ menu Công cụ, chọn Tùy chọn, sau đó nhấp vào "Nhà thiết kế". Có một tùy chọn gọi là "Ghi đè giá trị hết thời gian của chuỗi kết nối cho các cập nhật của nhà thiết kế bảng:" Trong hộp "Hết thời gian giao dịch sau:", bạn sẽ thấy 30 giây kỳ diệu


6

// LÀM SAU:

Mở phòng quản lý SQL Server -> Menu Công cụ -> Tùy chọn -> Tab Trình thiết kế -> Trình thiết kế bảng và cơ sở dữ liệu -> Tăng thời gian chờ từ 30 giây lên 65535 giây .--> OK

// Bây giờ bạn có thể lưu các thay đổi bảng của bạn. // Hy vọng điều đó có ích và kiểm tra blog của tôi @: //www.ogolla.blogspot.com


1
Wow đó là một thiết lập thời gian chờ 18+ giờ. Thời gian để ngủ trưa!
Peter Schuetze

0

SSMS không nên được sử dụng để sửa đổi dữ liệu chung. Làm cho bạn thoải mái với T-SQL và thêm cột như được đề xuất dưới đây.

ALTER TABLE TableName THÊM NewColumn INT

SSMS thực sự đang tạo một bảng mới với tất cả các cột, nhập dữ liệu vào bảng mới và bỏ bảng cũ. Ngay cả khi bạn có tất cả thời gian trên thế giới, nếu có một cách làm việc hiệu quả, bạn nên sử dụng đúng phương pháp. Để tránh sự lộn xộn này, trong SQL Server 2008 sẽ không cho phép phương thức GUI IIRC.


3
Tôi thấy điểm của bạn. Nhưng tôi thích có các cột của tôi theo một thứ tự cụ thể. Ngớ ngẩn, bạn có thể nghĩ, nhưng có bạn có nó. Sử dụng ALTER TABLE, cột mới được thêm vào cuối. Tôi đoán đó là lý do tại sao SSMS phải bỏ và tạo lại bảng, trên thực tế.
Tor Haugen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.