Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengubah properti akun masuk SQL Server.
konvensi sintaks
Nota
MICROSOFT Entra ID sebelumnya dikenal sebagai Azure Active Directory (Azure AD).
Pilih produk
Di baris berikut, pilih nama produk yang Anda minati, dan hanya informasi produk yang ditampilkan.
* SQL Server *
Azure Synapse
Analitik
SQL Server
Sintaks untuk SQL Server
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
| <cryptographic_credential_option>
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
<cryptographic_credentials_option> ::=
ADD CREDENTIAL credential_name
| DROP CREDENTIAL credential_name
Argumen
login_name
Menentukan nama login SQL Server yang sedang diubah. Login domain harus diapit dalam tanda kurung dalam format [<domain>\<user>].
AKTIFKAN | MENONAKTIFKAN
Mengaktifkan atau menonaktifkan login ini. Menonaktifkan login tidak memengaruhi perilaku masuk yang sudah tersambung. (Gunakan pernyataan KILL untuk mengakhiri koneksi yang ada.) Login yang dinonaktifkan mempertahankan izin mereka dan masih dapat ditiru.
PASSWORD = 'kata sandi'
Hanya berlaku untuk login SQL Server. Menentukan kata sandi untuk login yang sedang diubah. Kata sandi peka huruf besar/kecil.
KATA SANDI = hashed_password
Hanya berlaku untuk kata kunci HASHED. Menentukan nilai hash kata sandi untuk login yang sedang dibuat.
Penting
Saat login (atau pengguna database mandiri) tersambung dan diautentikasi, koneksi menyimpan informasi identitas tentang login. Untuk login Autentikasi Windows, ini mencakup informasi tentang keanggotaan di grup Windows. Identitas login tetap diautentikasi selama koneksi dipertahankan. Untuk memaksa perubahan identitas, seperti pengaturan ulang kata sandi atau perubahan keanggotaan grup Windows, login harus keluar dari otoritas autentikasi (Windows atau SQL Server), dan masuk lagi. Anggota sysadmin peran server tetap atau login apa pun dengan izin ALTER ANY CONNECTION dapat menggunakan perintah KILL untuk mengakhiri koneksi dan memaksa masuk untuk terhubung kembali. SQL Server Management Studio dapat menggunakan kembali informasi koneksi saat membuka beberapa koneksi ke jendela Object Explorer dan Editor Kueri. Tutup semua koneksi untuk memaksa koneksi ulang.
HASHED
Hanya berlaku untuk login SQL Server. Menentukan bahwa kata sandi yang dimasukkan setelah argumen PASSWORD sudah di-hash. Jika opsi ini tidak dipilih, kata sandi di-hash sebelum disimpan dalam database. Opsi ini hanya boleh digunakan untuk sinkronisasi masuk antara dua server. Jangan gunakan opsi HASHED untuk mengubah kata sandi secara rutin.
OLD_PASSWORD = 'old_password'
Hanya berlaku untuk login SQL Server. Kata sandi saat ini dari login tempat kata sandi baru akan ditetapkan. Kata sandi peka huruf besar/kecil.
MUST_CHANGE
Hanya berlaku untuk login SQL Server. Jika opsi ini disertakan, SQL Server meminta kata sandi yang diperbarui saat pertama kali login yang diubah digunakan.
DEFAULT_DATABASE = database
Menentukan database default yang akan ditetapkan ke login.
DEFAULT_LANGUAGE = bahasa
Menentukan bahasa default yang akan ditetapkan ke login. Bahasa default untuk semua login SQL Database adalah bahasa Inggris dan tidak dapat diubah. Bahasa default login sa di SQL Server di Linux adalah bahasa Inggris, tetapi dapat diubah.
NAMA = login_name
Nama baru login yang sedang diganti namanya. Jika ini adalah login Windows, SID prinsipal Windows yang sesuai dengan nama baru harus cocok dengan SID yang terkait dengan login di SQL Server. Nama baru login SQL Server tidak boleh berisi karakter garis miring terbelakang (\).
CHECK_EXPIRATION = { AKTIF | NONAKTIF }
Hanya berlaku untuk login SQL Server. Menentukan apakah kebijakan kedaluwarsa kata sandi harus diberlakukan pada login ini. Nilai defaultnya adalah NONAKTIF.
CHECK_POLICY = { AKTIF | NONAKTIF }
Hanya berlaku untuk login SQL Server. Menentukan bahwa kebijakan kata sandi Windows komputer tempat SQL Server berjalan harus diberlakukan pada login ini. Nilai defaultnya adalah AKTIF.
INFO MASUK = credential_name
Nama kredensial yang akan dipetakan ke login SQL Server. Kredensial harus sudah ada di server. Untuk informasi selengkapnya, lihat Kredensial. Kredensial tidak dapat dipetakan ke login sa.
TIDAK ADA KREDENSIAL
Menghapus pemetaan login yang ada ke kredensial server. Untuk informasi selengkapnya, lihat Kredensial.
MEMBUKA
Hanya berlaku untuk login SQL Server. Menentukan bahwa login yang dikunci harus dibuka kuncinya.
TAMBAHKAN KREDENSIAL
Menambahkan kredensial penyedia Extensible Key Management (EKM) ke login. Untuk informasi selengkapnya, lihat Extensible Key Management (EKM).
JATUHKAN KREDENSIAL
Menghapus kredensial penyedia Extensible Key Management (EKM) dari login. Untuk informasi selengkapnya, lihat Extensible Key Management (EKM).
Komentar
Saat CHECK_POLICY diatur ke AKTIF, argumen HASHED tidak dapat digunakan.
Saat CHECK_POLICY diubah ke AKTIF, perilaku berikut terjadi:
- Riwayat kata sandi diinisialisasi dengan nilai hash kata sandi saat ini.
Saat CHECK_POLICY diubah ke NONAKTIF, perilaku berikut terjadi:
- CHECK_EXPIRATION juga diatur ke NONAKTIF.
- Riwayat kata sandi dihapus.
- Nilai lockout_time diatur ulang.
Jika MUST_CHANGE ditentukan, CHECK_EXPIRATION dan CHECK_POLICY harus diatur ke AKTIF. Jika tidak, pernyataan gagal.
Jika CHECK_POLICY diatur ke NONAKTIF, CHECK_EXPIRATION tidak dapat diatur ke AKTIF. Pernyataan UBAH LOGIN yang memiliki kombinasi opsi ini gagal.
Anda tidak dapat menggunakan ALTER LOGIN dengan argumen DISABLE untuk menolak akses ke grup Windows. Misalnya, ALTER LOGIN [<domain>\<group>] DISABLE mengembalikan pesan kesalahan berikut:
"Msg 15151, Level 16, State 1, Line 1
Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission.
Ini sudah didesain.
Dimulai dengan SQL Server 2012 (11.x), SQL Server dan Azure SQL DB menggunakan hash SHA-512 yang dikombinasikan dengan garam acak dan unik 32-bit. Metode ini membuatnya tidak layak secara statistik bagi penyerang untuk menyimpulkan kata sandi.
SQL Server 2025 (17.x) memperkenalkan algoritma hash iterasi, RFC2898, juga dikenal sebagai fungsi derivasi kunci berbasis kata sandi (PBKDF). Algoritma ini masih menggunakan SHA-512 tetapi hash kata sandi beberapa kali (100.000 iterasi), secara signifikan memperlambat serangan brute-force. Perubahan ini meningkatkan perlindungan kata sandi sebagai respons terhadap ancaman keamanan yang berkembang dan membantu pelanggan mematuhi pedoman NIST SP 800-63b. Peningkatan keamanan ini menggunakan algoritma hashing yang lebih kuat, yang dapat sedikit meningkatkan waktu masuk untuk login Autentikasi SQL. Dampaknya umumnya lebih rendah di lingkungan dengan pengumpulan koneksi, tetapi mungkin lebih terlihat dalam skenario tanpa pengumpulan atau di mana latensi masuk dipantau dengan cermat.
Di SQL Database, data masuk yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE.
Izin
Memerlukan izin UBAH LOGIN APA PUN.
Jika opsi KREDENSIAL digunakan, juga memerlukan izin UBAH INFO MASUK APA PUN.
Jika login yang sedang diubah adalah anggota peran server tetap sysadmin
- Mereset kata sandi tanpa menyediakan kata sandi lama.
- Mengaktifkan MUST_CHANGE, CHECK_POLICY, atau CHECK_EXPIRATION.
- Mengubah nama login.
- Mengaktifkan atau menonaktifkan login.
- Memetakan login ke kredensial yang berbeda.
Prinsipal dapat mengubah kata sandi, bahasa default, dan database default untuk loginnya sendiri.
Contoh
Sebuah. Mengaktifkan login yang dinonaktifkan
Contoh berikut memungkinkan login Mary5.
ALTER LOGIN Mary5 ENABLE;
B. Mengubah kata sandi login
Contoh berikut mengubah kata sandi Mary5 masuk ke kata sandi yang kuat.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Mengubah kata sandi login saat masuk sebagai login
Jika Anda mencoba mengubah kata sandi login yang saat ini Anda gunakan untuk masuk, dan Anda tidak memiliki izin ALTER ANY LOGIN, Anda harus menentukan opsi OLD_PASSWORD.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' OLD_PASSWORD = '<oldWeakPasswordHere>';
D. Mengubah nama login
Contoh berikut mengubah nama Mary5 masuk menjadi John2.
ALTER LOGIN Mary5 WITH NAME = John2;
E. Memetakan login ke kredensial
Contoh berikut memetakan John2 masuk ke Custodian04kredensial .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
F. Memetakan login ke kredensial Manajemen Kunci yang Dapat Diperluas
Contoh berikut memetakan Mary5 masuk ke kredensial EKM EKMProvider1.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Membuka kunci login
Untuk membuka kunci login SQL Server, jalankan pernyataan berikut, ganti **** dengan kata sandi akun yang diinginkan.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Untuk membuka kunci login tanpa mengubah kata sandi, nonaktifkan kebijakan pemeriksaan lalu aktifkan lagi.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Mengubah kata sandi login menggunakan HASHED
Contoh berikut mengubah kata sandi TestUser masuk ke nilai yang sudah di-hash.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Konten terkait
* Database SQL *
Azure Synapse
Analitik
SQL Database
Sintaks untuk Azure SQL Database
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
Argumen
login_name
Menentukan nama login SQL Server yang sedang diubah. Login domain harus diapit dalam tanda kurung dalam format [domain\user].
AKTIFKAN | MENONAKTIFKAN
Mengaktifkan atau menonaktifkan login ini. Menonaktifkan login tidak memengaruhi perilaku masuk yang sudah tersambung. (Gunakan pernyataan KILL untuk mengakhiri koneksi yang ada.) Login yang dinonaktifkan mempertahankan izin mereka dan masih dapat ditiru.
PASSWORD = 'kata sandi'
Hanya berlaku untuk login SQL Server. Menentukan kata sandi untuk login yang sedang diubah. Kata sandi peka huruf besar/kecil.
Koneksi yang terus aktif ke SQL Database memerlukan autentikasi ulang (dilakukan oleh Mesin Database) setidaknya setiap 10 jam. Mesin Database mencoba otorisasi ulang menggunakan kata sandi yang awalnya dikirimkan dan tidak ada input pengguna yang diperlukan. Untuk alasan performa, ketika kata sandi diatur ulang di SQL Database, koneksi tidak diautentikasi ulang, bahkan jika koneksi diatur ulang karena pengumpulan koneksi. Ini berbeda dari perilaku SQL Server lokal. Jika kata sandi telah berubah sejak koneksi awalnya diotorisasi, koneksi harus dihentikan dan koneksi baru yang dibuat menggunakan kata sandi baru. Pengguna dengan izin KILL DATABASE CONNECTION dapat secara eksplisit mengakhiri koneksi ke SQL Database dengan menggunakan perintah KILL. Untuk informasi selengkapnya, lihat KILL.
Penting
Saat login (atau pengguna database mandiri) tersambung dan diautentikasi, koneksi menyimpan informasi identitas tentang login. Untuk login Autentikasi Windows, ini mencakup informasi tentang keanggotaan di grup Windows. Identitas login tetap diautentikasi selama koneksi dipertahankan. Untuk memaksa perubahan identitas, seperti pengaturan ulang kata sandi atau perubahan keanggotaan grup Windows, login harus keluar dari otoritas autentikasi (Windows atau SQL Server), dan masuk lagi. Anggota
OLD_PASSWORD = 'old_password'
Hanya berlaku untuk login SQL Server. Kata sandi saat ini dari login tempat kata sandi baru akan ditetapkan. Kata sandi peka huruf besar/kecil.
NAMA = login_name
Nama baru login yang sedang diganti namanya. Jika ini adalah login Windows, SID prinsipal Windows yang sesuai dengan nama baru harus cocok dengan SID yang terkait dengan login di SQL Server. Nama baru login SQL Server tidak boleh berisi karakter garis miring terbelakang (\).
Komentar
Di SQL Database, data masuk yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE.
Izin
Memerlukan izin UBAH LOGIN APA PUN.
Jika login yang sedang diubah adalah anggota peran server tetap sysadmin
- Mereset kata sandi tanpa menyediakan kata sandi lama.
- Mengubah nama login.
- Mengaktifkan atau menonaktifkan login.
- Memetakan login ke kredensial yang berbeda.
Prinsipal dapat mengubah kata sandi untuk loginnya sendiri.
Contoh
Contoh-contoh ini juga mencakup contoh untuk menggunakan produk SQL lainnya. Lihat argumen sebelumnya mana yang didukung.
Sebuah. Mengaktifkan login yang dinonaktifkan
Contoh berikut memungkinkan login Mary5.
ALTER LOGIN Mary5 ENABLE;
B. Mengubah kata sandi login
Contoh berikut mengubah kata sandi Mary5 masuk ke kata sandi yang kuat.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Mengubah nama login
Contoh berikut mengubah nama Mary5 masuk menjadi John2.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Memetakan login ke kredensial
Contoh berikut memetakan John2 masuk ke Custodian04kredensial .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Memetakan login ke kredensial Manajemen Kunci yang Dapat Diperluas
Contoh berikut memetakan Mary5 masuk ke kredensial EKM EKMProvider1.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Mengubah kata sandi login menggunakan HASHED
Contoh berikut mengubah kata sandi TestUser masuk ke nilai yang sudah di-hash.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Konten terkait
* Instans Terkelola SQL *
Azure Synapse
Analitik
Azure SQL Managed Instance
Sintaks untuk SQL Server dan Azure SQL Managed Instance
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
| <cryptographic_credential_option>
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
<cryptographic_credentials_option> ::=
ADD CREDENTIAL credential_name
| DROP CREDENTIAL credential_name
-- Syntax for Azure SQL Managed Instance using Microsoft Entra logins
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
Argumen
Argumen yang berlaku untuk login SQL dan Microsoft Entra
login_name
Menentukan nama login SQL Server yang sedang diubah. Login Microsoft Entra harus ditentukan sebagai user@domain. Misalnya, john.smith@contoso.com, atau sebagai grup Microsoft Entra atau nama aplikasi. Untuk masuk Microsoft Entra, login_name harus sesuai dengan login Microsoft Entra yang sudah ada yang dibuat di database master.
AKTIFKAN | MENONAKTIFKAN
Mengaktifkan atau menonaktifkan login ini. Menonaktifkan login tidak memengaruhi perilaku masuk yang sudah tersambung. (Gunakan pernyataan KILL untuk mengakhiri koneksi yang ada.) Login yang dinonaktifkan mempertahankan izin mereka dan masih dapat ditiru.
DEFAULT_DATABASE = database
Menentukan database default yang akan ditetapkan ke login.
DEFAULT_LANGUAGE = bahasa
Menentukan bahasa default yang akan ditetapkan ke login. Bahasa default untuk semua login SQL Database adalah bahasa Inggris dan tidak dapat diubah. Bahasa default login sa di SQL Server di Linux adalah bahasa Inggris, tetapi dapat diubah.
Argumen hanya berlaku untuk login SQL
PASSWORD = 'kata sandi'
Hanya berlaku untuk login SQL Server. Menentukan kata sandi untuk login yang sedang diubah. Kata sandi peka huruf besar/kecil. Kata sandi juga tidak berlaku saat digunakan dengan login eksternal, seperti masuk Microsoft Entra.
Koneksi yang terus aktif ke SQL Database memerlukan autentikasi ulang (dilakukan oleh Mesin Database) setidaknya setiap 10 jam. Mesin Database mencoba otorisasi ulang menggunakan kata sandi yang awalnya dikirimkan dan tidak ada input pengguna yang diperlukan. Untuk alasan performa, ketika kata sandi diatur ulang di SQL Database, koneksi tidak diautentikasi ulang, bahkan jika koneksi diatur ulang karena pengumpulan koneksi. Ini berbeda dari perilaku SQL Server lokal. Jika kata sandi telah berubah sejak koneksi awalnya diotorisasi, koneksi harus dihentikan dan koneksi baru yang dibuat menggunakan kata sandi baru. Pengguna dengan izin KILL DATABASE CONNECTION dapat secara eksplisit mengakhiri koneksi ke SQL Database dengan menggunakan perintah KILL. Untuk informasi selengkapnya, lihat KILL.
KATA SANDI = hashed_password
Hanya berlaku untuk kata kunci HASHED. Menentukan nilai hash kata sandi untuk login yang sedang dibuat.
HASHED
Hanya berlaku untuk login SQL Server. Menentukan bahwa kata sandi yang dimasukkan setelah argumen PASSWORD sudah di-hash. Jika opsi ini tidak dipilih, kata sandi di-hash sebelum disimpan dalam database. Opsi ini hanya boleh digunakan untuk sinkronisasi masuk antara dua server. Jangan gunakan opsi HASHED untuk mengubah kata sandi secara rutin.
OLD_PASSWORD = 'old_password'
Hanya berlaku untuk login SQL Server. Kata sandi saat ini dari login tempat kata sandi baru akan ditetapkan. Kata sandi peka huruf besar/kecil.
MUST_CHANGE
Hanya berlaku untuk login SQL Server. Jika opsi ini disertakan, SQL Server meminta kata sandi yang diperbarui saat pertama kali login yang diubah digunakan.
NAMA = login_name
Nama baru login yang sedang diganti namanya. Jika login adalah login Windows, SID prinsipal Windows yang sesuai dengan nama baru harus cocok dengan SID yang terkait dengan login di SQL Server. Nama baru login SQL Server tidak boleh berisi karakter garis miring terbelakang (\).
CHECK_EXPIRATION = { AKTIF | NONAKTIF }
Hanya berlaku untuk login SQL Server. Menentukan apakah kebijakan kedaluwarsa kata sandi harus diberlakukan pada login ini. Nilai defaultnya adalah NONAKTIF.
CHECK_POLICY = { AKTIF | NONAKTIF }
Hanya berlaku untuk login SQL Server. Menentukan bahwa kebijakan kata sandi Windows komputer tempat SQL Server berjalan harus diberlakukan pada login ini. Nilai defaultnya adalah AKTIF.
INFO MASUK = credential_name
Nama kredensial yang akan dipetakan ke login SQL Server. Kredensial harus sudah ada di server. Untuk informasi selengkapnya, lihat Kredensial. Kredensial tidak dapat dipetakan ke login sa.
TIDAK ADA KREDENSIAL
Menghapus pemetaan login yang ada ke kredensial server. Untuk informasi selengkapnya, lihat Kredensial.
MEMBUKA
Hanya berlaku untuk login SQL Server. Menentukan bahwa login yang dikunci harus dibuka kuncinya.
TAMBAHKAN KREDENSIAL
Menambahkan kredensial penyedia Extensible Key Management (EKM) ke login. Untuk informasi selengkapnya, lihat Extensible Key Management (EKM).
JATUHKAN KREDENSIAL
Menghapus kredensial penyedia Extensible Key Management (EKM) dari login. Untuk informasi selengkapnya, lihat Extensible Key Management (EKM).
Komentar
Saat CHECK_POLICY diatur ke AKTIF, argumen HASHED tidak dapat digunakan.
Saat CHECK_POLICY diubah ke AKTIF, perilaku berikut terjadi:
- Riwayat kata sandi diinisialisasi dengan nilai hash kata sandi saat ini.
Saat CHECK_POLICY diubah ke NONAKTIF, perilaku berikut terjadi:
- CHECK_EXPIRATION juga diatur ke NONAKTIF.
- Riwayat kata sandi dihapus.
- Nilai lockout_time diatur ulang.
Jika MUST_CHANGE ditentukan, CHECK_EXPIRATION dan CHECK_POLICY harus diatur ke AKTIF. Jika tidak, pernyataan gagal.
Jika CHECK_POLICY diatur ke NONAKTIF, CHECK_EXPIRATION tidak dapat diatur ke AKTIF. Pernyataan UBAH LOGIN yang memiliki kombinasi opsi ini gagal.
Anda tidak dapat menggunakan ALTER_LOGIN dengan argumen DISABLE untuk menolak akses ke grup Windows. Ini sudah didesain. Misalnya, ALTER_LOGIN [domain\group] DISABLE mengembalikan pesan kesalahan berikut:
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
Di SQL Database, data masuk yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE.
Izin
Memerlukan izin UBAH LOGIN APA PUN.
Jika opsi KREDENSIAL digunakan, juga memerlukan izin UBAH INFO MASUK APA PUN.
Jika login yang sedang diubah adalah anggota peran server tetap sysadmin
- Mereset kata sandi tanpa menyediakan kata sandi lama.
- Mengaktifkan MUST_CHANGE, CHECK_POLICY, atau CHECK_EXPIRATION.
- Mengubah nama login.
- Mengaktifkan atau menonaktifkan login.
- Memetakan login ke kredensial yang berbeda.
Prinsipal dapat mengubah kata sandi, bahasa default, dan database default untuk loginnya sendiri.
Hanya perwakilan SQL dengan hak istimewa sysadmin yang dapat menjalankan perintah ALTER LOGIN terhadap login Microsoft Entra.
Contoh
Contoh-contoh ini juga mencakup contoh untuk menggunakan produk SQL lainnya. Lihat argumen sebelumnya mana yang didukung.
Sebuah. Mengaktifkan login yang dinonaktifkan
Contoh berikut memungkinkan login Mary5.
ALTER LOGIN Mary5 ENABLE;
B. Mengubah kata sandi login
Contoh berikut mengubah kata sandi Mary5 masuk ke kata sandi yang kuat.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Mengubah nama login
Contoh berikut mengubah nama Mary5 masuk menjadi John2.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Memetakan login ke kredensial
Contoh berikut memetakan John2 masuk ke Custodian04kredensial .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Memetakan login ke kredensial Manajemen Kunci yang Dapat Diperluas
Contoh berikut memetakan Mary5 masuk ke kredensial EKM EKMProvider1.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, dan Azure SQL Managed Instance.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Membuka kunci login
Untuk membuka kunci login SQL Server, jalankan pernyataan berikut, ganti **** dengan kata sandi akun yang diinginkan.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Untuk membuka kunci login tanpa mengubah kata sandi, nonaktifkan kebijakan pemeriksaan lalu aktifkan lagi.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Mengubah kata sandi login menggunakan HASHED
Contoh berikut mengubah kata sandi TestUser masuk ke nilai yang sudah di-hash.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, dan Azure SQL Managed Instance.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
H. Menonaktifkan login pengguna Microsoft Entra
Contoh berikut menonaktifkan login pengguna Microsoft Entra, joe@contoso.com.
ALTER LOGIN [joe@contoso.com] DISABLE;
Konten terkait
* Azure Synapse
Analitik *
Azure Synapse Analytics
Sintaks untuk Azure Synapse
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
Argumen
login_name
Menentukan nama login SQL Server yang sedang diubah. Login domain harus diapit dalam tanda kurung dalam format [domain\user].
AKTIFKAN | MENONAKTIFKAN
Mengaktifkan atau menonaktifkan login ini. Menonaktifkan login tidak memengaruhi perilaku masuk yang sudah tersambung. (Gunakan pernyataan KILL untuk mengakhiri koneksi yang ada.) Login yang dinonaktifkan mempertahankan izin mereka dan masih dapat ditiru.
PASSWORD = 'kata sandi'
Hanya berlaku untuk login SQL Server. Menentukan kata sandi untuk login yang sedang diubah. Kata sandi peka huruf besar/kecil.
Koneksi yang terus aktif ke SQL Database memerlukan autentikasi ulang (dilakukan oleh Mesin Database) setidaknya setiap 10 jam. Mesin Database mencoba otorisasi ulang menggunakan kata sandi yang awalnya dikirimkan dan tidak ada input pengguna yang diperlukan. Untuk alasan performa, ketika kata sandi diatur ulang di SQL Database, koneksi tidak diautentikasi ulang, bahkan jika koneksi diatur ulang karena pengumpulan koneksi. Ini berbeda dari perilaku SQL Server lokal. Jika kata sandi telah berubah sejak koneksi awalnya diotorisasi, koneksi harus dihentikan dan koneksi baru yang dibuat menggunakan kata sandi baru. Pengguna dengan izin KILL DATABASE CONNECTION dapat secara eksplisit mengakhiri koneksi ke SQL Database dengan menggunakan perintah KILL. Untuk informasi selengkapnya, lihat KILL.
Penting
Saat login (atau pengguna database mandiri) tersambung dan diautentikasi, koneksi menyimpan informasi identitas tentang login. Untuk login Autentikasi Windows, ini mencakup informasi tentang keanggotaan di grup Windows. Identitas login tetap diautentikasi selama koneksi dipertahankan. Untuk memaksa perubahan identitas, seperti pengaturan ulang kata sandi atau perubahan keanggotaan grup Windows, login harus keluar dari otoritas autentikasi (Windows atau SQL Server), dan masuk lagi. Anggota
OLD_PASSWORD = 'old_password'
Hanya berlaku untuk login SQL Server. Kata sandi saat ini dari login tempat kata sandi baru akan ditetapkan. Kata sandi peka huruf besar/kecil.
NAMA = login_name
Nama baru login yang sedang diganti namanya. Jika ini adalah login Windows, SID prinsipal Windows yang sesuai dengan nama baru harus cocok dengan SID yang terkait dengan login di SQL Server. Nama baru login SQL Server tidak boleh berisi karakter garis miring terbelakang (\).
Komentar
Di SQL Database, data masuk yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE.
Izin
Memerlukan izin UBAH LOGIN APA PUN.
Jika login yang sedang diubah adalah anggota peran server tetap sysadmin
- Mereset kata sandi tanpa menyediakan kata sandi lama.
- Mengubah nama login.
- Mengaktifkan atau menonaktifkan login.
- Memetakan login ke kredensial yang berbeda.
Prinsipal dapat mengubah kata sandi untuk loginnya sendiri.
Contoh
Contoh-contoh ini juga mencakup contoh untuk menggunakan produk SQL lainnya. Lihat argumen sebelumnya mana yang didukung.
Sebuah. Mengaktifkan login yang dinonaktifkan
Contoh berikut memungkinkan login Mary5.
ALTER LOGIN Mary5 ENABLE;
B. Mengubah kata sandi login
Contoh berikut mengubah kata sandi Mary5 masuk ke kata sandi yang kuat.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Mengubah nama login
Contoh berikut mengubah nama Mary5 masuk menjadi John2.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Memetakan login ke kredensial
Contoh berikut memetakan John2 masuk ke Custodian04kredensial .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Memetakan login ke kredensial Manajemen Kunci yang Dapat Diperluas
Contoh berikut memetakan Mary5 masuk ke kredensial EKM EKMProvider1.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Membuka kunci login
Untuk membuka kunci login SQL Server, jalankan pernyataan berikut, ganti **** dengan kata sandi akun yang diinginkan.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
G. Mengubah kata sandi login menggunakan HASHED
Contoh berikut mengubah kata sandi TestUser masuk ke nilai yang sudah di-hash.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Konten terkait
Azure Synapse
Analitik
* Analitik
Sistem Platform (PDW) *
Sistem Platform Analitik
Sintaks untuk Sistem Platform Analitik
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
}
<status_option> ::= ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
<password_option> ::=
MUST_CHANGE | UNLOCK
Argumen
login_name
Menentukan nama login SQL Server yang sedang diubah. Login domain harus diapit dalam tanda kurung dalam format [domain\user].
AKTIFKAN | MENONAKTIFKAN
Mengaktifkan atau menonaktifkan login ini. Menonaktifkan login tidak memengaruhi perilaku masuk yang sudah tersambung. (Gunakan pernyataan KILL untuk mengakhiri koneksi yang ada.) Login yang dinonaktifkan mempertahankan izin mereka dan masih dapat ditiru.
PASSWORD = 'kata sandi'
Hanya berlaku untuk login SQL Server. Menentukan kata sandi untuk login yang sedang diubah. Kata sandi peka huruf besar/kecil.
Penting
Saat login (atau pengguna database mandiri) tersambung dan diautentikasi, koneksi menyimpan informasi identitas tentang login. Untuk login Autentikasi Windows, ini mencakup informasi tentang keanggotaan di grup Windows. Identitas login tetap diautentikasi selama koneksi dipertahankan. Untuk memaksa perubahan identitas, seperti pengaturan ulang kata sandi atau perubahan keanggotaan grup Windows, login harus keluar dari otoritas autentikasi (Windows atau SQL Server), dan masuk lagi. Anggota
OLD_PASSWORD = 'old_password'
Hanya berlaku untuk login SQL Server. Kata sandi saat ini dari login tempat kata sandi baru akan ditetapkan. Kata sandi peka huruf besar/kecil.
MUST_CHANGE
Hanya berlaku untuk login SQL Server. Jika opsi ini disertakan, SQL Server meminta kata sandi yang diperbarui saat pertama kali login yang diubah digunakan.
NAMA = login_name
Nama baru login yang sedang diganti namanya. Jika login adalah login Windows, SID prinsipal Windows yang sesuai dengan nama baru harus cocok dengan SID yang terkait dengan login di SQL Server. Nama baru login SQL Server tidak boleh berisi karakter garis miring terbelakang (\).
CHECK_EXPIRATION = { AKTIF | NONAKTIF }
Hanya berlaku untuk login SQL Server. Menentukan apakah kebijakan kedaluwarsa kata sandi harus diberlakukan pada login ini. Nilai defaultnya adalah NONAKTIF.
CHECK_POLICY = { AKTIF | NONAKTIF }
Hanya berlaku untuk login SQL Server. Menentukan bahwa kebijakan kata sandi Windows komputer tempat SQL Server berjalan harus diberlakukan pada login ini. Nilai defaultnya adalah AKTIF.
MEMBUKA
Hanya berlaku untuk login SQL Server. Menentukan bahwa login yang dikunci harus dibuka kuncinya.
Komentar
Saat CHECK_POLICY diatur ke AKTIF, argumen HASHED tidak dapat digunakan.
Saat CHECK_POLICY diubah ke AKTIF, perilaku berikut terjadi:
- Riwayat kata sandi diinisialisasi dengan nilai hash kata sandi saat ini.
Saat CHECK_POLICY diubah ke NONAKTIF, perilaku berikut terjadi:
- CHECK_EXPIRATION juga diatur ke NONAKTIF.
- Riwayat kata sandi dihapus.
- Nilai lockout_time diatur ulang.
Jika MUST_CHANGE ditentukan, CHECK_EXPIRATION dan CHECK_POLICY harus diatur ke AKTIF. Jika tidak, pernyataan gagal.
Jika CHECK_POLICY diatur ke NONAKTIF, CHECK_EXPIRATION tidak dapat diatur ke AKTIF. Pernyataan UBAH LOGIN yang memiliki kombinasi opsi ini gagal.
Anda tidak dapat menggunakan ALTER_LOGIN dengan argumen DISABLE untuk menolak akses ke grup Windows. Ini sudah didesain. Misalnya, ALTER_LOGIN [domain\group] DISABLE mengembalikan pesan kesalahan berikut:
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
Di SQL Database, data masuk yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE.
Izin
Memerlukan izin UBAH LOGIN APA PUN.
Jika opsi KREDENSIAL digunakan, juga memerlukan izin UBAH INFO MASUK APA PUN.
Jika login yang sedang diubah adalah anggota peran server tetap sysadmin
- Mereset kata sandi tanpa menyediakan kata sandi lama.
- Mengaktifkan MUST_CHANGE, CHECK_POLICY, atau CHECK_EXPIRATION.
- Mengubah nama login.
- Mengaktifkan atau menonaktifkan login.
- Memetakan login ke kredensial yang berbeda.
Prinsipal dapat mengubah kata sandi, bahasa default, dan database default untuk loginnya sendiri.
Contoh
Contoh-contoh ini juga mencakup contoh untuk menggunakan produk SQL lainnya. Lihat argumen sebelumnya mana yang didukung.
Sebuah. Mengaktifkan login yang dinonaktifkan
Contoh berikut memungkinkan login Mary5.
ALTER LOGIN Mary5 ENABLE;
B. Mengubah kata sandi login
Contoh berikut mengubah kata sandi Mary5 masuk ke kata sandi yang kuat.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Mengubah nama login
Contoh berikut mengubah nama Mary5 masuk menjadi John2.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Memetakan login ke kredensial
Contoh berikut memetakan John2 masuk ke Custodian04kredensial .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Memetakan login ke kredensial Manajemen Kunci yang Dapat Diperluas
Contoh berikut memetakan Mary5 masuk ke kredensial EKM EKMProvider1.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Membuka kunci login
Untuk membuka kunci login SQL Server, jalankan pernyataan berikut, ganti **** dengan kata sandi akun yang diinginkan.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Untuk membuka kunci login tanpa mengubah kata sandi, nonaktifkan kebijakan pemeriksaan lalu aktifkan lagi.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Mengubah kata sandi login menggunakan HASHED
Contoh berikut mengubah kata sandi TestUser masuk ke nilai yang sudah di-hash.
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO