Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Không thể bỏ giản đồ vì nó không tồn tại hoặc bạn không có quyền. - Hướng dẫn SQL Server / TSQL Phần 29

Tình huống:

Bạn đang làm việc cho Mortgage Company với tư cách là nhà phát triển SQL Server. Bạn có yêu cầu này để chuẩn bị tập lệnh SQL để thả giản đồ. Bạn sử dụng
Drop Schema SchemeName Câu lệnh
trong phiên bản SQL Server đang phát triển và gặp lỗi dưới đây.

Không thể bỏ qua giản đồ '', vì nó không tồn tại hoặc bạn không có quyền.

Các bước tiếp theo của bạn là gì?

Giải pháp:

Có thể có một số lý do cho lỗi trên. Thứ nhất, bạn thực sự không có quyền bỏ Lược đồ. Bạn đã kiểm tra với DBA và anh ấy xác nhận rằng bạn có tất cả các quyền để thực hiện thay đổi này. Bây giờ bạn đã xem xét kỹ hơn và nhận thấy rằng có các đối tượng như bảng, dạng xem, v.v. đang sử dụng lược đồ này.
Từ đây, bạn có thể đề xuất hai giải pháp.
1) Bỏ tất cả các Đối tượng Liên quan đến Lược đồ và sau đó Thả Lược đồ (Có thể có tình huống ai đó đang sử dụng lược đồ và các đối tượng này. Bây giờ không ai cần sử dụng lược đồ và các đối tượng liên quan đến nó nữa. Vì vậy, bạn sẽ thảo luận với nhóm của mình và nếu họ nói rằng hãy chuẩn bị tập lệnh thả cho các đối tượng và lược đồ. Bạn có thể sử dụng cửa sổ Object Explorer Detail để tạo Drop Objects Scripts.
2) Bạn muốn giữ các đối tượng và di chuyển chúng sang các lược đồ khác nhau. Có thể là dbo hoặc bất kỳ lược đồ mới nào. Sau khi chuyển các đối tượng, bạn muốn xóa giản đồ.
Dưới đây Truy vấn có thể được sử dụng để tạo tập lệnh cho các đối tượng Truyền.
Declare @SourceSchema VARCHAR(100)
Declare @DestinationSchema VARCHAR(100)
SET @SourceSchema='TB'
SET @DestinationSchema='dbo'
Select 'Alter Schema ['+@DestinationSchema+'] Transfer '+@SourceSchema+'.['+name+']' 
from sys.objects
where schema_name(schema_id)=@SourceSchema
 
 
 Sao chép các tập lệnh đã tạo và sau đó chạy trong cơ sở dữ liệu. Sau khi hoàn tất, Bây giờ bạn có thể thả giản đồ bằng cách sử dụng  Drop Schema SchemaName  Tuyên bố. 
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn máy chủ sql được liên kết

  2. Trả lại danh sách tất cả các kích hoạt máy chủ trong SQL Server

  3. Cách kích hoạt ràng buộc khóa ngoại trong SQL Server (Ví dụ T-SQL)

  4. Cách tạo Tập lệnh DDL (Tạo) từ SQL Server Management Studio (SSMS) - Hướng dẫn sử dụng SQL Server / TSQL Phần 17

  5. Cách sao lưu hoặc tạo bảng mới từ Bảng SQL Server Hiện có trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 105