Bài viết này trình bày cách sử dụng T-SQL để thay đổi mật khẩu đăng nhập SQL Server.
Bạn có thể thay đổi mật khẩu cho lần đăng nhập khác (giả sử bạn có quyền thích hợp) hoặc bạn có thể thay đổi mật khẩu cho thông tin đăng nhập của chính mình. Bài viết này phác thảo cả hai tình huống này.
Ví dụ
Để thay đổi mật khẩu đăng nhập Máy chủ SQL, hãy sử dụng ALTER LOGIN
câu lệnh với WITH PASSWORD
đối số.
Đây là một ví dụ.
ALTER LOGIN Bart
WITH PASSWORD = '$trongPwd123';
Bạn có thể chạy câu lệnh đó để thay đổi mật khẩu đăng nhập của chính mình hoặc một thông tin đăng nhập khác, tuy nhiên, nó yêu cầu bạn phải có ALTER ANY LOGIN
sự cho phép.
Nếu bạn không có ALTER ANY LOGIN
quyền, bạn sẽ gặp lỗi này:
Msg 15151, Level 16, State 1, Line 2 Cannot alter the login 'Bart', because it does not exist or you do not have permission.
Thay đổi mật khẩu của riêng bạn
Bạn có thể sử dụng câu lệnh từ ví dụ trước để thay đổi mật khẩu đăng nhập của chính mình (tức là khi bạn đăng nhập với tư cách là thông tin đăng nhập). Như đã đề cập, bạn sẽ cần ALTER ANY LOGIN
sự cho phép.
Tuy nhiên, bạn vẫn có thể thay đổi mật khẩu của chính mình ngay cả khi bạn không có ALTER ANY LOGIN
sự cho phép.
Cách thực hiện việc này là bao gồm cả mật khẩu cũ của bạn cũng như mật khẩu mới.
ALTER LOGIN Bart
WITH PASSWORD = 'StrongPwd!'
OLD_PASSWORD = '$trongPwd123';
Tôi thực sự đã đăng nhập với tên Bart và chạy câu lệnh đó và nhận được xác nhận sau.
Commands completed successfully.
Bart thực sự không có ALTER ANY LOGIN
nhưng anh ấy vẫn có thể thay đổi mật khẩu của chính mình bằng cách cung cấp mật khẩu cũ của mình.
Đây là điều sẽ xảy ra nếu Bart cố gắng thay đổi mật khẩu mà không cung cấp mật khẩu cũ.
ALTER LOGIN Bart
WITH PASSWORD = 'WheelyStwongPwd!';
Kết quả:
Msg 15151, Level 16, State 1, Line 1 Cannot alter the login 'Bart', because it does not exist or you do not have permission.
Nhưng như bạn có thể mong đợi, nếu tôi đăng nhập bằng sa
và chạy lại, tôi có thể thay đổi mật khẩu mà không cần cung cấp mật khẩu cũ.
ALTER LOGIN Bart
WITH PASSWORD = 'WheelyStwongPwd!';
Kết quả:
Commands completed successfully.