Aracılığıyla paylaş


ALTER USER (Transact-SQL)

Veritabanı kullanıcısını yeniden adlandırır veya varsayılan şemasını değiştirir.

Transact-SQL söz dizimi kuralları

Note

Microsoft Entra ID daha önce Azure Active Directory (Azure AD) olarak biliniyordu.

Ürün seçin

Aşağıdaki satırda, ilgilendiğiniz ürün adını seçin ve yalnızca bu ürünün bilgileri görüntülenir.

* SQL Server *  

SQL Yönetilen Örneği

Azure Synapse'i
Analiz

 

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

Kullanıcının bu veritabanında tanımlandığı adı belirtir.

LOGIN = login_name

Kullanıcının Güvenlik Tanımlayıcısını (SID) oturum açmanın SID'sine uyacak şekilde değiştirerek kullanıcıyı başka bir oturum açmayla yeniden eşler.

NAME = new_user_name

Bu kullanıcının yeni adını belirtir. new_user_name geçerli veritabanında zaten mevcut olmamalıdır.

DEFAULT_SCHEMA = { schema_name | NULL }

Bu kullanıcı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şemayı belirtir. Varsayılan şemayı NULL olarak ayarlamak, windows grubundan varsayılan şemayı kaldırır. NULL seçeneği bir Windows kullanıcısı ile kullanılamaz.

PASSWORD = 'parola'

için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler, Azure SQL Veritabanı.

Değiştirilen kullanıcının parolasını belirtir. Parolalar büyük/küçük harfe duyarlıdır.

Note

Bu seçenek yalnızca bağımsız kullanıcılar için kullanılabilir. Daha fazla bilgi için bkz. Kapsanan Veritabanları ve sp_migrate_user_to_contained (Transact-SQL).

OLD_PASSWORD ='oldpassword'

için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler, Azure SQL Veritabanı.

'parola' ile değiştirilecek geçerli kullanıcı parolası. Parolalar büyük/küçük harfe duyarlıdır. OLD_PASSWORD, ALTER ANY USER izniniz olmadığı sürece parolayı değiştirmek için gereklidir. OLD_PASSWORD zorunlu KIMLIĞE BÜRÜNME izni olan kullanıcıların parolayı değiştirmesini engeller.

Note

Bu seçenek yalnızca bağımsız kullanıcılar için kullanılabilir.

DEFAULT_LANGUAGE ={ NONE | <lcid> | <dil adı> | <dil diğer adı> }

için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler.

Kullanıcıya atanacak varsayılan dili belirtir. Bu seçenek NONE olarak ayarlanırsa, varsayılan dil veritabanının geçerli varsayılan diline ayarlanır. Veritabanının varsayılan dili daha sonra değiştirilirse, kullanıcının varsayılan dili değişmeden kalır. DEFAULT_LANGUAGE yerel kimlik (lcid), dilin adı veya dil diğer adı olabilir.

Note

Bu seçenek yalnızca kapsanan bir veritabanında ve yalnızca kapsanan kullanıcılar için belirtilebilir.

ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | KAPALI ]

için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler, Azure SQL Veritabanı.

Toplu kopyalama işlemlerinde sunucuda şifreleme meta veri denetimlerini gizler. Bu, kullanıcının verilerin şifresini çözmeden şifrelenmiş verileri tablolar veya veritabanları arasında toplu olarak kopyalamasını sağlar. Varsayılan değer KAPALI'dır.

Warning

Bu seçeneğin yanlış kullanılması veri bozulmasına neden olabilir. Daha fazla bilgi için bkz. Always Encrypted kullanarak şifrelenmiş verileri sütunlara toplu yükleme.

Remarks

Varsayılan şema, bu veritabanı kullanıcısı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şema olacaktır. Aksi belirtilmedikçe, varsayılan şema bu veritabanı kullanıcısı tarafından oluşturulan nesnelerin sahibi olur.

Kullanıcının varsayılan şeması varsa, bu varsayılan şema kullanılır. Kullanıcının varsayılan şeması yoksa, ancak kullanıcı varsayılan şeması olan bir grubun üyesiyse, grubun varsayılan şeması kullanılır. Kullanıcının varsayılan şeması yoksa ve birden fazla grubun üyesiyse, kullanıcının varsayılan şeması en düşük principal_id ve açıkça ayarlanmış bir varsayılan şema olan Windows grubunun şeması olur. Bir kullanıcı için varsayılan şema belirlenemiyorsa, dbo şeması kullanılır.

DEFAULT_SCHEMA şu anda veritabanında gerçekleşmeyen bir şemaya ayarlanabilir. Bu nedenle, şema oluşturulmadan önce kullanıcıya bir DEFAULT_SCHEMA atayabilirsiniz.

DEFAULT_SCHEMA, bir sertifikaya veya asimetrik anahtara eşlenen bir kullanıcı için belirtilemiyor.

Important

Kullanıcı sysadmin sabit sunucu rolünün üyesiyse DEFAULT_SCHEMA değeri yoksayılır. sysadmin sabit sunucu rolünün tüm üyeleri varsayılan dboşemasına sahiptir.

Bir Windows oturum açma veya grubuyla eşlenen bir kullanıcının adını yalnızca yeni kullanıcı adının SID'sinin veritabanında kayıtlı SID ile eşleşmesi halinde değiştirebilirsiniz. Bu denetim, veritabanında Windows oturum açma bilgilerinin yanıltılmasını önlemeye yardımcı olur.

WITH LOGIN yan tümcesi, bir kullanıcının farklı bir oturum açma bilgilerine yeniden eşlenmeye olanak tanır. Oturum açma bilgisi olmayan kullanıcılar, sertifikayla eşlenen kullanıcılar veya asimetrik anahtarla eşlenen kullanıcılar bu yan tümceyle yeniden eşlenemez. Yalnızca SQL kullanıcıları ve Windows kullanıcıları (veya grupları) yeniden eşlenebilir. WITH LOGIN yan tümcesi, Windows hesabını SQL Server oturum açma bilgilerine değiştirme gibi kullanıcı türünü değiştirmek için kullanılamaz.

Bir veritabanını başka bir sunucudan geri yüklediğinizde ve veritabanı kullanıcısını SQL Server oturum açma bilgilerine eşlediğinizde eşleşmeyen sid oluşabilir. Veritabanındaki kullanıcı SID'sini sunucudan oturum açma SID'siyle değiştirerek bu durumu düzeltmek için WITH LOGIN yan tümcesini kullanabilirsiniz.

Aşağıdaki koşullar doğruysa, kullanıcının adı otomatik olarak oturum açma adı olarak yeniden adlandırılır.

  • Kullanıcı bir Windows kullanıcısıdır.

  • Ad bir Windows adıdır (ters eğik çizgi içerir).

  • Yeni ad belirtilmedi.

  • Geçerli ad, oturum açma adından farklıdır.

Aksi takdirde, çağıran ek olarak NAME yan tümcesini çağırmadığı sürece kullanıcı yeniden adlandırılamaz.

SQL Server oturum açma bilgilerine, sertifikaya veya asimetrik anahtara eşlenen kullanıcının adı ters eğik çizgi karakterini (\) içeremez.

Note

Ş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) Önizlemesi, parola tabanlı anahtar türetme işlevi (PBKDF) olarak da bilinen RFC2898 yinelemeli karma algoritmasını kullanıma sunms. 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. Bağlantı havuzu olan ortamlarda etki genellikle daha düşüktür, ancak havuza alınmamış veya oturum açma gecikmesinin yakından izlendiği senaryolarda daha belirgin olabilir.

Security

Note

ALTER ANY USER izni olan bir kullanıcı, herhangi bir kullanıcının varsayılan şemasını değiştirebilir. Şeması değiştirilmiş bir kullanıcı, farkında olmadan yanlış tablodan veri seçebilir veya yanlış şemadan kod yürütebilir.

Permissions

Kullanıcının adını değiştirmek için ALTER ANY USER izni gerekir.

Kullanıcının hedef oturum açma bilgilerini değiştirmek için veritabanında CONTROL izni gerekir.

Veritabanında CONTROL iznine sahip bir kullanıcının kullanıcı adını değiştirmek için veritabanında CONTROL izni gerekir.

Varsayılan şemayı veya dili değiştirmek için kullanıcı üzerinde ALTER izni gerekir. Kullanıcılar kendi varsayılan şemalarını veya dillerini değiştirebilir.

Examples

Tüm örnekler bir kullanıcı veritabanında yürütülür.

A. Veritabanı kullanıcısının adını değiştirme

Aşağıdaki örnek, veritabanı kullanıcı Mary5 adını Mary51olarak değiştirir.

ALTER USER Mary5 WITH NAME = Mary51;
GO

B. Kullanıcının varsayılan şemasını değiştirme

Aşağıdaki örnek, kullanıcı Mary51 varsayılan şemasını Purchasingolarak değiştirir.

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO

C. Aynı anda birkaç seçeneği değiştirme

için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler.

Aşağıdaki örnek, tek bir deyimde bulunan bir veritabanı kullanıcısı için çeşitli seçenekleri değiştirir. ve <new strong password here> değerlerini kendi değerlerinizle değiştirin<old strong password here>.

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. Eşleşmeyen SID'leri düzeltme

Aşağıdaki örnek, veritabanındaki kullanıcı SID'sini SQL Server kimliği doğrulanmış oturum açma için sunucudaki SID ile eşleşecek şekilde düzeltmektedir.

ALTER USER Mai
WITH LOGIN = Mai;
GO

* Azure SQL Veritabanı ve Microsoft Fabric *

SQL Yönetilen Örneği

Azure Synapse'i
Analiz

 

Azure SQL Veritabanı ve Microsoft Fabric

Syntax

Azure SQL Veritabanı söz dizimi

-- 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

Microsoft Fabric Preview'da SQL veritabanı söz dizimi

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
[;]

Microsoft Fabric Warehouse söz dizimi

-- Syntax for Fabric Data Warehouse

ALTER USER user_name
 WITH <set_item> [ ,...n ]

<set_item> ::=
 | DEFAULT_SCHEMA = schema_name
[;]

Arguments

user_name

Kullanıcının bu veritabanında tanımlandığı adı belirtir.

LOGIN = login_name

Kullanıcının Güvenlik Tanımlayıcısını (SID) oturum açmanın SID'sine uyacak şekilde değiştirerek kullanıcıyı başka bir oturum açmayla yeniden eşler.

ALTER USER deyimi bir SQL toplu işlemindeki tek deyimse, Azure SQL Veritabanı WITH LOGIN yan tümcesini destekler. ALTER USER deyimi sql toplu işlemindeki tek deyim değilse veya dinamik SQL'de yürütülürse, WITH LOGIN yan tümcesi desteklenmez.

NAME = new_user_name

Bu kullanıcının yeni adını belirtir. new_user_name geçerli veritabanında zaten mevcut olmamalıdır.

DEFAULT_SCHEMA = { schema_name | NULL }

Bu kullanıcı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şemayı belirtir.

Varsayılan şemayı NULL olarak ayarlamak, Microsoft Entra Id grubu için oluşturulan bir kullanıcıdan varsayılan şemayı kaldırır. NULL seçeneği başka bir kullanıcı türüyle kullanılamaz.

PASSWORD = 'parola'

için geçerlidir: Azure SQL Veritabanı.

Değiştirilen kullanıcının parolasını belirtir. Parolalar büyük/küçük harfe duyarlıdır.

Note

Bu seçenek yalnızca bağımsız kullanıcılar için kullanılabilir. Daha fazla bilgi için bkz. Kapsanan Veritabanları ve sp_migrate_user_to_contained (Transact-SQL).

OLD_PASSWORD ='oldpassword'

için geçerlidir: Azure SQL Veritabanı.

'parola' ile değiştirilecek geçerli kullanıcı parolası. Parolalar büyük/küçük harfe duyarlıdır. OLD_PASSWORD, ALTER ANY USER izniniz olmadığı sürece parolayı değiştirmek için gereklidir. OLD_PASSWORD zorunlu KIMLIĞE BÜRÜNME izni olan kullanıcıların parolayı değiştirmesini engeller.

Note

Bu seçenek yalnızca bağımsız kullanıcılar için kullanılabilir.

ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | KAPALI ]

için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler, Azure SQL Veritabanı.

Toplu kopyalama işlemlerinde sunucuda şifreleme meta veri denetimlerini gizler. Bu, kullanıcının verilerin şifresini çözmeden şifrelenmiş verileri tablolar veya veritabanları arasında toplu olarak kopyalamasını sağlar. Varsayılan değer KAPALI'dır.

Warning

Bu seçeneğin yanlış kullanılması veri bozulmasına neden olabilir. Daha fazla bilgi için bkz. Always Encrypted kullanarak şifrelenmiş verileri sütunlara toplu yükleme.

Remarks

Varsayılan şema, bu veritabanı kullanıcısı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şema olacaktır. Aksi belirtilmedikçe, varsayılan şema bu veritabanı kullanıcısı tarafından oluşturulan nesnelerin sahibi olur.

Kullanıcının varsayılan şeması varsa, bu varsayılan şema kullanılır. Kullanıcının varsayılan şeması yoksa, ancak kullanıcı varsayılan şeması olan bir grubun üyesiyse, grubun varsayılan şeması kullanılır. Kullanıcının varsayılan şeması yoksa ve birden fazla grubun üyesiyse, kullanıcının varsayılan şeması en düşük principal_id ve açıkça ayarlanmış bir varsayılan şema olan grubun şeması olur. Bir kullanıcı için varsayılan şema belirlenemiyorsa, dbo şeması kullanılır.

DEFAULT_SCHEMA şu anda veritabanında gerçekleşmeyen bir şemaya ayarlanabilir. Bu nedenle, şema oluşturulmadan önce kullanıcıya bir DEFAULT_SCHEMA atayabilirsiniz.

DEFAULT_SCHEMA, bir sertifikaya veya asimetrik anahtara eşlenen bir kullanıcı için belirtilemiyor.

Important

Kullanıcı sysadmin sabit sunucu rolünün üyesiyse DEFAULT_SCHEMA değeri yoksayılır. sysadmin sabit sunucu rolünün tüm üyeleri varsayılan dboşemasına sahiptir.

WITH LOGIN yan tümcesi, bir kullanıcının farklı bir oturum açma bilgilerine yeniden eşlenmeye olanak tanır. Oturum açma bilgisi olmayan kullanıcılar, sertifikayla eşlenen kullanıcılar veya asimetrik anahtarla eşlenen kullanıcılar bu yan tümceyle yeniden eşlenemez. Yalnızca SQL kullanıcıları yeniden eşlenebilir. WITH LOGIN yan tümcesi, kullanıcı türünü değiştirmek için kullanılamaz.

Aşağıdaki koşullar doğruysa, kullanıcının adı otomatik olarak oturum açma adı olarak yeniden adlandırılır.

  • Yeni ad belirtilmedi.

  • Geçerli ad, oturum açma adından farklıdır.

Aksi takdirde, çağıran ek olarak NAME yan tümcesini çağırmadığı sürece kullanıcı yeniden adlandırılamaz.

SQL Server oturum açma bilgilerine, sertifikaya veya asimetrik anahtara eşlenen kullanıcının adı ters eğik çizgi karakterini (\) içeremez.

Note

Ş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.

Doku SQL veritabanı

Daha fazla bilgi için bkz:

  • Microsoft Fabric SQL veritabanı Kimlik Doğrulaması
  • Microsoft Fabric SQL veritabanı Yetkilendirme

Doku Ambarı

Microsoft Fabric Warehouse'da ALTER USER yalnızca varsayılan şemayı ayarlamakla sınırlıdır. SQL'de veya diğer ürünlerde ALTER USER ile yaygın olarak ilişkili diğer bağımsız değişkenler desteklenmez ve hata döndürür.

Microsoft Fabric Warehouse'da harmanlama adı büyük/küçük harfe duyarlıdır.

Varsayılan şema, bu veritabanı kullanıcısı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şema olacaktır. Aksi belirtilmedikçe, varsayılan şema bu veritabanı kullanıcısı tarafından oluşturulan nesnelerin sahibi olur.

Kullanıcının varsayılan şeması varsa, bu şema kullanılır. Varsayılan şema belirtilmezse, dbo şeması uygulanır. Veritabanı altyapısı önce kullanıcının varsayılan şemasındaki nesneleri çözümlemeye çalışır. Eşleşen bir nesne bulunmazsa dbo şemasını denetler.

DEFAULT_SCHEMA şu anda veritabanında mevcut olmayan bir şemaya ayarlanabilir. Bu nedenle, şema oluşturulmadan önce kullanıcıya bir DEFAULT_SCHEMA atayabilirsiniz.

Daha fazla bilgi için bkz:

Security

Note

ALTER ANY USER izni olan bir kullanıcı, herhangi bir kullanıcının varsayılan şemasını değiştirebilir. Şeması değiştirilmiş bir kullanıcı, farkında olmadan yanlış tablodan veri seçebilir veya yanlış şemadan kod yürütebilir.

Permissions

Kullanıcının adını değiştirmek için ALTER ANY USER izni gerekir.

Kullanıcının hedef oturum açma bilgilerini değiştirmek için veritabanında CONTROL izni gerekir.

Veritabanında CONTROL iznine sahip bir kullanıcının kullanıcı adını değiştirmek için veritabanında CONTROL izni gerekir.

Varsayılan şemayı veya dili değiştirmek için kullanıcı üzerinde ALTER izni gerekir. Kullanıcılar kendi varsayılan şemalarını veya dillerini değiştirebilir.

Doku Ambarı rol izinleri

Çalışma alanında en az KATKıDA BULUNAN rolü üyeliğine sahip kullanıcılar, Doku Veri Ambarı'ndaki tüm kullanıcıların DEFAULT SCHEMA değerini değiştirebilir.

Çalışma alanında GÖRÜNTÜLEYICI rolü üyeliği olan kullanıcılar, yükseltilmiş erişime sahip bir kullanıcı bu izni vermediği sürece kendi varsayılan şemalarını değiştiremez.

Çalışma alanı düzeyinde GÖRÜNTÜLEYICI rolüne dahil olan kullanıcılar, diğer kullanıcıların varsayılan şemasını değiştirmek için HERHANGİ Bİr KULLANICIYI DEĞİşTİr izni gerektirir.

Examples

Tüm örnekler bir kullanıcı veritabanında yürütülür.

A. Veritabanı kullanıcısının adını değiştirme

Aşağıdaki örnek, veritabanı kullanıcı Mary5 adını Mary51olarak değiştirir.

ALTER USER Mary5 WITH NAME = Mary51;
GO

B. Kullanıcının varsayılan şemasını değiştirme

Aşağıdaki örnek, kullanıcı Mary51 varsayılan şemasını Purchasingolarak değiştirir.

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO

C. Aynı anda birkaç seçeneği değiştirme

Aşağıdaki örnek, tek bir deyimde bulunan bir veritabanı kullanıcısı için çeşitli seçenekleri değiştirir. ve <new strong password here> değerlerini kendi değerlerinizle değiştirin<old strong password here>.

ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>';
GO

D. Kullanıcının varsayılan şemasını değiştirme

Aşağıdaki örnek, kullanıcı Mary51 varsayılan şemasını Purchasingolarak değiştirir.

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO

* SQL Yönetilen Örneği *

Azure Synapse'i
Analiz

 

Azure SQL Yönetilen Örneği

Syntax

Important

Microsoft Entra oturum açma bilgilerine sahip kullanıcılara uygulanırken Azure SQL Yönetilen Örneği için yalnızca aşağıdaki seçenekler desteklenir: DEFAULT_SCHEMA = { schema_name | NULL } ve DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }

Azure SQL Yönetilen Örneği'ne geçirilen bir veritabanındaki kullanıcıların yeniden eşlenmesine yardımcı olmak için eklenen yeni bir söz dizimi uzantısı vardır. ALTER USER söz dizimi, federasyon ve eşitlenmiş bir etki alanındaki veritabanı kullanıcılarını Microsoft Entra Kimliği ile Microsoft Entra oturum açma bilgileriyle eşlemeye yardımcı olur.

-- 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

Kullanıcının bu veritabanında tanımlandığı adı belirtir.

LOGIN = login_name

Kullanıcının Güvenlik Tanımlayıcısını (SID) oturum açmanın SID'sine uyacak şekilde değiştirerek kullanıcıyı başka bir oturum açmayla yeniden eşler.

ALTER USER deyimi bir SQL toplu işlemindeki tek deyimse, Azure SQL Veritabanı WITH LOGIN yan tümcesini destekler. ALTER USER deyimi sql toplu işlemindeki tek deyim değilse veya dinamik SQL'de yürütülürse, WITH LOGIN yan tümcesi desteklenmez.

NAME = new_user_name

Bu kullanıcının yeni adını belirtir. new_user_name geçerli veritabanında zaten mevcut olmamalıdır.

DEFAULT_SCHEMA = { schema_name | NULL }

Bu kullanıcı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şemayı belirtir. Varsayılan şemayı NULL olarak ayarlamak, windows grubundan varsayılan şemayı kaldırır. NULL seçeneği bir Windows kullanıcısı ile kullanılamaz.

PASSWORD = 'parola'

Değiştirilen kullanıcının parolasını belirtir. Parolalar büyük/küçük harfe duyarlıdır.

Note

Bu seçenek yalnızca bağımsız kullanıcılar için kullanılabilir. Daha fazla bilgi için bkz. Kapsanan Veritabanları ve sp_migrate_user_to_contained (Transact-SQL).

OLD_PASSWORD = 'oldpassword'

'parola' ile değiştirilecek geçerli kullanıcı parolası. Parolalar büyük/küçük harfe duyarlıdır. OLD_PASSWORD, ALTER ANY USER izniniz olmadığı sürece parolayı değiştirmek için gereklidir. OLD_PASSWORD zorunlu KIMLIĞE BÜRÜNME izni olan kullanıcıların parolayı değiştirmesini engeller.

Note

Bu seçenek yalnızca bağımsız kullanıcılar için kullanılabilir.

DEFAULT_LANGUAGE ={ NONE | <lcid> | <dil adı> | <dil diğer adı> }

Kullanıcıya atanacak varsayılan dili belirtir. Bu seçenek NONE olarak ayarlanırsa, varsayılan dil veritabanının geçerli varsayılan diline ayarlanır. Veritabanının varsayılan dili daha sonra değiştirilirse, kullanıcının varsayılan dili değişmeden kalır. DEFAULT_LANGUAGE yerel kimlik (lcid), dilin adı veya dil diğer adı olabilir.

Note

Bu seçenek yalnızca kapsanan bir veritabanında ve yalnızca kapsanan kullanıcılar için belirtilebilir.

ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | KAPALI ]

Toplu kopyalama işlemlerinde sunucuda şifreleme meta veri denetimlerini gizler. Bu, kullanıcının verilerin şifresini çözmeden şifrelenmiş verileri tablolar veya veritabanları arasında toplu olarak kopyalamasını sağlar. Varsayılan değer KAPALI'dır.

Warning

Bu seçeneğin yanlış kullanılması veri bozulmasına neden olabilir. Daha fazla bilgi için bkz. Always Encrypted kullanarak şifrelenmiş verileri sütunlara toplu yükleme.

Remarks

Varsayılan şema, bu veritabanı kullanıcısı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şema olacaktır. Aksi belirtilmedikçe, varsayılan şema bu veritabanı kullanıcısı tarafından oluşturulan nesnelerin sahibi olur.

Kullanıcının varsayılan şeması varsa, bu varsayılan şema kullanılır. Kullanıcının varsayılan şeması yoksa, ancak kullanıcı varsayılan şeması olan bir grubun üyesiyse, grubun varsayılan şeması kullanılır. Kullanıcının varsayılan şeması yoksa ve birden fazla grubun üyesiyse, kullanıcının varsayılan şeması en düşük principal_id ve açıkça ayarlanmış bir varsayılan şema olan Windows grubunun şeması olur. Bir kullanıcı için varsayılan şema belirlenemiyorsa, dbo şeması kullanılır.

DEFAULT_SCHEMA şu anda veritabanında gerçekleşmeyen bir şemaya ayarlanabilir. Bu nedenle, şema oluşturulmadan önce kullanıcıya bir DEFAULT_SCHEMA atayabilirsiniz.

DEFAULT_SCHEMA, bir sertifikaya veya asimetrik anahtara eşlenen bir kullanıcı için belirtilemiyor.

Important

Kullanıcı sysadmin sabit sunucu rolünün üyesiyse DEFAULT_SCHEMA değeri yoksayılır. sysadmin sabit sunucu rolünün tüm üyeleri varsayılan dboşemasına sahiptir.

Bir Windows oturum açma veya grubuyla eşlenen bir kullanıcının adını yalnızca yeni kullanıcı adının SID'sinin veritabanında kayıtlı SID ile eşleşmesi halinde değiştirebilirsiniz. Bu denetim, veritabanında Windows oturum açma bilgilerinin yanıltılmasını önlemeye yardımcı olur.

WITH LOGIN yan tümcesi, bir kullanıcının farklı bir oturum açma bilgilerine yeniden eşlenmeye olanak tanır. Oturum açma bilgisi olmayan kullanıcılar, sertifikayla eşlenen kullanıcılar veya asimetrik anahtarla eşlenen kullanıcılar bu yan tümceyle yeniden eşlenemez. Yalnızca SQL kullanıcıları ve Windows kullanıcıları (veya grupları) yeniden eşlenebilir. WITH LOGIN yan tümcesi, Windows hesabını SQL Server oturum açma bilgilerine değiştirme gibi kullanıcı türünü değiştirmek için kullanılamaz. Tek istisna, bir Windows kullanıcısını Microsoft Entra kullanıcısı olarak değiştirmektir.

Note

Azure SQL Yönetilen Örneği'ne Windows oturum açma bilgileri oluşturmayı desteklemediğimizden, aşağıdaki kurallar Azure SQL Yönetilen Örneği'nin Windows kullanıcıları için geçerli değildir. WITH LOGIN seçeneği yalnızca Microsoft Entra oturum açma bilgileri mevcutsa kullanılabilir.

Aşağıdaki koşullar doğruysa, kullanıcının adı otomatik olarak oturum açma adı olarak yeniden adlandırılır.

  • Kullanıcı bir Windows kullanıcısıdır.

  • Ad bir Windows adıdır (ters eğik çizgi içerir).

  • Yeni ad belirtilmedi.

  • Geçerli ad, oturum açma adından farklıdır.

Aksi takdirde, çağıran ek olarak NAME yan tümcesini çağırmadığı sürece kullanıcı yeniden adlandırılamaz.

SQL Server oturum açma bilgilerine, sertifikaya veya asimetrik anahtara eşlenen kullanıcının adı ters eğik çizgi karakterini (\) içeremez.

Note

Ş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.

Şirket içi SQL'de Azure SQL Yönetilen Örneği'ne geçirilen Windows kullanıcıları için açıklamalar

Bu açıklamalar, federasyona alınmış ve Microsoft Entra Id ile eşitlenmiş Windows kullanıcıları olarak kimlik doğrulaması için geçerlidir.

  • Microsoft Entra Id ile eşlenen Windows kullanıcılarının veya gruplarının doğrulanması, geçiş amacıyla kullanılan ALTER USER söz diziminin tüm sürümlerinde Graph API'si aracılığıyla varsayılan olarak gerçekleştirilir.
  • Diğer ad kullanılan şirket içi kullanıcılar (özgün Windows hesabından farklı bir ad kullanın) diğer adı saklar.
  • Microsoft Entra kimlik doğrulaması için LOGIN parametresi yalnızca Azure SQL Yönetilen Örneği için geçerlidir ve SQL Veritabanı ile kullanılamaz.
  • Microsoft Entra sorumlularının oturum açma bilgilerini görüntülemek için şu komutu kullanın: SELECT * FROM sys.server_principals;.
  • Oturum açma bilgilerinin belirtilen türünün E veya Xolup olmadığını denetleyin.
  • PASSWORD seçeneği Microsoft Entra kullanıcıları için kullanılamaz.
  • Tüm geçiş olaylarında, Windows kullanıcılarının veya gruplarının rolleri ve izinleri otomatik olarak yeni Microsoft Entra kullanıcılarına veya gruplarına aktarılır.
  • FROM EXTERNAL PROVIDER, Windows kullanıcılarını ve gruplarını şirket içi SQL'den Microsoft Entra kullanıcı ve gruplarına değiştirmeye yöneliktir. Bu uzantı kullanılırken Windows etki alanı Microsoft Entra Id ile birleştirilmiş olmalı ve tüm Windows etki alanı üyeleri Microsoft Entra Id içinde bulunmalıdır. FROM EXTERNAL PROVIDER söz dizimi Azure SQL Yönetilen Örneği için geçerlidir ve Windows kullanıcılarının özgün SQL örneğinde oturum açmaları olmaması ve tek başına Microsoft Entra veritabanı kullanıcılarına eşlenmesi gerektiğinde kullanılmalıdır.
  • Bu durumda, izin verilebilen user_name:
  • Bir Windows kullanıcısı (domain\user).
  • Bir Windows grubu (MyWindowsGroup).
  • Bir Windows diğer adı (MyWindowsAlias).
  • ALTER komutunun sonucu, eski user_name eski user_nameözgün SID'sine göre Microsoft Entra Id'de bulunan karşılık gelen adla değiştirir. Değiştirilen ad değiştirilir ve veritabanının meta verilerinde depolanır:
  • (domain\user) yerine Microsoft Entra user@domain.comkullanılacaktır.
  • (domain\MyWindowsGroup), Microsoft Entra grubu ile değiştirilecektir.
  • (MyWindowsAlias) değişmeden kalır, ancak bu kullanıcının SID'si Microsoft Entra Kimliği'nde denetlenecektir.

Note

object_ID dönüştürülen özgün kullanıcının SID'si Microsoft Entra ID kiracısında bulunamazsa, ALTER USER komutu başarısız olur.

  • Değiştirilen kullanıcıları görüntülemek için şu komutu kullanın: SELECT * FROM sys.database_principals;
  • Kullanıcının belirtilen tür E veya Xdenetleyin.
  • Windows kullanıcılarını Microsoft Entra kullanıcılarına geçirmek için AD kullanıldığında, aşağıdaki kısıtlamalar geçerlidir:
    • Geçerli bir LOGIN belirtilmelidir.
    • AD, Microsoft Entra Id kiracısında denetlenecek ve yalnızca:
      • LOGIN'in adı.
      • Diğer ad: Ad Microsoft Entra Kimliği'nde bulunamaz.
      • Diğer tüm durumlarda söz dizimi başarısız olur.

Security

Note

ALTER ANY USER izni olan bir kullanıcı, herhangi bir kullanıcının varsayılan şemasını değiştirebilir. Şeması değiştirilmiş bir kullanıcı, farkında olmadan yanlış tablodan veri seçebilir veya yanlış şemadan kod yürütebilir.

Permissions

Kullanıcının adını değiştirmek için ALTER ANY USER izni gerekir.

Kullanıcının hedef oturum açma bilgilerini değiştirmek için veritabanında CONTROL izni gerekir.

Veritabanında CONTROL iznine sahip bir kullanıcının kullanıcı adını değiştirmek için veritabanında CONTROL izni gerekir.

Varsayılan şemayı veya dili değiştirmek için kullanıcı üzerinde ALTER izni gerekir. Kullanıcılar kendi varsayılan şemalarını veya dillerini değiştirebilir.

Examples

Tüm örnekler bir kullanıcı veritabanında yürütülür.

A. Veritabanı kullanıcısının adını değiştirme

Aşağıdaki örnek, veritabanı kullanıcı Mary5 adını Mary51olarak değiştirir.

ALTER USER Mary5 WITH NAME = Mary51;
GO

B. Kullanıcının varsayılan şemasını değiştirme

Aşağıdaki örnek, kullanıcı Mary51 varsayılan şemasını Purchasingolarak değiştirir.

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO

C. Aynı anda birkaç seçeneği değiştirme

Aşağıdaki örnek, tek bir deyimde bulunan bir veritabanı kullanıcısı için çeşitli seçenekleri değiştirir. ve <new strong password here> değerlerini kendi değerlerinizle değiştirin<old strong password here>.

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. Geçiş sonrasında veritabanındaki kullanıcıyı Microsoft Entra oturum açma bilgileriyle eşleme

Aşağıdaki örnek, westus/joe kullanıcıyı joe@westus.combir Microsoft Entra kullanıcısına yeniden eşler. Bu örnek, yönetilen örnekte zaten var olan oturum açma işlemleri içindir. Bunun, Azure SQL Yönetilen Örneği'ne veritabanı geçişini tamamladıktan ve kimlik doğrulaması için Microsoft Entra oturum açma bilgilerini kullanmak istediğinizde gerçekleştirilmesi gerekir.

ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com]

E. Azure SQL Yönetilen Örneği'nde oturum açmadan veritabanındaki eski bir Windows kullanıcısını Microsoft Entra kullanıcısına eşleme

Aşağıdaki örnek, oturum açmadan westus/joe kullanıcıyı joe@westus.combir Microsoft Entra kullanıcısına yeniden eşler. Federasyon kullanıcısı Microsoft Entra Kimliği'nde bulunmalıdır.

ALTER USER [westus/joe] FROM EXTERNAL PROVIDER

F. Kullanıcı diğer adını mevcut bir Microsoft Entra oturum açma bilgileriyle eşleme

Aşağıdaki örnek, westus\joe kullanıcı adını joe_aliasile yeniden eşler. Bu durumda ilgili Microsoft Entra oturum açma bilgileri joe@westus.com.

ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com], name= joe_alias

G. Azure SQL Yönetilen Örneği'nde geçirilen bir Windows grubunu Microsoft Entra grubuna eşleme

Aşağıdaki örnek, yönetilen örnekteki bir Microsoft Entra grubu westus\mygroupmygroup eski şirket içi grubu yeniden eşler. Grup Microsoft Entra Id içinde bulunmalıdır.

ALTER USER [westus\mygroup] WITH LOGIN = mygroup;

SQL Yönetilen Örneği

* Azure Synapse
Analiz *

 

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

Kullanıcının bu veritabanında tanımlandığı adı belirtir.

LOGIN = login_name

Kullanıcının Güvenlik Tanımlayıcısını (SID) oturum açmanın SID'sine uyacak şekilde değiştirerek kullanıcıyı başka bir oturum açmayla yeniden eşler.

ALTER USER deyimi bir SQL toplu işlemindeki tek deyimse, Azure SQL Veritabanı WITH LOGIN yan tümcesini destekler. ALTER USER deyimi sql toplu işlemindeki tek deyim değilse veya dinamik SQL'de yürütülürse, WITH LOGIN yan tümcesi desteklenmez.

NAME = new_user_name

Bu kullanıcının yeni adını belirtir. new_user_name geçerli veritabanında zaten mevcut olmamalıdır.

DEFAULT_SCHEMA = { schema_name | NULL }

Bu kullanıcı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şemayı belirtir. Varsayılan şemayı NULL olarak ayarlamak, windows grubundan varsayılan şemayı kaldırır. NULL seçeneği bir Windows kullanıcısı ile kullanılamaz.

Remarks

Varsayılan şema, bu veritabanı kullanıcısı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şema olacaktır. Aksi belirtilmedikçe, varsayılan şema bu veritabanı kullanıcısı tarafından oluşturulan nesnelerin sahibi olur.

Kullanıcının varsayılan şeması varsa, bu varsayılan şema kullanılır. Kullanıcının varsayılan şeması yoksa, ancak kullanıcı varsayılan şeması olan bir grubun üyesiyse, grubun varsayılan şeması kullanılır. Kullanıcının varsayılan şeması yoksa ve birden fazla grubun üyesiyse, kullanıcının varsayılan şeması en düşük principal_id ve açıkça ayarlanmış bir varsayılan şema olan Windows grubunun şeması olur. Bir kullanıcı için varsayılan şema belirlenemiyorsa, dbo şeması kullanılır.

DEFAULT_SCHEMA şu anda veritabanında gerçekleşmeyen bir şemaya ayarlanabilir. Bu nedenle, şema oluşturulmadan önce kullanıcıya bir DEFAULT_SCHEMA atayabilirsiniz.

DEFAULT_SCHEMA, bir sertifikaya veya asimetrik anahtara eşlenen bir kullanıcı için belirtilemiyor.

Important

Kullanıcı sysadmin sabit sunucu rolünün üyesiyse DEFAULT_SCHEMA değeri yoksayılır. sysadmin sabit sunucu rolünün tüm üyeleri varsayılan dboşemasına sahiptir.

WITH LOGIN yan tümcesi, bir kullanıcının farklı bir oturum açma bilgilerine yeniden eşlenmeye olanak tanır. Oturum açma bilgisi olmayan kullanıcılar, sertifikayla eşlenen kullanıcılar veya asimetrik anahtarla eşlenen kullanıcılar bu yan tümceyle yeniden eşlenemez. Yalnızca SQL kullanıcıları ve Windows kullanıcıları (veya grupları) yeniden eşlenebilir. WITH LOGIN yan tümcesi, Windows hesabını SQL Server oturum açma bilgilerine değiştirme gibi kullanıcı türünü değiştirmek için kullanılamaz.

Aşağıdaki koşullar doğruysa, kullanıcının adı otomatik olarak oturum açma adı olarak yeniden adlandırılır.

  • Yeni ad belirtilmedi.

  • Geçerli ad, oturum açma adından farklıdır.

Aksi takdirde, çağıran ek olarak NAME yan tümcesini çağırmadığı sürece kullanıcı yeniden adlandırılamaz.

SQL Server oturum açma bilgilerine, sertifikaya veya asimetrik anahtara eşlenen kullanıcının adı ters eğik çizgi karakterini (\) içeremez.

Note

Ş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.

Security

Note

ALTER ANY USER izni olan bir kullanıcı, herhangi bir kullanıcının varsayılan şemasını değiştirebilir. Şeması değiştirilmiş bir kullanıcı, farkında olmadan yanlış tablodan veri seçebilir veya yanlış şemadan kod yürütebilir.

Permissions

Kullanıcının adını değiştirmek için ALTER ANY USER izni gerekir.

Kullanıcının hedef oturum açma bilgilerini değiştirmek için veritabanında CONTROL izni gerekir.

Veritabanında CONTROL iznine sahip bir kullanıcının kullanıcı adını değiştirmek için veritabanında CONTROL izni gerekir.

Varsayılan şemayı veya dili değiştirmek için kullanıcı üzerinde ALTER izni gerekir. Kullanıcılar kendi varsayılan şemalarını veya dillerini değiştirebilir.

Examples

Tüm örnekler bir kullanıcı veritabanında yürütülür.

A. Veritabanı kullanıcısının adını değiştirme

Aşağıdaki örnek, veritabanı kullanıcı Mary5 adını Mary51olarak değiştirir.

ALTER USER Mary5 WITH NAME = Mary51;
GO

B. Kullanıcının varsayılan şemasını değiştirme

Aşağıdaki örnek, kullanıcı Mary51 varsayılan şemasını Purchasingolarak değiştirir.

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO

SQL Yönetilen Örneği

Azure Synapse'i
Analiz

* Analiz
Platform Sistemi (PDW) *

 

Analiz Platformu Sistemi

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

Kullanıcının bu veritabanında tanımlandığı adı belirtir.

LOGIN = login_name

Kullanıcının Güvenlik Tanımlayıcısını (SID) oturum açmanın SID'sine uyacak şekilde değiştirerek kullanıcıyı başka bir oturum açmayla yeniden eşler.

ALTER USER deyimi bir SQL toplu işlemindeki tek deyimse, Azure SQL Veritabanı WITH LOGIN yan tümcesini destekler. ALTER USER deyimi sql toplu işlemindeki tek deyim değilse veya dinamik SQL'de yürütülürse, WITH LOGIN yan tümcesi desteklenmez.

NAME = new_user_name

Bu kullanıcının yeni adını belirtir. new_user_name geçerli veritabanında zaten mevcut olmamalıdır.

DEFAULT_SCHEMA = { schema_name | NULL }

Bu kullanıcı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şemayı belirtir. Varsayılan şemayı NULL olarak ayarlamak, windows grubundan varsayılan şemayı kaldırır. NULL seçeneği bir Windows kullanıcısı ile kullanılamaz.

Remarks

Varsayılan şema, bu veritabanı kullanıcısı için nesnelerin adlarını çözümlediğinde sunucu tarafından aranacak ilk şema olacaktır. Aksi belirtilmedikçe, varsayılan şema bu veritabanı kullanıcısı tarafından oluşturulan nesnelerin sahibi olur.

Kullanıcının varsayılan şeması varsa, bu varsayılan şema kullanılır. Kullanıcının varsayılan şeması yoksa, ancak kullanıcı varsayılan şeması olan bir grubun üyesiyse, grubun varsayılan şeması kullanılır. Kullanıcının varsayılan şeması yoksa ve birden fazla grubun üyesiyse, kullanıcının varsayılan şeması en düşük principal_id ve açıkça ayarlanmış bir varsayılan şema olan Windows grubunun şeması olur. Bir kullanıcı için varsayılan şema belirlenemiyorsa, dbo şeması kullanılır.

DEFAULT_SCHEMA şu anda veritabanında gerçekleşmeyen bir şemaya ayarlanabilir. Bu nedenle, şema oluşturulmadan önce kullanıcıya bir DEFAULT_SCHEMA atayabilirsiniz.

DEFAULT_SCHEMA, bir sertifikaya veya asimetrik anahtara eşlenen bir kullanıcı için belirtilemiyor.

Important

Kullanıcı sysadmin sabit sunucu rolünün üyesiyse DEFAULT_SCHEMA değeri yoksayılır. sysadmin sabit sunucu rolünün tüm üyeleri varsayılan dboşemasına sahiptir.

WITH LOGIN yan tümcesi, bir kullanıcının farklı bir oturum açma bilgilerine yeniden eşlenmeye olanak tanır. Oturum açma bilgisi olmayan kullanıcılar, sertifikayla eşlenen kullanıcılar veya asimetrik anahtarla eşlenen kullanıcılar bu yan tümceyle yeniden eşlenemez. Yalnızca SQL kullanıcıları ve Windows kullanıcıları (veya grupları) yeniden eşlenebilir. WITH LOGIN yan tümcesi, Windows hesabını SQL Server oturum açma bilgilerine değiştirme gibi kullanıcı türünü değiştirmek için kullanılamaz.

Aşağıdaki koşullar doğruysa, kullanıcının adı otomatik olarak oturum açma adı olarak yeniden adlandırılır.

  • Yeni ad belirtilmedi.

  • Geçerli ad, oturum açma adından farklıdır.

Aksi takdirde, çağıran ek olarak NAME yan tümcesini çağırmadığı sürece kullanıcı yeniden adlandırılamaz.

SQL Server oturum açma bilgilerine, sertifikaya veya asimetrik anahtara eşlenen kullanıcının adı ters eğik çizgi karakterini (\) içeremez.

Note

Ş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.

Security

Note

ALTER ANY USER izni olan bir kullanıcı, herhangi bir kullanıcının varsayılan şemasını değiştirebilir. Şeması değiştirilmiş bir kullanıcı, farkında olmadan yanlış tablodan veri seçebilir veya yanlış şemadan kod yürütebilir.

Permissions

Kullanıcının adını değiştirmek için ALTER ANY USER izni gerekir.

Kullanıcının hedef oturum açma bilgilerini değiştirmek için veritabanında CONTROL izni gerekir.

Veritabanında CONTROL iznine sahip bir kullanıcının kullanıcı adını değiştirmek için veritabanında CONTROL izni gerekir.

Varsayılan şemayı veya dili değiştirmek için kullanıcı üzerinde ALTER izni gerekir. Kullanıcılar kendi varsayılan şemalarını veya dillerini değiştirebilir.

Examples

Tüm örnekler bir kullanıcı veritabanında yürütülür.

A. Veritabanı kullanıcısının adını değiştirme

Aşağıdaki örnek, veritabanı kullanıcı Mary5 adını Mary51olarak değiştirir.

ALTER USER Mary5 WITH NAME = Mary51;
GO

B. Kullanıcının varsayılan şemasını değiştirme

Aşağıdaki örnek, kullanıcı Mary51 varsayılan şemasını Purchasingolarak değiştirir.

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO