2009-03-25 32 views
25

Sử dụng SQL Server 2008 và tôi đang thực hiện một số cấu trúc giản đồ trong trình thiết kế Studio quản lý.Thông báo "Bảng được đánh dấu để xóa" sẽ tiếp tục như thế nào?

Tôi đã tạo một bảng sớm trong quá trình có tên là "Động vật", nhưng sau đó quyết định xóa ngay sau đó. Tôi đã xóa nó thông qua chế độ xem dạng cây trong Management Studio (nhấp chuột phải vào xóa).

Bây giờ tôi đã trễ trong quá trình này, tôi muốn tạo lại bảng "Động vật" nhưng với các trường khác nhau.

Vòng thứ hai với Thú được tạo tiền phạt, nhưng khi tôi cố gắng thêm bảng vào sơ đồ của tôi, tôi nhận được thông báo "Bảng 'Động vật" được đánh dấu để xóa, không thể thêm vào biểu đồ hoặc mở trong nhà thiết kế bảng ".

Thỏa thuận là gì? Làm thế nào tôi có thể sử dụng bảng này bình thường một lần nữa và không bị xung đột đặt tên bảng cũ hơn?

Hoặc, nếu bảng được đánh dấu để xóa, tôi có thể thực sự yêu cầu xóa bằng cách nào đó không? Sau đó tạo lại một bảng khác có cùng tên.

Đây là một chút khó chịu. Sẽ đánh giá cao sự giúp đỡ nào.

Trả lời

5

Điều gì đã làm: khởi động lại.

Khởi động lại toàn bộ máy tính đã hoạt động.

Chỉ cần khởi động lại máy chủ db không hoạt động, nhưng khởi động lại toàn bộ máy đã làm.

Tôi không biết tại sao!

+0

Đó là khoa học máy tính dude, đôi khi bạn phải cởi giày của bạn và sau đó đặt chúng trở lại, và tất cả mọi thứ hoạt động tốt :) –

0

Nếu bạn đang sử dụng công cụ lược đồ, có thể đơn giản hơn để tạo lại lược đồ. Theo kinh nghiệm của tôi, tôi đã tìm thấy công cụ để có một số quirks lẻ đã được cố định bằng cách đơn giản tạo lại lược đồ (khung nhìn đồ họa của nó, không phải toàn bộ db :))

+0

Điều này không hiệu quả đối với tôi – CVertex

+0

Nhưng cảm ơn câu trả lời! Tôi đánh giá cao nó – CVertex

0

Từ MSDN, để xóa bảng khỏi Trình thiết kế cơ sở dữ liệu trực quan:

  1. Trong sơ đồ cơ sở dữ liệu của bạn, hãy chọn bảng bạn muốn xóa.
  2. Nhấp chuột phải vào bảng và chọn Xóa Bảng khỏi Sơ đồ từ trình đơn phím tắt .

-hoặc-

Bấm phím ESC.

Nếu bảng có những thay đổi chưa được lưu như một kết quả của chỉnh sửa bạn đã thực hiện trong sơ đồ cơ sở dữ liệu, một thông báo nhắc nhở bạn lưu bàn trước khi tháo nó.

Bảng được xóa khỏi sơ đồ nhưng bảng này vẫn tiếp tục tồn tại trong cơ sở dữ liệu .

Vì vậy, để xóa nó, bạn sẽ phải làm điều đó từ kịch bản hoặc đối tượng nhà thám hiểm (MSDN):

Để xóa một bảng từ cơ sở dữ liệu

  1. Trong Object Explorer , chọn bảng bạn muốn xóa.
  2. Nhấp chuột phải vào bảng và chọn Xóa từ menu lối tắt.
  3. Một hộp thông báo nhắc bạn xác nhận việc xóa. Nhấp vào Có.
+0

bước của bạn là chính xác những gì tôi đã cố gắng (như đã nêu trong câu hỏi) – CVertex

41

Tôi đã có thể khắc phục vấn đề này bằng cách đóng SQL Management Studio và mở lại nó. Tôi đặt cược đơn giản là cắt đứt kết nối với máy chủ và khôi phục nó sẽ hoạt động.

+1

Điều này làm việc cho tôi, đóng cửa sổ phòng thu, tất cả chúng nếu có nhiều mở. –

+5

Closing Management Studio làm việc cho tôi. Việc giảm kết nối không hoạt động. –

8

Chỉ cần giảm bớt kết nối từ SQL Management Studio không hoạt động. Nhưng khởi động lại SQL Management Studio đã hoạt động. Vẫn còn tốt hơn khởi động lại hệ thống.

3

Tôi biết điều này là cũ, nhưng tôi đã gặp phải vấn đề tương tự này. Tôi tìm thấy giải pháp ở đây:

http://weblogs.asp.net/atlaszhu/archive/2010/04/04/sql-server-2008-database-diagram-quot-saving-changes-is-not-permitted-quot.aspx

mà về cơ bản nói rằng có một tùy chọn trong "Bàn Cơ sở dữ liệu thiết kế" phần gọi là "Ngăn chặn lưu thay đổi các yêu cầu bảng tái tạo" - khi này được chọn, bạn sẽ nhận được các lỗi như bạn đã hỏi.

Khi tôi tắt tùy chọn này, tôi có thể lưu sơ đồ cơ sở dữ liệu của mình.

+1

Naw, đã có tùy chọn này bị vô hiệu hóa, do đó, nó không thể có được vấn đề đó. Tôi đã gặp phải các vấn đề thiết kế tương tự trước đây và đã vô hiệu hóa "ngăn chặn ..." – CVertex

+0

Mặc dù vấn đề được mô tả không cố định với giải pháp của bạn nhưng câu trả lời của bạn khá hữu ích! Tôi đã gặp phải cả hai vấn đề hôm nay, vì vậy, hãy +1 cho bạn. :) – Gertjan

0

Có thể có bất kỳ liên kết nào còn lại của bảng đó trên bất kỳ sơ đồ nào chỉ cần mở sơ đồ DB và nó sẽ cho bạn biết rằng bảng này bị xóa.

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