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

Cách thay đổi chế độ ủy quyền SQL Server mà không cần Management Studio

Đây là những gì Management Studio thực hiện để thay đổi chế độ xác thực từ hỗn hợp sang chỉ dành cho Windows:

EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE', 
    N'Software\Microsoft\MSSQLServer\MSSQLServer', 
    N'LoginMode', 
    REG_DWORD, 
    1;

Và chỉ từ Windows trở lại hỗn hợp:

EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE', 
    N'Software\Microsoft\MSSQLServer\MSSQLServer', 
    N'LoginMode', 
    REG_DWORD, 
    2; -- only difference is right here

Bạn có thể gọi cùng một lệnh từ nhiều nguồn khác nhau có thể kết nối với SQL Server như SQLCMD, PowerShell, VBScript, C #, v.v. Hoặc bạn có thể đăng nhập trực tiếp vào máy chủ, điều hướng đến khóa đăng ký đó và thay đổi giá trị theo cách thủ công (như @ marc_s đề xuất).

Lưu ý rằng trong mọi trường hợp, bạn phải khởi động lại SQL Server để các thay đổi có hiệu lực. Bạn có thể xem một số mục đầu tiên trong nhật ký lỗi mới khi khởi động lại để xác thực rằng chế độ xác thực là chính xác. Nó sẽ nói (cho hỗn hợp):

date/time    Server    Authentication Mode is MIXED.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có cách nào để nhận được các kết quả khác nhau cho cùng một truy vấn SQL nếu dữ liệu được giữ nguyên không?

  2. Cách đặt ngôn ngữ mặc định cho tất cả thông tin đăng nhập mới trong SQL Server (T-SQL)

  3. Cách kiểm tra phiên bản máy chủ SQL của bạn

  4. Tại sao SQL Server bỏ qua các vaules trong nối chuỗi khi mệnh đề ORDER BY được chỉ định

  5. Cách trả về danh sách các sự kiện kích hoạt trong SQL Server