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.
Mengganti nama pengguna database atau mengubah skema defaultnya.
Note
ID Microsoft Entra 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
Syntax
-- Syntax for SQL Server
ALTER USER user_name
WITH <set_item> [ ,...n ]
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]
| DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
Arguments
user_name
Menentukan nama tempat pengguna diidentifikasi di dalam database ini.
LOGIN = login_name
Memetakan ulang pengguna ke login lain dengan mengubah Pengidentifikasi Keamanan (SID) pengguna agar sesuai dengan SID login.
NAME = new_user_name
Menentukan nama baru untuk pengguna ini. new_user_name belum ada di database saat ini.
DEFAULT_SCHEMA = { schema_name | NULL }
Menentukan skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna ini. Mengatur skema default ke NULL menghapus skema default dari grup Windows. Opsi NULL tidak dapat digunakan dengan pengguna Windows.
PASSWORD = 'kata sandi'
Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru, Azure SQL Database.
Menentukan kata sandi untuk pengguna yang sedang diubah. Kata sandi peka huruf besar/kecil.
Note
Opsi ini hanya tersedia untuk pengguna mandiri. Untuk informasi selengkapnya, lihat Database terkandung dan sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD ='oldpassword'
Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru, Azure SQL Database.
Kata sandi pengguna saat ini yang akan digantikan oleh 'kata sandi'. Kata sandi peka huruf besar/kecil. OLD_PASSWORD diperlukan untuk mengubah kata sandi, kecuali Anda memiliki izin UBAH PENGGUNA APA PUN. Mengharuskan OLD_PASSWORD mencegah pengguna dengan izin IMPERSONATION mengubah kata sandi.
Note
Opsi ini hanya tersedia untuk pengguna mandiri.
DEFAULT_LANGUAGE ={ NONE |< lcid >|< nama bahasa >| <> }
Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.
Menentukan bahasa default yang akan ditetapkan kepada pengguna. Jika opsi ini diatur ke NONE, bahasa default diatur ke bahasa default database saat ini. Jika bahasa default database kemudian diubah, bahasa default pengguna tetap tidak berubah. DEFAULT_LANGUAGE dapat berupa ID lokal (lcid), nama bahasa, atau alias bahasa.
Note
Opsi ini hanya dapat ditentukan dalam database mandiri dan hanya untuk pengguna mandiri.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ AKTIF | NONAKTIF ]
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, Azure SQL Database.
Menekan pemeriksaan metadata kriptografi pada server dalam operasi penyalinan massal. Ini memungkinkan pengguna menyalin data terenkripsi secara massal antara tabel atau database, tanpa mendekripsi data. Defaultnya adalah NONAKTIF.
Warning
Penggunaan opsi ini yang tidak tepat dapat menyebabkan kerusakan data. Untuk informasi selengkapnya, lihat memuat data terenkripsi secara massal ke kolom menggunakan Always Encrypted.
Remarks
Skema default akan menjadi skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna database ini. Kecuali ditentukan lain, skema default akan menjadi pemilik objek yang dibuat oleh pengguna database ini.
Jika pengguna memiliki skema default, skema default tersebut akan digunakan. Jika pengguna tidak memiliki skema default, tetapi pengguna adalah anggota grup yang memiliki skema default, skema default grup akan digunakan. Jika pengguna tidak memiliki skema default, dan merupakan anggota lebih dari satu grup, skema default untuk pengguna adalah grup Windows dengan principal_id terendah dan skema default yang ditetapkan secara eksplisit. Jika tidak ada skema default yang dapat ditentukan untuk pengguna, skema dbo digunakan.
DEFAULT_SCHEMA dapat diatur ke skema yang saat ini tidak terjadi dalam database. Oleh karena itu, Anda dapat menetapkan DEFAULT_SCHEMA kepada pengguna sebelum skema tersebut dibuat.
DEFAULT_SCHEMA tidak dapat ditentukan untuk pengguna yang dipetakan ke sertifikat, atau kunci asimetris.
Important
Nilai DEFAULT_SCHEMA diabaikan jika pengguna adalah anggota peran server tetap sysadmin . Semua anggota peran server tetap sysadmin memiliki skema dbodefault .
Anda dapat mengubah nama pengguna yang dipetakan ke login Atau grup Windows hanya ketika SID nama pengguna baru cocok dengan SID yang direkam dalam database. Pemeriksaan ini membantu mencegah spoofing login Windows dalam database.
Klausul WITH LOGIN memungkinkan pememajaan ulang pengguna ke login yang berbeda. Pengguna tanpa login, pengguna yang dipetakan ke sertifikat, atau pengguna yang dipetakan ke kunci asimetris tidak dapat dipetakan ulang dengan klausa ini. Hanya pengguna SQL dan pengguna Windows (atau grup) yang dapat dipetakan ulang. Klausa WITH LOGIN tidak dapat digunakan untuk mengubah jenis pengguna, seperti mengubah akun Windows ke login SQL Server.
SID yang tidak cocok dapat terjadi ketika Anda telah memulihkan database dari server lain dan membuat pengguna database dipetakan ke login SQL Server. Anda dapat menggunakan klausa WITH LOGIN untuk memperbaiki situasi ini dengan mengganti SID pengguna dalam database dengan SID masuk dari server.
Nama pengguna akan secara otomatis diganti namanya menjadi nama masuk jika kondisi berikut ini benar.
Pengguna adalah pengguna Windows.
Nama adalah nama Windows (berisi garis miring terbelakang).
Tidak ada nama baru yang ditentukan.
Nama saat ini berbeda dari nama masuk.
Jika tidak, pengguna tidak akan diganti namanya kecuali pemanggil juga memanggil klausa NAME.
Nama pengguna yang dipetakan ke login SQL Server, sertifikat, atau kunci asimetris tidak boleh berisi karakter garis miring terbalik (\).
Note
Skema tidak setara dengan pengguna database. Gunakan tampilan Katalog sistem untuk mengidentifikasi perbedaan antara pengguna database dan skema.
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.
Pratinjau 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.
Keamanan
Note
Pengguna yang memiliki izin ALTER ANY USER dapat mengubah skema default pengguna mana pun. Pengguna yang memiliki skema yang diubah mungkin tanpa sadar memilih data dari tabel yang salah atau menjalankan kode dari skema yang salah.
Permissions
Untuk mengubah nama pengguna memerlukan izin UBAH PENGGUNA APA PUN.
Untuk mengubah login target pengguna memerlukan izin CONTROL pada database.
Untuk mengubah nama pengguna pengguna yang memiliki izin CONTROL pada database memerlukan izin CONTROL pada database.
Untuk mengubah skema atau bahasa default, diperlukan izin UBAH pada pengguna. Pengguna dapat mengubah skema atau bahasa default mereka sendiri.
Examples
Semua contoh dijalankan dalam database pengguna.
A. Mengubah nama pengguna database
Contoh berikut mengubah nama pengguna Mary5 database menjadi Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Mengubah skema default pengguna
Contoh berikut mengubah skema default pengguna Mary51 menjadi Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Mengubah beberapa opsi sekaligus
Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.
Contoh berikut mengubah beberapa opsi untuk pengguna database mandiri dalam satu pernyataan. Ganti <new strong password here> dan <old strong password here> dengan nilai Anda sendiri.
ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>'
, DEFAULT_LANGUAGE= French ;
GO
D. Memperbaiki SID yang tidak cocok
Contoh berikut mengoreksi SID pengguna dalam database agar sesuai dengan SID di server untuk login terautentikasi SQL Server.
ALTER USER Mai
WITH LOGIN = Mai;
GO
Konten terkait
* Azure SQL Database dan Microsoft Fabric *
Azure Synapse
Analitik
Azure SQL Database dan Microsoft Fabric
Syntax
Sintaks untuk Azure SQL Database
-- Syntax for Azure SQL Database
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = schema_name
| LOGIN = login_name
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
[;]
-- Azure SQL Database Update Syntax
ALTER USER user_name
WITH <set_item> [ ,...n ]
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
-- SQL Database syntax when connected to a federation member
ALTER USER user_name
WITH <set_item> [ ,... n ]
[;]
<set_item> ::=
NAME = new_user_name
Sintaks untuk database SQL dalam Pratinjau Microsoft Fabric
ALTER USER
{
Microsoft_Entra_principal FROM EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid']
}
[ ; ]
-- Users that cannot authenticate
ALTER USER user_name
{
{ FOR | FROM } CERTIFICATE cert_name
| { FOR | FROM } ASYMMETRIC KEY asym_key_name
}
[ ; ]
<options_list> ::=
DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }
-- SQL Database syntax when connected to a federation member
ALTER USER user_name
[;]
Sintaks untuk Microsoft Fabric Warehouse
-- Syntax for Fabric Data Warehouse
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
| DEFAULT_SCHEMA = schema_name
[;]
Arguments
user_name
Menentukan nama tempat pengguna diidentifikasi di dalam database ini.
LOGIN = login_name
Memetakan ulang pengguna ke login lain dengan mengubah Pengidentifikasi Keamanan (SID) pengguna agar sesuai dengan SID login.
Jika pernyataan ALTER USER adalah satu-satunya pernyataan dalam batch SQL, Azure SQL Database mendukung klausa WITH LOGIN. Jika pernyataan ALTER USER bukan satu-satunya pernyataan dalam batch SQL atau dijalankan dalam SQL dinamis, klausa WITH LOGIN tidak didukung.
NAME = new_user_name
Menentukan nama baru untuk pengguna ini. new_user_name belum ada di database saat ini.
DEFAULT_SCHEMA = { schema_name | NULL }
Menentukan skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna ini.
Mengatur skema default ke NULL menghapus skema default dari pengguna yang dibuat untuk grup ID Microsoft Entra. Opsi NULL tidak dapat digunakan dengan jenis pengguna lain.
PASSWORD = 'kata sandi'
Berlaku untuk: Azure SQL Database.
Menentukan kata sandi untuk pengguna yang sedang diubah. Kata sandi peka huruf besar/kecil.
Note
Opsi ini hanya tersedia untuk pengguna mandiri. Untuk informasi selengkapnya, lihat Database terkandung dan sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD ='oldpassword'
Berlaku untuk: Azure SQL Database.
Kata sandi pengguna saat ini yang akan digantikan oleh 'kata sandi'. Kata sandi peka huruf besar/kecil. OLD_PASSWORD diperlukan untuk mengubah kata sandi, kecuali Anda memiliki izin UBAH PENGGUNA APA PUN. Mengharuskan OLD_PASSWORD mencegah pengguna dengan izin IMPERSONATION mengubah kata sandi.
Note
Opsi ini hanya tersedia untuk pengguna mandiri.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ AKTIF | NONAKTIF ]
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, Azure SQL Database.
Menekan pemeriksaan metadata kriptografi pada server dalam operasi penyalinan massal. Ini memungkinkan pengguna menyalin data terenkripsi secara massal antara tabel atau database, tanpa mendekripsi data. Defaultnya adalah NONAKTIF.
Warning
Penggunaan opsi ini yang tidak tepat dapat menyebabkan kerusakan data. Untuk informasi selengkapnya, lihat memuat data terenkripsi secara massal ke kolom menggunakan Always Encrypted.
Remarks
Skema default akan menjadi skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna database ini. Kecuali ditentukan lain, skema default akan menjadi pemilik objek yang dibuat oleh pengguna database ini.
Jika pengguna memiliki skema default, skema default tersebut akan digunakan. Jika pengguna tidak memiliki skema default, tetapi pengguna adalah anggota grup yang memiliki skema default, skema default grup akan digunakan. Jika pengguna tidak memiliki skema default, dan merupakan anggota lebih dari satu grup, skema default untuk pengguna adalah grup dengan principal_id terendah dan skema default yang ditetapkan secara eksplisit. Jika tidak ada skema default yang dapat ditentukan untuk pengguna, skema dbo digunakan.
DEFAULT_SCHEMA dapat diatur ke skema yang saat ini tidak terjadi dalam database. Oleh karena itu, Anda dapat menetapkan DEFAULT_SCHEMA kepada pengguna sebelum skema tersebut dibuat.
DEFAULT_SCHEMA tidak dapat ditentukan untuk pengguna yang dipetakan ke sertifikat, atau kunci asimetris.
Important
Nilai DEFAULT_SCHEMA diabaikan jika pengguna adalah anggota peran server tetap sysadmin . Semua anggota peran server tetap sysadmin memiliki skema dbodefault .
Klausul WITH LOGIN memungkinkan pememajaan ulang pengguna ke login yang berbeda. Pengguna tanpa login, pengguna yang dipetakan ke sertifikat, atau pengguna yang dipetakan ke kunci asimetris tidak dapat dipetakan ulang dengan klausa ini. Hanya pengguna SQL yang dapat dipetakan ulang. Klausa WITH LOGIN tidak dapat digunakan untuk mengubah jenis pengguna.
Nama pengguna akan secara otomatis diganti namanya menjadi nama masuk jika kondisi berikut ini benar.
Tidak ada nama baru yang ditentukan.
Nama saat ini berbeda dari nama masuk.
Jika tidak, pengguna tidak akan diganti namanya kecuali pemanggil juga memanggil klausa NAME.
Nama pengguna yang dipetakan ke login SQL Server, sertifikat, atau kunci asimetris tidak boleh berisi karakter garis miring terbalik (\).
Note
Skema tidak setara dengan pengguna database. Gunakan tampilan Katalog sistem untuk mengidentifikasi perbedaan antara pengguna database dan skema.
Database Fabric SQL
Untuk informasi selengkapnya, lihat:
- Autentikasi dalam database Microsoft Fabric SQL
- Otorisasi dalam database Microsoft Fabric SQL
Gudang Kain
Di Microsoft Fabric Warehouse, ALTER USER terbatas pada pengaturan skema default saja. Argumen lain yang umumnya terkait dengan ALTER USER di SQL atau produk lain tidak didukung dan akan mengembalikan kesalahan.
Di Microsoft Fabric Warehouse, nama kolab peka huruf besar/kecil.
Skema default akan menjadi skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna database ini. Kecuali ditentukan lain, skema default akan menjadi pemilik objek yang dibuat oleh pengguna database ini.
Jika pengguna memiliki skema default, skema tersebut akan digunakan. Jika tidak ada skema default yang ditentukan, skema dbo akan diterapkan. Mesin database pertama-tama akan mencoba mengatasi objek dalam skema default pengguna. Jika tidak ada objek yang cocok yang ditemukan, maka akan memeriksa skema dbo.
DEFAULT_SCHEMA dapat diatur ke skema yang saat ini tidak ada di database. Oleh karena itu, Anda dapat menetapkan DEFAULT_SCHEMA kepada pengguna sebelum skema tersebut dibuat.
Untuk informasi selengkapnya, lihat:
Keamanan
Note
Pengguna yang memiliki izin ALTER ANY USER dapat mengubah skema default pengguna mana pun. Pengguna yang memiliki skema yang diubah mungkin tanpa sadar memilih data dari tabel yang salah atau menjalankan kode dari skema yang salah.
Permissions
Untuk mengubah nama pengguna memerlukan izin UBAH PENGGUNA APA PUN.
Untuk mengubah login target pengguna memerlukan izin CONTROL pada database.
Untuk mengubah nama pengguna pengguna yang memiliki izin CONTROL pada database memerlukan izin CONTROL pada database.
Untuk mengubah skema atau bahasa default, diperlukan izin UBAH pada pengguna. Pengguna dapat mengubah skema atau bahasa default mereka sendiri.
Izin peran Gudang Fabric
Pengguna dengan minimum keanggotaan peran KONTRIBUTOR di ruang kerja dapat mengubah SKEMA DEFAULT pengguna apa pun di Fabric Data Warehouse.
Pengguna dengan keanggotaan peran VIEWER di ruang kerja, tidak dapat mengubah skema default mereka sendiri kecuali pengguna dengan akses yang ditingkatkan memberikan izin ini.
Pengguna yang disertakan dalam peran VIEWER di tingkat ruang kerja, memerlukan izin UBAH PENGGUNA APA PUN untuk mengubah skema default pengguna lain.
Examples
Semua contoh dijalankan dalam database pengguna.
A. Mengubah nama pengguna database
Contoh berikut mengubah nama pengguna Mary5 database menjadi Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Mengubah skema default pengguna
Contoh berikut mengubah skema default pengguna Mary51 menjadi Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Mengubah beberapa opsi sekaligus
Contoh berikut mengubah beberapa opsi untuk pengguna database mandiri dalam satu pernyataan. Ganti <new strong password here> dan <old strong password here> dengan nilai Anda sendiri.
ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>';
GO
D. Mengubah skema default pengguna
Contoh berikut mengubah skema default pengguna Mary51 menjadi Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Konten terkait
* SQL Managed Instance *
Azure Synapse
Analitik
Azure SQL Managed Instance
Syntax
Important
Hanya opsi berikut yang didukung untuk Azure SQL Managed Instance saat diterapkan ke pengguna dengan login Microsoft Entra: DEFAULT_SCHEMA = { schema_name | NULL } dan DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }
Ada ekstensi sintaks baru yang ditambahkan untuk membantu memulihkan pengguna dalam database yang dimigrasikan ke Azure SQL Managed Instance. Sintaks ALTER USER membantu memetakan pengguna database di domain federasi dan disinkronkan dengan ID Microsoft Entra, ke login Microsoft Entra.
-- Syntax for SQL Managed Instance
ALTER USER user_name
{ WITH <set_item> [ ,...n ] | FROM EXTERNAL PROVIDER }
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]
| DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
-- Users or groups that are migrated as federated and synchronized with Azure AD have the following syntax:
/** Applies to Windows users that were migrated and have the following user names:
- Windows user <domain\user>
- Windows group <domain\MyWindowsGroup>
- Windows alias <MyWindowsAlias>
**/
ALTER USER user_name
{ WITH <set_item> [ ,...n ] | FROM EXTERNAL PROVIDER }
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }
Arguments
user_name
Menentukan nama tempat pengguna diidentifikasi di dalam database ini.
LOGIN = login_name
Memetakan ulang pengguna ke login lain dengan mengubah Pengidentifikasi Keamanan (SID) pengguna agar sesuai dengan SID login.
Jika pernyataan ALTER USER adalah satu-satunya pernyataan dalam batch SQL, Azure SQL Database mendukung klausa WITH LOGIN. Jika pernyataan ALTER USER bukan satu-satunya pernyataan dalam batch SQL atau dijalankan dalam SQL dinamis, klausa WITH LOGIN tidak didukung.
NAME = new_user_name
Menentukan nama baru untuk pengguna ini. new_user_name belum ada di database saat ini.
DEFAULT_SCHEMA = { schema_name | NULL }
Menentukan skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna ini. Mengatur skema default ke NULL menghapus skema default dari grup Windows. Opsi NULL tidak dapat digunakan dengan pengguna Windows.
PASSWORD = 'kata sandi'
Menentukan kata sandi untuk pengguna yang sedang diubah. Kata sandi peka huruf besar/kecil.
Note
Opsi ini hanya tersedia untuk pengguna mandiri. Untuk informasi selengkapnya, lihat Database terkandung dan sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD = 'oldpassword'
Kata sandi pengguna saat ini yang akan digantikan oleh 'kata sandi'. Kata sandi peka huruf besar/kecil. OLD_PASSWORD diperlukan untuk mengubah kata sandi, kecuali Anda memiliki izin UBAH PENGGUNA APA PUN. Mengharuskan OLD_PASSWORD mencegah pengguna dengan izin IMPERSONATION mengubah kata sandi.
Note
Opsi ini hanya tersedia untuk pengguna mandiri.
DEFAULT_LANGUAGE ={ NONE |< lcid >|< nama bahasa >| <> }
Menentukan bahasa default yang akan ditetapkan kepada pengguna. Jika opsi ini diatur ke NONE, bahasa default diatur ke bahasa default database saat ini. Jika bahasa default database nanti diubah, bahasa default pengguna akan tetap tidak berubah. DEFAULT_LANGUAGE dapat berupa ID lokal (lcid), nama bahasa, atau alias bahasa.
Note
Opsi ini hanya dapat ditentukan dalam database mandiri dan hanya untuk pengguna mandiri.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ AKTIF | NONAKTIF ]
Menekan pemeriksaan metadata kriptografi pada server dalam operasi penyalinan massal. Ini memungkinkan pengguna menyalin data terenkripsi secara massal antara tabel atau database, tanpa mendekripsi data. Defaultnya adalah NONAKTIF.
Warning
Penggunaan opsi ini yang tidak tepat dapat menyebabkan kerusakan data. Untuk informasi selengkapnya, lihat memuat data terenkripsi secara massal ke kolom menggunakan Always Encrypted.
Remarks
Skema default akan menjadi skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna database ini. Kecuali ditentukan lain, skema default akan menjadi pemilik objek yang dibuat oleh pengguna database ini.
Jika pengguna memiliki skema default, skema default tersebut akan digunakan. Jika pengguna tidak memiliki skema default, tetapi pengguna adalah anggota grup yang memiliki skema default, skema default grup akan digunakan. Jika pengguna tidak memiliki skema default, dan merupakan anggota lebih dari satu grup, skema default untuk pengguna adalah grup Windows dengan principal_id terendah dan skema default yang ditetapkan secara eksplisit. Jika tidak ada skema default yang dapat ditentukan untuk pengguna, skema dbo digunakan.
DEFAULT_SCHEMA dapat diatur ke skema yang saat ini tidak terjadi dalam database. Oleh karena itu, Anda dapat menetapkan DEFAULT_SCHEMA kepada pengguna sebelum skema tersebut dibuat.
DEFAULT_SCHEMA tidak dapat ditentukan untuk pengguna yang dipetakan ke sertifikat, atau kunci asimetris.
Important
Nilai DEFAULT_SCHEMA diabaikan jika pengguna adalah anggota peran server tetap sysadmin . Semua anggota peran server tetap sysadmin memiliki skema dbodefault .
Anda dapat mengubah nama pengguna yang dipetakan ke login Atau grup Windows hanya ketika SID nama pengguna baru cocok dengan SID yang direkam dalam database. Pemeriksaan ini membantu mencegah spoofing login Windows dalam database.
Klausul WITH LOGIN memungkinkan pememajaan ulang pengguna ke login yang berbeda. Pengguna tanpa login, pengguna yang dipetakan ke sertifikat, atau pengguna yang dipetakan ke kunci asimetris tidak dapat dipetakan ulang dengan klausa ini. Hanya pengguna SQL dan pengguna Windows (atau grup) yang dapat dipetakan ulang. Klausa WITH LOGIN tidak dapat digunakan untuk mengubah jenis pengguna, seperti mengubah akun Windows ke login SQL Server. Satu-satunya pengecualian adalah ketika mengubah pengguna Windows menjadi pengguna Microsoft Entra.
Note
Aturan berikut ini tidak berlaku untuk pengguna Windows di Azure SQL Managed Instance karena kami tidak mendukung pembuatan login Windows di Azure SQL Managed Instance. Opsi WITH LOGIN hanya dapat digunakan jika login Microsoft Entra ada.
Nama pengguna akan secara otomatis diganti namanya menjadi nama masuk jika kondisi berikut ini benar.
Pengguna adalah pengguna Windows.
Nama adalah nama Windows (berisi garis miring terbelakang).
Tidak ada nama baru yang ditentukan.
Nama saat ini berbeda dari nama masuk.
Jika tidak, pengguna tidak akan diganti namanya kecuali pemanggil juga memanggil klausa NAME.
Nama pengguna yang dipetakan ke login SQL Server, sertifikat, atau kunci asimetris tidak boleh berisi karakter garis miring terbalik (\).
Note
Skema tidak setara dengan pengguna database. Gunakan tampilan Katalog sistem untuk mengidentifikasi perbedaan antara pengguna database dan skema.
Keterangan untuk pengguna Windows di SQL lokal yang dimigrasikan ke Azure SQL Managed Instance
Keterangan ini berlaku untuk mengautentikasi sebagai pengguna Windows yang telah digabungkan dan disinkronkan dengan ID Microsoft Entra.
- Validasi pengguna atau grup Windows yang dipetakan ke ID Microsoft Entra dilakukan secara default melalui Graph API di semua versi sintaks ALTER USER yang digunakan untuk tujuan migrasi.
- Pengguna lokal yang diberi alias (gunakan nama yang berbeda dari akun Windows asli) akan menyimpan nama alias.
- Untuk autentikasi Microsoft Entra, parameter LOGIN hanya berlaku untuk Azure SQL Managed Instance dan tidak dapat digunakan dengan SQL Database.
- Untuk melihat login untuk perwakilan Microsoft Entra, gunakan perintah berikut:
SELECT * FROM sys.server_principals;. - Periksa jenis login yang ditunjukkan adalah
EatauX. - Opsi KATA SANDI tidak dapat digunakan untuk pengguna Microsoft Entra.
- Dalam semua kasus migrasi, peran dan izin pengguna atau grup Windows akan secara otomatis ditransfer ke pengguna atau grup Microsoft Entra baru.
-
FROM EXTERNAL PROVIDERadalah untuk mengubah pengguna dan grup Windows dari SQL lokal ke pengguna dan grup Microsoft Entra. Domain Windows harus digabungkan dengan ID Microsoft Entra dan semua anggota domain Windows harus ada di ID Microsoft Entra saat menggunakan ekstensi ini. SintaksFROM EXTERNAL PROVIDERberlaku untuk Azure SQL Managed Instance dan harus digunakan jika pengguna Windows tidak memiliki login pada instans SQL asli dan perlu dipetakan ke pengguna database Microsoft Entra mandiri. - Dalam hal ini,
user_nameyang diizinkan dapat berupa: - Pengguna Windows (
domain\user). - Grup Windows (
MyWindowsGroup). - Alias Windows (
MyWindowsAlias). - Hasil perintah ALTER menggantikan
user_namelama dengan nama yang sesuai yang ditemukan di MICROSOFT Entra ID berdasarkan SID asli dariuser_namelama . Nama yang diubah diganti dan disimpan dalam metadata database: - (
domain\user) akan diganti dengan Microsoft Entrauser@domain.com. - (
domain\MyWindowsGroup) akan diganti dengan grup Microsoft Entra. - (
MyWindowsAlias) akan tetap tidak berubah tetapi SID pengguna ini akan diperiksa di ID Microsoft Entra.
Note
Jika SID pengguna asli yang dikonversi ke object_ID tidak dapat ditemukan di penyewa ID Microsoft Entra, perintah ALTER USER akan gagal.
- Untuk melihat pengguna yang diubah, gunakan perintah berikut:
SELECT * FROM sys.database_principals; - Periksa jenis
Eyang ditunjukkan pengguna atauX. - Ketika NAME digunakan untuk memigrasikan pengguna Windows ke pengguna Microsoft Entra, pembatasan berikut berlaku:
- LOGIN yang valid harus ditentukan.
- NAMA akan diperiksa di penyewa ID Microsoft Entra dan hanya dapat:
- Nama LOGIN.
- Alias - nama tidak dapat ada di ID Microsoft Entra.
- Dalam semua kasus lain, sintaks gagal.
Keamanan
Note
Pengguna yang memiliki izin ALTER ANY USER dapat mengubah skema default pengguna mana pun. Pengguna yang memiliki skema yang diubah mungkin tanpa sadar memilih data dari tabel yang salah atau menjalankan kode dari skema yang salah.
Permissions
Untuk mengubah nama pengguna memerlukan izin UBAH PENGGUNA APA PUN.
Untuk mengubah login target pengguna memerlukan izin CONTROL pada database.
Untuk mengubah nama pengguna pengguna yang memiliki izin CONTROL pada database memerlukan izin CONTROL pada database.
Untuk mengubah skema atau bahasa default, diperlukan izin UBAH pada pengguna. Pengguna dapat mengubah skema atau bahasa default mereka sendiri.
Examples
Semua contoh dijalankan dalam database pengguna.
A. Mengubah nama pengguna database
Contoh berikut mengubah nama pengguna Mary5 database menjadi Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Mengubah skema default pengguna
Contoh berikut mengubah skema default pengguna Mary51 menjadi Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Mengubah beberapa opsi sekaligus
Contoh berikut mengubah beberapa opsi untuk pengguna database mandiri dalam satu pernyataan. Ganti <new strong password here> dan <old strong password here> dengan nilai Anda sendiri.
ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>'
, DEFAULT_LANGUAGE= French ;
GO
D. Memetakan pengguna dalam database ke login Microsoft Entra setelah migrasi
Contoh berikut memetakan ulang pengguna, westus/joe ke pengguna Microsoft Entra, joe@westus.com. Contoh ini adalah untuk login yang sudah ada di instans terkelola. Ini perlu dilakukan setelah Anda menyelesaikan migrasi database ke Azure SQL Managed Instance, dan ingin menggunakan login Microsoft Entra untuk mengautentikasi.
ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com]
E. Memetakan pengguna Windows lama dalam database tanpa masuk di Azure SQL Managed Instance ke pengguna Microsoft Entra
Contoh berikut memetakan ulang pengguna, westus/joe tanpa masuk, ke pengguna Microsoft Entra, joe@westus.com. Pengguna federasi harus ada di ID Microsoft Entra.
ALTER USER [westus/joe] FROM EXTERNAL PROVIDER
F. Memetakan alias pengguna ke login Microsoft Entra yang sudah ada
Contoh berikut memetakan ulang nama pengguna, westus\joe ke joe_alias. Login Microsoft Entra yang sesuai dalam kasus ini adalah joe@westus.com.
ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com], name= joe_alias
G. Memetakan grup Windows yang dimigrasikan di Azure SQL Managed Instance ke grup Microsoft Entra
Contoh berikut memetakan ulang grup lokal lama, westus\mygroup ke grup mygroup Microsoft Entra dalam instans terkelola. Grup harus ada di ID Microsoft Entra.
ALTER USER [westus\mygroup] WITH LOGIN = mygroup;
Konten terkait
* Azure Synapse
Analytics*
Azure Synapse Analytics
Syntax
-- Syntax for Azure Synapse
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = new_user_name
| LOGIN = login_name
| DEFAULT_SCHEMA = schema_name
[;]
Arguments
user_name
Menentukan nama tempat pengguna diidentifikasi di dalam database ini.
LOGIN = login_name
Memetakan ulang pengguna ke login lain dengan mengubah Pengidentifikasi Keamanan (SID) pengguna agar sesuai dengan SID login.
Jika pernyataan ALTER USER adalah satu-satunya pernyataan dalam batch SQL, Azure SQL Database mendukung klausa WITH LOGIN. Jika pernyataan ALTER USER bukan satu-satunya pernyataan dalam batch SQL atau dijalankan dalam SQL dinamis, klausa WITH LOGIN tidak didukung.
NAME = new_user_name
Menentukan nama baru untuk pengguna ini. new_user_name belum ada di database saat ini.
DEFAULT_SCHEMA = { schema_name | NULL }
Menentukan skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna ini. Mengatur skema default ke NULL menghapus skema default dari grup Windows. Opsi NULL tidak dapat digunakan dengan pengguna Windows.
Remarks
Skema default akan menjadi skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna database ini. Kecuali ditentukan lain, skema default akan menjadi pemilik objek yang dibuat oleh pengguna database ini.
Jika pengguna memiliki skema default, skema default tersebut akan digunakan. Jika pengguna tidak memiliki skema default, tetapi pengguna adalah anggota grup yang memiliki skema default, skema default grup akan digunakan. Jika pengguna tidak memiliki skema default, dan merupakan anggota lebih dari satu grup, skema default untuk pengguna adalah grup Windows dengan principal_id terendah dan skema default yang ditetapkan secara eksplisit. Jika tidak ada skema default yang dapat ditentukan untuk pengguna, skema dbo digunakan.
DEFAULT_SCHEMA dapat diatur ke skema yang saat ini tidak terjadi dalam database. Oleh karena itu, Anda dapat menetapkan DEFAULT_SCHEMA kepada pengguna sebelum skema tersebut dibuat.
DEFAULT_SCHEMA tidak dapat ditentukan untuk pengguna yang dipetakan ke sertifikat, atau kunci asimetris.
Important
Nilai DEFAULT_SCHEMA diabaikan jika pengguna adalah anggota peran server tetap sysadmin . Semua anggota peran server tetap sysadmin memiliki skema dbodefault .
Klausul WITH LOGIN memungkinkan pememajaan ulang pengguna ke login yang berbeda. Pengguna tanpa login, pengguna yang dipetakan ke sertifikat, atau pengguna yang dipetakan ke kunci asimetris tidak dapat dipetakan ulang dengan klausa ini. Hanya pengguna SQL dan pengguna Windows (atau grup) yang dapat dipetakan ulang. Klausa WITH LOGIN tidak dapat digunakan untuk mengubah jenis pengguna, seperti mengubah akun Windows ke login SQL Server.
Nama pengguna akan secara otomatis diganti namanya menjadi nama masuk jika kondisi berikut ini benar.
Tidak ada nama baru yang ditentukan.
Nama saat ini berbeda dari nama masuk.
Jika tidak, pengguna tidak akan diganti namanya kecuali pemanggil juga memanggil klausa NAME.
Nama pengguna yang dipetakan ke login SQL Server, sertifikat, atau kunci asimetris tidak boleh berisi karakter garis miring terbalik (\).
Note
Skema tidak setara dengan pengguna database. Gunakan tampilan Katalog sistem untuk mengidentifikasi perbedaan antara pengguna database dan skema.
Keamanan
Note
Pengguna yang memiliki izin ALTER ANY USER dapat mengubah skema default pengguna mana pun. Pengguna yang memiliki skema yang diubah mungkin tanpa sadar memilih data dari tabel yang salah atau menjalankan kode dari skema yang salah.
Permissions
Untuk mengubah nama pengguna memerlukan izin UBAH PENGGUNA APA PUN.
Untuk mengubah login target pengguna memerlukan izin CONTROL pada database.
Untuk mengubah nama pengguna pengguna yang memiliki izin CONTROL pada database memerlukan izin CONTROL pada database.
Untuk mengubah skema atau bahasa default, diperlukan izin UBAH pada pengguna. Pengguna dapat mengubah skema atau bahasa default mereka sendiri.
Examples
Semua contoh dijalankan dalam database pengguna.
A. Mengubah nama pengguna database
Contoh berikut mengubah nama pengguna Mary5 database menjadi Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Mengubah skema default pengguna
Contoh berikut mengubah skema default pengguna Mary51 menjadi Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Konten terkait
Azure Synapse
Analitik
*Analytics
Sistem Platform (PDW) *
Sistem Platform Analisis
Syntax
-- Syntax for Analytics Platform System
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = new_user_name
| LOGIN = login_name
| DEFAULT_SCHEMA = schema_name
[;]
Arguments
user_name
Menentukan nama tempat pengguna diidentifikasi di dalam database ini.
LOGIN = login_name
Memetakan ulang pengguna ke login lain dengan mengubah Pengidentifikasi Keamanan (SID) pengguna agar sesuai dengan SID login.
Jika pernyataan ALTER USER adalah satu-satunya pernyataan dalam batch SQL, Azure SQL Database mendukung klausa WITH LOGIN. Jika pernyataan ALTER USER bukan satu-satunya pernyataan dalam batch SQL atau dijalankan dalam SQL dinamis, klausa WITH LOGIN tidak didukung.
NAME = new_user_name
Menentukan nama baru untuk pengguna ini. new_user_name belum ada di database saat ini.
DEFAULT_SCHEMA = { schema_name | NULL }
Menentukan skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna ini. Mengatur skema default ke NULL menghapus skema default dari grup Windows. Opsi NULL tidak dapat digunakan dengan pengguna Windows.
Remarks
Skema default akan menjadi skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek untuk pengguna database ini. Kecuali ditentukan lain, skema default akan menjadi pemilik objek yang dibuat oleh pengguna database ini.
Jika pengguna memiliki skema default, skema default tersebut akan digunakan. Jika pengguna tidak memiliki skema default, tetapi pengguna adalah anggota grup yang memiliki skema default, skema default grup akan digunakan. Jika pengguna tidak memiliki skema default, dan merupakan anggota lebih dari satu grup, skema default untuk pengguna adalah grup Windows dengan principal_id terendah dan skema default yang ditetapkan secara eksplisit. Jika tidak ada skema default yang dapat ditentukan untuk pengguna, skema dbo digunakan.
DEFAULT_SCHEMA dapat diatur ke skema yang saat ini tidak terjadi dalam database. Oleh karena itu, Anda dapat menetapkan DEFAULT_SCHEMA kepada pengguna sebelum skema tersebut dibuat.
DEFAULT_SCHEMA tidak dapat ditentukan untuk pengguna yang dipetakan ke sertifikat, atau kunci asimetris.
Important
Nilai DEFAULT_SCHEMA diabaikan jika pengguna adalah anggota peran server tetap sysadmin . Semua anggota peran server tetap sysadmin memiliki skema dbodefault .
Klausul WITH LOGIN memungkinkan pememajaan ulang pengguna ke login yang berbeda. Pengguna tanpa login, pengguna yang dipetakan ke sertifikat, atau pengguna yang dipetakan ke kunci asimetris tidak dapat dipetakan ulang dengan klausa ini. Hanya pengguna SQL dan pengguna Windows (atau grup) yang dapat dipetakan ulang. Klausa WITH LOGIN tidak dapat digunakan untuk mengubah jenis pengguna, seperti mengubah akun Windows ke login SQL Server.
Nama pengguna akan secara otomatis diganti namanya menjadi nama masuk jika kondisi berikut ini benar.
Tidak ada nama baru yang ditentukan.
Nama saat ini berbeda dari nama masuk.
Jika tidak, pengguna tidak akan diganti namanya kecuali pemanggil juga memanggil klausa NAME.
Nama pengguna yang dipetakan ke login SQL Server, sertifikat, atau kunci asimetris tidak boleh berisi karakter garis miring terbalik (\).
Note
Skema tidak setara dengan pengguna database. Gunakan tampilan Katalog sistem untuk mengidentifikasi perbedaan antara pengguna database dan skema.
Keamanan
Note
Pengguna yang memiliki izin ALTER ANY USER dapat mengubah skema default pengguna mana pun. Pengguna yang memiliki skema yang diubah mungkin tanpa sadar memilih data dari tabel yang salah atau menjalankan kode dari skema yang salah.
Permissions
Untuk mengubah nama pengguna memerlukan izin UBAH PENGGUNA APA PUN.
Untuk mengubah login target pengguna memerlukan izin CONTROL pada database.
Untuk mengubah nama pengguna pengguna yang memiliki izin CONTROL pada database memerlukan izin CONTROL pada database.
Untuk mengubah skema atau bahasa default, diperlukan izin UBAH pada pengguna. Pengguna dapat mengubah skema atau bahasa default mereka sendiri.
Examples
Semua contoh dijalankan dalam database pengguna.
A. Mengubah nama pengguna database
Contoh berikut mengubah nama pengguna Mary5 database menjadi Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Mengubah skema default pengguna
Contoh berikut mengubah skema default pengguna Mary51 menjadi Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO