Điều gì có thể được thực hiện, nếu có bất cứ điều gì, khi guest
người dùng đặc biệt mồ côi (không liên kết với bất kỳ thông tin đăng nhập nào)?
Đối với một trong những cơ sở dữ liệu của tôi (SQL Server 2005), việc thực thi các danh sách sau đây liệt kê người dùng khách là người dùng mồ côi.
exec sp_change_users_login 'report'
Các kết quả:
UserName UserSID
guest 0x3C2E66759FFBC14F84127D6795C27FD3
Nếu tôi cố gắng khắc phục người dùng khách bằng quy trình đó, tôi sẽ nhận được như sau:
exec sp_change_users_login 'update_one', 'guest', 'guest'
Chấm dứt thủ tục này. 'khách' là giá trị bị cấm đối với tham số tên đăng nhập trong quy trình này.
Nếu tôi cố xóa người dùng, tôi nhận được:
Người dùng 'khách' không thể bị loại bỏ, nó chỉ có thể bị vô hiệu hóa.
select * from sys.database_principals where name = 'guest'
Kết quả trong:
name guest
principal_id 2
type S
type_desc SQL_USER
default_schema_name guest
create_date 11/13/98 2:58 AM
modify_date 10/16/01 4:31 PM
owning_principal_id NULL
sid 0x3C2E66759FFBC14F84127D6795C27FD3
is_fixed_role 0
Cơ sở dữ liệu dường như bị nhầm lẫn về việc liệu đây có phải là người dùng đặc biệt hay không. Có bất cứ điều gì có thể được thực hiện?
Terminating this procedure. 'guest' is a forbidden value for the login name parameter in this procedure.
0x3C2E66759FFBC14F84127D6795C27FD3
thay vì0x00