Bagikan melalui


MENGUBAH PERAN APLIKASI (Transact-SQL)

Berlaku untuk: SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengubah nama, kata sandi, atau skema default peran aplikasi.

Konvensi sintaks transact-SQL

Sintaks

ALTER APPLICATION ROLE application_role_name
    WITH <set_item> [ , ...n ]

<set_item> ::=
    NAME = new_application_role_name
    | PASSWORD = 'password'
    | DEFAULT_SCHEMA = schema_name

Argumen

application_role_name

Nama peran aplikasi yang akan dimodifikasi.

NAMA = new_application_role_name

Menentukan nama baru peran aplikasi. Nama ini belum boleh digunakan untuk merujuk ke prinsipal apa pun dalam database.

PASSWORD = 'kata sandi'

Menentukan kata sandi untuk peran aplikasi. password harus memenuhi persyaratan kebijakan kata sandi Windows komputer yang menjalankan instans SQL Server. Anda harus selalu menggunakan kata sandi yang kuat.

DEFAULT_SCHEMA = schema_name

Menentukan skema pertama yang akan dicari oleh server ketika menyelesaikan nama objek. schema_name bisa menjadi skema yang tidak ada dalam database.

Keterangan

Jika nama peran aplikasi baru sudah ada dalam database, pernyataan gagal. Saat nama, kata sandi, atau skema default peran aplikasi diubah, ID yang terkait dengan peran tidak diubah.

Penting

Kebijakan kedaluwarsa kata sandi tidak diterapkan ke kata sandi peran aplikasi. Untuk alasan ini, berhati-hatilah dalam memilih kata sandi yang kuat. Aplikasi yang memanggil peran aplikasi harus menyimpan kata sandinya.

Peran aplikasi terlihat dalam sys.database_principals tampilan katalog.

Nota

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.

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.

Izin

Memerlukan izin UBAH PERAN APLIKASI APA PUN pada database. Untuk mengubah skema default, pengguna juga memerlukan izin ALTER pada peran aplikasi. Peran aplikasi dapat mengubah skema defaultnya sendiri, tetapi bukan nama atau kata sandinya.

Contoh

J. Mengubah nama peran aplikasi

Contoh berikut mengubah nama peran weekly_receipts aplikasi menjadi receipts_ledger.

USE AdventureWorks2022;
CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987Gbv8$76sPYY5m23' ,
    DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts
    WITH NAME = receipts_ledger;
GO

B. Mengubah kata sandi peran aplikasi

Contoh berikut mengubah kata sandi peran receipts_ledgeraplikasi .

ALTER APPLICATION ROLE receipts_ledger
    WITH PASSWORD = '897yUUbv867y$200nk2i';
GO

C. Mengubah nama, kata sandi, dan skema default

Contoh berikut mengubah nama, kata sandi, dan skema default peran receipts_ledger aplikasi secara bersamaan.

ALTER APPLICATION ROLE receipts_ledger
    WITH NAME = weekly_ledger,
    PASSWORD = '897yUUbv77bsrEE00nk2i',
    DEFAULT_SCHEMA = Production;
GO