Aracılığıyla paylaş


UYGULAMA ROLÜNÜ DEĞIŞTIR (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Bir uygulama rolünün adını, parolasını veya varsayılan şemasını değiştirir.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

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

Tartışmalar

application_role_name

Değiştirilecek uygulama rolünün adı.

İSIM = new_application_role_name

Uygulama rolünün yeni adını belirtir. Bu ad, veritabanındaki herhangi bir sorumluya başvurmak için zaten kullanılmamalıdır.

PASSWORD = 'parola'

Uygulama rolünün parolasını belirtir. password , SQL Server örneğini çalıştıran bilgisayarın Windows parola ilkesi gereksinimlerini karşılamalıdır. Her zaman güçlü parolalar kullanmalısınız.

DEFAULT_SCHEMA = schema_name

Nesne adlarını çözümlediğinde sunucu tarafından aranacak ilk şemayı belirtir. schema_name veritabanında mevcut olmayan bir şema olabilir.

Açıklamalar

Yeni uygulama rolü adı veritabanında zaten varsa, deyimi başarısız olur. Bir uygulama rolünün adı, parolası veya varsayılan şeması değiştirildiğinde rolle ilişkili kimlik değiştirilmez.

Önemli

Parola süre sonu ilkesi uygulama rolü parolalarına uygulanmaz. Bu nedenle, güçlü parolaları seçmeye daha fazla dikkat edin. Uygulama rollerini çağıran uygulamaların parolalarını depolaması gerekir.

Uygulama rolleri katalog görünümünde görünür sys.database_principals .

Uyarı

Şemalar veritabanı kullanıcılarına eşdeğer değildir. Veritabanı kullanıcıları ile şemalar arasındaki farkları belirlemek için Sistem kataloğu görünümlerini kullanın.

SQL Server 2012 (11.x) sürümünden başlayarak SQL Server ve Azure SQL DB, 32 bit rastgele ve benzersiz tuz ile birlikte sha-512 karması kullandı. Bu yöntem, saldırganların parolaları çözmesini istatistiksel olarak mümkün hale getirdi.

SQL Server 2025 (17.x), parola tabanlı anahtar türetme işlevi (PBKDF) olarak da bilinen RFC2898 yinelemeli karma algoritmasını tanıtır. Bu algoritma hala SHA-512 kullanır ancak parolayı birden çok kez karma olarak kullanır (100.000 yineleme), deneme yanılma saldırılarını önemli ölçüde yavaşlatır. Bu değişiklik, gelişen güvenlik tehditlerine yanıt olarak parola korumasını geliştirir ve müşterilerin NIST SP 800-63b yönergelerine uymasına yardımcı olur. Bu güvenlik geliştirmesi, SQL Kimlik Doğrulaması oturum açma işlemleri için oturum açma süresini biraz artırabilen daha güçlü bir karma algoritması kullanır. Etki genellikle bağlantı havuzu olan ortamlarda daha düşüktür, ancak havuza alınmamış veya oturum açma gecikmesinin yakından izlendiği senaryolarda daha belirgin olabilir.

İzinler

Veritabanı üzerinde ALTER ANY APPLICATION ROLE iznine ihtiyaç duyar. Varsayılan şemayı değiştirmek için kullanıcının uygulama rolünde ALTER iznine de sahip olması gerekir. Uygulama rolü kendi varsayılan şemasını değiştirebilir, ancak adını veya parolasını değiştiremez.

Örnekler

A. Uygulama rolünün adını değiştirme

Aşağıdaki örnek, uygulama rolünün weekly_receipts adını olarak receipts_ledgerdeğiştirir.

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. Uygulama rolünün parolasını değiştirme

Aşağıdaki örnek, uygulama rolünün receipts_ledgerparolasını değiştirir.

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

C. Adı, parolayı ve varsayılan şemayı değiştirme

Aşağıdaki örnek uygulama rolünün receipts_ledger adını, parolasını ve varsayılan şemasını aynı anda değiştirir.

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