Câu trả lời:
Hãy thử T-SQL để làm điều này:
alter authorization
on schema::YourSchemaName
to dbo
go
drop user TheUserYouWantToDelete
go
Bạn không thể bỏ hiệu trưởng là chủ sở hữu lược đồ, do đó, ALTER AUTHORZATION
thay đổi lược đồ sở hữu (tôi đã sử dụng YourSchemaName
, nhưng rõ ràng thay thế lược đồ sở hữu trong cơ sở dữ liệu của bạn) thành dbo
(tương tự, bạn có thể thay đổi quyền sở hữu thành bất kỳ hiệu trưởng nào bạn cần trong môi trường). Điều đó sẽ cho phép bạn loại bỏ người dùng sở hữu lược đồ trước đây (ví dụ như các mục đích tôi đã sử dụng TheUserYouWantToDelete
, nhưng đó sẽ là người không phải là chủ sở hữu mà bạn muốn loại bỏ).
dbo
lược đồ, chúng tôi đang thay đổi ủy quyền cho dbo
hiệu trưởng. Đó có thể là bất kỳ cơ sở dữ liệu chính.
Cách T-SQL hoạt động. Nhờ http://zarez.net/?p=179 tôi đã tìm thấy cách SSMS để làm điều này (UI).
Để thay đổi chủ sở hữu lược đồ từ Sql Server Management Studio:
Expand your database -> Security -> Schemas
Trong Chi tiết thám hiểm đối tượng, bạn có thể thấy danh sách các lược đồ và chủ sở hữu:
Nếu bạn không biết (các) lược đồ nào mà Người dùng sở hữu, hãy kiểm tra các thuộc tính của Người dùng.
Mở các thuộc tính của lược đồ mà Người dùng sở hữu và nhấp vào "Tìm kiếm" để tìm chủ sở hữu mới. Nếu bạn không biết chủ sở hữu mới, bạn có thể "Duyệt" cho một chủ sở hữu.
Properites -> Search -> Browse
và bạn có thể thay đổi chủ sở hữu lược đồ thành dbo (hoặc bất cứ ai phù hợp nhất).