Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Renomeia um usuário de banco de dados ou altera seu esquema padrão.
Transact-SQL convenções de sintaxe
Note
Microsoft Entra ID era anteriormente conhecido como Azure Ative Directory (Azure AD).
Selecione um produto
Na linha seguinte, selecione o nome do produto em que está interessado e apenas as informações desse produto são apresentadas.
* Servidor SQL *
Plataforma de análise
Sistema (PDW)
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
Especifica o nome pelo qual o usuário é identificado dentro desse banco de dados.
LOGIN = login_name
Remapeia um usuário para outro login alterando o identificador de segurança (SID) do usuário para corresponder ao SID do login.
NOME = new_user_name
Especifica o novo nome para este usuário. new_user_name ainda não deve existir no banco de dados atual.
DEFAULT_SCHEMA = { schema_name | NULL }
Especifica o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário. Definir o esquema padrão como NULL remove um esquema padrão de um grupo do Windows. A opção NULL não pode ser usada com um usuário do Windows.
PASSWORD = 'palavra-passe'
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores, Banco de Dados SQL do Azure.
Especifica a senha do usuário que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas.
Note
Esta opção está disponível apenas para utilizadores contidos. Para obter mais informações, consulte Bancos de dados contidos e sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD ='oldpassword'
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores, Banco de Dados SQL do Azure.
A senha de usuário atual que será substituída por 'senha'. As senhas diferenciam maiúsculas de minúsculas. OLD_PASSWORD é necessário alterar uma senha, a menos que você tenha ALTERAR QUALQUER USUÁRIO Permissão. Exigir OLD_PASSWORD impede que usuários com permissão de representação alterem a senha.
Note
Esta opção está disponível apenas para utilizadores contidos.
DEFAULT_LANGUAGE ={ NENHUM | <LCID> | <nome da> língua | <alias de> idioma }
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
Especifica um idioma padrão a ser atribuído ao usuário. Se essa opção estiver definida como NONE, o idioma padrão será definido como o idioma padrão atual do banco de dados. Se o idioma padrão do banco de dados for alterado posteriormente, o idioma padrão do usuário permanecerá inalterado. DEFAULT_LANGUAGE pode ser o ID local (lcid), o nome do idioma ou o alias do idioma.
Note
Essa opção só pode ser especificada em um banco de dados contido e somente para usuários contidos.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ EM | DESLIGADO ]
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores, Banco de Dados SQL do Azure.
Suprime verificações de metadados criptográficos no servidor em operações de cópia em massa. Isso permite que o usuário copie em massa dados criptografados entre tabelas ou bancos de dados, sem descriptografar os dados. O padrão é OFF.
Warning
O uso indevido desta opção pode levar à corrupção de dados. Para obter mais informações, consulte Carregar dados criptografados em massa para colunas usando o Always Encrypted.
Remarks
O esquema padrão será o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário de banco de dados. A menos que especificado de outra forma, o esquema padrão será o proprietário dos objetos criados por esse usuário do banco de dados.
Se o usuário tiver um esquema padrão, esse esquema padrão será usado. Se o usuário não tiver um esquema padrão, mas for membro de um grupo que tenha um esquema padrão, o esquema padrão do grupo será usado. Se o usuário não tiver um esquema padrão e for membro de mais de um grupo, o esquema padrão para o usuário será o do grupo do Windows com a principal_id mais baixa e um esquema padrão definido explicitamente. Se nenhum esquema padrão puder ser determinado para um usuário, o esquema dbo será usado.
DEFAULT_SCHEMA pode ser definido como um esquema que não ocorre atualmente no banco de dados. Portanto, você pode atribuir um DEFAULT_SCHEMA a um usuário antes que esse esquema seja criado.
DEFAULT_SCHEMA não pode ser especificado para um usuário mapeado para um certificado ou uma chave assimétrica.
Important
O valor de DEFAULT_SCHEMA será ignorado se o usuário for membro da função de servidor fixa sysadmin. Todos os membros do sysadmin função de servidor fixa têm um esquema padrão de dbo.
Você pode alterar o nome de um usuário que é mapeado para um logon ou grupo do Windows somente quando o SID do novo nome de usuário corresponde ao SID registrado no banco de dados. Essa verificação ajuda a evitar a falsificação de logins do Windows no banco de dados.
A cláusula WITH LOGIN permite o remapeamento de um usuário para um login diferente. Os utilizadores sem início de sessão, os utilizadores mapeados para um certificado ou os utilizadores mapeados para uma chave assimétrica não podem ser remapeados com esta cláusula. Somente usuários SQL e usuários do Windows (ou grupos) podem ser remapped. A cláusula WITH LOGIN não pode ser usada para alterar o tipo de usuário, como alterar uma conta do Windows para um logon do SQL Server.
Um SID incompatível pode ocorrer quando você restaura um banco de dados de outro servidor e tem um usuário de banco de dados mapeado para um logon do SQL Server. Você pode usar a cláusula WITH LOGIN para corrigir essa situação substituindo o SID do usuário no banco de dados pelo SID de login do servidor.
O nome do usuário será automaticamente renomeado para o nome de login se as seguintes condições forem verdadeiras.
O usuário é um usuário do Windows.
O nome é um nome do Windows (contém uma barra invertida).
Nenhum novo nome foi especificado.
O nome atual difere do nome de login.
Caso contrário, o usuário não será renomeado, a menos que o chamador invoque adicionalmente a cláusula NAME.
O nome de um usuário mapeado para um logon do SQL Server, um certificado ou uma chave assimétrica não pode conter o caractere de barra invertida (\).
Note
Os esquemas não são equivalentes aos usuários do banco de dados. Use as exibições do catálogo do sistema para identificar quaisquer diferenças entre os usuários e esquemas do banco de dados.
A partir do SQL Server 2012 (11.x), o SQL Server e o Banco de Dados SQL do Azure usavam um hash SHA-512 combinado com um sal aleatório e exclusivo de 32 bits. Este método tornou estatisticamente inviável para os atacantes deduzir senhas.
O SQL Server 2025 (17.x) Preview apresenta um algoritmo de hash iterado, RFC2898, também conhecido como PBKDF (função de derivação de chave baseada em senha ). Este algoritmo ainda usa SHA-512, mas hashes a senha várias vezes (100.000 iterações), retardando significativamente os ataques de força bruta. Essa alteração melhora a proteção por senha em resposta à evolução das ameaças à segurança e ajuda os clientes a cumprir as diretrizes do NIST SP 800-63b. Esse aprimoramento de segurança usa um algoritmo de hash mais forte, o que pode aumentar ligeiramente o tempo de logon para logons de Autenticação SQL. O impacto é geralmente menor em ambientes com pool de conexões, mas pode ser mais percetível em cenários sem pool ou onde a latência de login é monitorada de perto.
Segurança
Note
Um usuário que tenha ALTERAR QUALQUER USUÁRIO permissão pode alterar o esquema padrão de qualquer usuário. Um usuário que tem um esquema alterado pode, sem saber, selecionar dados da tabela errada ou executar código do esquema errado.
Permissions
Para alterar o nome de um usuário é necessário o ALTERAR QUALQUER USUÁRIO permissão.
Para alterar o login de destino de um usuário requer a permissão CONTROL no banco de dados.
Para alterar o nome de usuário de um usuário que tenha permissão CONTROL no banco de dados, é necessária a permissão CONTROL no banco de dados.
Para alterar o esquema ou idioma padrão requer permissão ALTER no usuário. Os usuários podem alterar seu próprio esquema ou idioma padrão.
Examples
Todos os exemplos são executados em um banco de dados de usuários.
A. Alterar o nome de um usuário do banco de dados
O exemplo a seguir altera o nome do usuário do banco de dados Mary5 para Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Alterar o esquema padrão de um usuário
O exemplo a seguir altera o esquema padrão do usuário Mary51 para Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Alterar várias opções ao mesmo tempo
Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.
O exemplo a seguir altera várias opções para um usuário de banco de dados contido em uma instrução. Substitua <new strong password here> e <old strong password here> com os seus próprios valores.
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. Corrigir um SID incompatível
O exemplo a seguir corrige o SID do usuário no banco de dados para corresponder ao SID no servidor para um logon autenticado do SQL Server.
ALTER USER Mai
WITH LOGIN = Mai;
GO
Conteúdo relacionado
* Banco de Dados SQL do Azure e Microsoft Fabric *
Plataforma de análise
Sistema (PDW)
Banco de Dados SQL do Azure e Microsoft Fabric
Syntax
Sintaxe do Banco de Dados SQL do Azure
-- 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
Sintaxe do banco de dados SQL no Microsoft Fabric Preview
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
[;]
Sintaxe do 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
Especifica o nome pelo qual o usuário é identificado dentro desse banco de dados.
LOGIN = login_name
Remapeia um usuário para outro login alterando o identificador de segurança (SID) do usuário para corresponder ao SID do login.
Se a instrução ALTER USER for a única instrução em um lote SQL, o Banco de Dados SQL do Azure dará suporte à cláusula WITH LOGIN. Se a instrução ALTER USER não for a única instrução em um lote SQL ou for executada em SQL dinâmico, a cláusula WITH LOGIN não será suportada.
NOME = new_user_name
Especifica o novo nome para este usuário. new_user_name ainda não deve existir no banco de dados atual.
DEFAULT_SCHEMA = { schema_name | NULL }
Especifica o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário.
Definir o esquema padrão como NULL remove um esquema padrão de um usuário criado para um grupo de ID do Microsoft Entra. A opção NULL não pode ser usada com nenhum outro tipo de usuário.
PASSWORD = 'palavra-passe'
Aplica-se a: Banco de Dados SQL do Azure.
Especifica a senha do usuário que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas.
Note
Esta opção está disponível apenas para utilizadores contidos. Para obter mais informações, consulte Bancos de dados contidos e sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD ='oldpassword'
Aplica-se a: Banco de Dados SQL do Azure.
A senha de usuário atual que será substituída por 'senha'. As senhas diferenciam maiúsculas de minúsculas. OLD_PASSWORD é necessário alterar uma senha, a menos que você tenha ALTERAR QUALQUER USUÁRIO Permissão. Exigir OLD_PASSWORD impede que usuários com permissão de representação alterem a senha.
Note
Esta opção está disponível apenas para utilizadores contidos.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ EM | DESLIGADO ]
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores, Banco de Dados SQL do Azure.
Suprime verificações de metadados criptográficos no servidor em operações de cópia em massa. Isso permite que o usuário copie em massa dados criptografados entre tabelas ou bancos de dados, sem descriptografar os dados. O padrão é OFF.
Warning
O uso indevido desta opção pode levar à corrupção de dados. Para obter mais informações, consulte Carregar dados criptografados em massa para colunas usando o Always Encrypted.
Remarks
O esquema padrão será o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário de banco de dados. A menos que especificado de outra forma, o esquema padrão será o proprietário dos objetos criados por esse usuário do banco de dados.
Se o usuário tiver um esquema padrão, esse esquema padrão será usado. Se o usuário não tiver um esquema padrão, mas for membro de um grupo que tenha um esquema padrão, o esquema padrão do grupo será usado. Se o usuário não tiver um esquema padrão e for membro de mais de um grupo, o esquema padrão para o usuário será o do grupo com o menor principal_id e um esquema padrão explicitamente definido. Se nenhum esquema padrão puder ser determinado para um usuário, o esquema dbo será usado.
DEFAULT_SCHEMA pode ser definido como um esquema que não ocorre atualmente no banco de dados. Portanto, você pode atribuir um DEFAULT_SCHEMA a um usuário antes que esse esquema seja criado.
DEFAULT_SCHEMA não pode ser especificado para um usuário mapeado para um certificado ou uma chave assimétrica.
Important
O valor de DEFAULT_SCHEMA será ignorado se o usuário for membro da função de servidor fixa sysadmin. Todos os membros do sysadmin função de servidor fixa têm um esquema padrão de dbo.
A cláusula WITH LOGIN permite o remapeamento de um usuário para um login diferente. Os utilizadores sem início de sessão, os utilizadores mapeados para um certificado ou os utilizadores mapeados para uma chave assimétrica não podem ser remapeados com esta cláusula. Somente usuários SQL podem ser remapped. A cláusula WITH LOGIN não pode ser usada para alterar o tipo de usuário.
O nome do usuário será automaticamente renomeado para o nome de login se as seguintes condições forem verdadeiras.
Nenhum novo nome foi especificado.
O nome atual difere do nome de login.
Caso contrário, o usuário não será renomeado, a menos que o chamador invoque adicionalmente a cláusula NAME.
O nome de um usuário mapeado para um logon do SQL Server, um certificado ou uma chave assimétrica não pode conter o caractere de barra invertida (\).
Note
Os esquemas não são equivalentes aos usuários do banco de dados. Use as exibições do catálogo do sistema para identificar quaisquer diferenças entre os usuários e esquemas do banco de dados.
Banco de dados SQL de malha
Para mais informações, consulte:
- Autenticação no banco de dados SQL do Microsoft Fabric
- Autorização de no banco de dados SQL do Microsoft Fabric
Armazém de Tecidos
No Microsoft Fabric Warehouse, ALTER USER está limitado a definir apenas o esquema padrão. Quaisquer outros argumentos comumente associados a ALTER USER em SQL ou outros produtos não são suportados e retornarão um erro.
No Microsoft Fabric Warehouse, o nome do agrupamento diferencia maiúsculas de minúsculas.
O esquema padrão será o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário de banco de dados. A menos que especificado de outra forma, o esquema padrão será o proprietário dos objetos criados por esse usuário do banco de dados.
Se um usuário tiver um esquema padrão, esse esquema será usado. Se nenhum esquema padrão for especificado, o esquema dbo será aplicado. O mecanismo de banco de dados primeiro tentará resolver objetos no esquema padrão do usuário. Se nenhum objeto correspondente for encontrado, ele verificará o esquema dbo.
DEFAULT_SCHEMA pode ser definido como um esquema que não existe atualmente no banco de dados. Portanto, você pode atribuir um DEFAULT_SCHEMA a um usuário antes que esse esquema seja criado.
Para mais informações, consulte:
- permissões granulares do SQL no Fabric Warehouse
- Segurança para armazenamento de dados no Microsoft Fabric
Segurança
Note
Um usuário que tenha ALTERAR QUALQUER USUÁRIO permissão pode alterar o esquema padrão de qualquer usuário. Um usuário que tem um esquema alterado pode, sem saber, selecionar dados da tabela errada ou executar código do esquema errado.
Permissions
Para alterar o nome de um usuário é necessário o ALTERAR QUALQUER USUÁRIO permissão.
Para alterar o login de destino de um usuário requer a permissão CONTROL no banco de dados.
Para alterar o nome de usuário de um usuário que tenha permissão CONTROL no banco de dados, é necessária a permissão CONTROL no banco de dados.
Para alterar o esquema ou idioma padrão requer permissão ALTER no usuário. Os usuários podem alterar seu próprio esquema ou idioma padrão.
Permissões de função do Armazém de Malha
Os usuários com um mínimo de associação à função CONTRIBUTOR no espaço de trabalho podem alterar o ESQUEMA PADRÃO de qualquer usuário no Fabric Data Warehouse.
Os usuários com associação à função VIEWER no espaço de trabalho não podem alterar seu próprio esquema de padrões, a menos que um usuário com acesso elevado conceda essa permissão.
Os usuários incluídos na função VIEWER no nível do espaço de trabalho exigem a permissão ALTER ANY USER para alterar o esquema padrão de outros usuários.
Examples
Todos os exemplos são executados em um banco de dados de usuários.
A. Alterar o nome de um usuário do banco de dados
O exemplo a seguir altera o nome do usuário do banco de dados Mary5 para Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Alterar o esquema padrão de um usuário
O exemplo a seguir altera o esquema padrão do usuário Mary51 para Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Alterar várias opções ao mesmo tempo
O exemplo a seguir altera várias opções para um usuário de banco de dados contido em uma instrução. Substitua <new strong password here> e <old strong password here> com os seus próprios valores.
ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>';
GO
D. Alterar o esquema padrão de um usuário
O exemplo a seguir altera o esquema padrão do usuário Mary51 para Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Conteúdo relacionado
* Instância gerenciada SQL *
Plataforma de análise
Sistema (PDW)
Azure SQL Managed Instance
Syntax
Important
Somente as seguintes opções são suportadas para a Instância Gerenciada SQL do Azure ao aplicar a usuários com logons do Microsoft Entra: DEFAULT_SCHEMA = { schema_name | NULL } e DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }
Há uma nova extensão de sintaxe que foi adicionada para ajudar a remapear usuários em um banco de dados que foi migrado para a Instância Gerenciada SQL do Azure. A sintaxe ALTER USER ajuda a mapear usuários de banco de dados em um domínio federado e sincronizado com o ID do Microsoft Entra para logons do 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
Especifica o nome pelo qual o usuário é identificado dentro desse banco de dados.
LOGIN = login_name
Remapeia um usuário para outro login alterando o identificador de segurança (SID) do usuário para corresponder ao SID do login.
Se a instrução ALTER USER for a única instrução em um lote SQL, o Banco de Dados SQL do Azure dará suporte à cláusula WITH LOGIN. Se a instrução ALTER USER não for a única instrução em um lote SQL ou for executada em SQL dinâmico, a cláusula WITH LOGIN não será suportada.
NOME = new_user_name
Especifica o novo nome para este usuário. new_user_name ainda não deve existir no banco de dados atual.
DEFAULT_SCHEMA = { schema_name | NULL }
Especifica o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário. Definir o esquema padrão como NULL remove um esquema padrão de um grupo do Windows. A opção NULL não pode ser usada com um usuário do Windows.
PASSWORD = 'palavra-passe'
Especifica a senha do usuário que está sendo alterado. As senhas diferenciam maiúsculas de minúsculas.
Note
Esta opção está disponível apenas para utilizadores contidos. Para obter mais informações, consulte Bancos de dados contidos e sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD = 'oldpassword'
A senha de usuário atual que será substituída por 'senha'. As senhas diferenciam maiúsculas de minúsculas. OLD_PASSWORD é necessário alterar uma senha, a menos que você tenha ALTERAR QUALQUER USUÁRIO Permissão. Exigir OLD_PASSWORD impede que usuários com permissão de representação alterem a senha.
Note
Esta opção está disponível apenas para utilizadores contidos.
DEFAULT_LANGUAGE ={ NENHUM | <LCID> | <nome da> língua | <alias de> idioma }
Especifica um idioma padrão a ser atribuído ao usuário. Se essa opção estiver definida como NONE, o idioma padrão será definido como o idioma padrão atual do banco de dados. Se o idioma padrão do banco de dados for alterado posteriormente, o idioma padrão do usuário permanecerá inalterado. DEFAULT_LANGUAGE pode ser o ID local (lcid), o nome do idioma ou o alias do idioma.
Note
Essa opção só pode ser especificada em um banco de dados contido e somente para usuários contidos.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ EM | DESLIGADO ]
Suprime verificações de metadados criptográficos no servidor em operações de cópia em massa. Isso permite que o usuário copie em massa dados criptografados entre tabelas ou bancos de dados, sem descriptografar os dados. O padrão é OFF.
Warning
O uso indevido desta opção pode levar à corrupção de dados. Para obter mais informações, consulte Carregar dados criptografados em massa para colunas usando o Always Encrypted.
Remarks
O esquema padrão será o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário de banco de dados. A menos que especificado de outra forma, o esquema padrão será o proprietário dos objetos criados por esse usuário do banco de dados.
Se o usuário tiver um esquema padrão, esse esquema padrão será usado. Se o usuário não tiver um esquema padrão, mas for membro de um grupo que tenha um esquema padrão, o esquema padrão do grupo será usado. Se o usuário não tiver um esquema padrão e for membro de mais de um grupo, o esquema padrão para o usuário será o do grupo do Windows com a principal_id mais baixa e um esquema padrão definido explicitamente. Se nenhum esquema padrão puder ser determinado para um usuário, o esquema dbo será usado.
DEFAULT_SCHEMA pode ser definido como um esquema que não ocorre atualmente no banco de dados. Portanto, você pode atribuir um DEFAULT_SCHEMA a um usuário antes que esse esquema seja criado.
DEFAULT_SCHEMA não pode ser especificado para um usuário mapeado para um certificado ou uma chave assimétrica.
Important
O valor de DEFAULT_SCHEMA será ignorado se o usuário for membro da função de servidor fixa sysadmin. Todos os membros do sysadmin função de servidor fixa têm um esquema padrão de dbo.
Você pode alterar o nome de um usuário que é mapeado para um logon ou grupo do Windows somente quando o SID do novo nome de usuário corresponde ao SID registrado no banco de dados. Essa verificação ajuda a evitar a falsificação de logins do Windows no banco de dados.
A cláusula WITH LOGIN permite o remapeamento de um usuário para um login diferente. Os utilizadores sem início de sessão, os utilizadores mapeados para um certificado ou os utilizadores mapeados para uma chave assimétrica não podem ser remapeados com esta cláusula. Somente usuários SQL e usuários do Windows (ou grupos) podem ser remapped. A cláusula WITH LOGIN não pode ser usada para alterar o tipo de usuário, como alterar uma conta do Windows para um logon do SQL Server. A única exceção é ao alterar um usuário do Windows para um usuário do Microsoft Entra.
Note
As regras a seguir não se aplicam aos usuários do Windows na Instância Gerenciada SQL do Azure, pois não damos suporte à criação de logons do Windows na Instância Gerenciada SQL do Azure. A opção WITH LOGIN só pode ser usada se houver logins do Microsoft Entra.
O nome do usuário será automaticamente renomeado para o nome de login se as seguintes condições forem verdadeiras.
O usuário é um usuário do Windows.
O nome é um nome do Windows (contém uma barra invertida).
Nenhum novo nome foi especificado.
O nome atual difere do nome de login.
Caso contrário, o usuário não será renomeado, a menos que o chamador invoque adicionalmente a cláusula NAME.
O nome de um usuário mapeado para um logon do SQL Server, um certificado ou uma chave assimétrica não pode conter o caractere de barra invertida (\).
Note
Os esquemas não são equivalentes aos usuários do banco de dados. Use as exibições do catálogo do sistema para identificar quaisquer diferenças entre os usuários e esquemas do banco de dados.
Comentários para usuários do Windows no SQL local migrados para a Instância Gerenciada SQL do Azure
Essas observações se aplicam à autenticação como usuários do Windows que foram federados e sincronizados com o Microsoft Entra ID.
- A validação de usuários ou grupos do Windows mapeados para o Microsoft Entra ID é feita por padrão por meio da Graph API em todas as versões da sintaxe ALTER USER usada para fins de migração.
- Os usuários locais que receberam aliased (usam um nome diferente da conta original do Windows) manterão o nome com alias.
- Para autenticação do Microsoft Entra, o parâmetro LOGIN se aplica somente à Instância Gerenciada SQL do Azure e não pode ser usado com o Banco de Dados SQL.
- Para exibir logons para entidades do Microsoft Entra, use o seguinte comando:
SELECT * FROM sys.server_principals;. - Verifique se o tipo de login indicado é
EouX. - A opção PASSWORD não pode ser usada para usuários do Microsoft Entra.
- Em todos os casos de migração, as funções e permissões dos usuários ou grupos do Windows serão automaticamente transferidas para os novos usuários ou grupos do Microsoft Entra.
-
FROM EXTERNAL PROVIDERé para alterar usuários e grupos do Windows de SQL local para usuários e grupos do Microsoft Entra. O domínio do Windows deve ser federado com o Microsoft Entra ID e todos os membros do domínio do Windows devem existir no Microsoft Entra ID ao usar essa extensão. A sintaxeFROM EXTERNAL PROVIDERse aplica à Instância Gerenciada SQL do Azure e deve ser usada caso os usuários do Windows não tenham logons na instância SQL original e precisem ser mapeados para usuários autônomos do banco de dados Microsoft Entra. - Neste caso, a
user_namepermitida pode ser: - Um usuário do Windows (
domain\user). - Um grupo do Windows (
MyWindowsGroup). - Um alias do Windows (
MyWindowsAlias). - O resultado do comando ALTER substitui o
user_nameantigo pelo nome correspondente encontrado no ID do Microsoft Entra com base no SID original do antigouser_name. O nome alterado é substituído e armazenado nos metadados da base de dados: - (
domain\user) será substituído pelo Microsoft Entrauser@domain.com. - (
domain\MyWindowsGroup) será substituído pelo grupo Microsoft Entra. - (
MyWindowsAlias) permanecerá inalterado, mas o SID deste usuário será verificado no Microsoft Entra ID.
Note
Se o SID do usuário original convertido em object_ID não puder ser encontrado no locatário do Microsoft Entra ID, o comando ALTER USER falhará.
- Para exibir usuários alterados, use o seguinte comando:
SELECT * FROM sys.database_principals; - Verifique o tipo
EouXindicado pelo utilizador. - Quando NAME é usado para migrar usuários do Windows para usuários do Microsoft Entra, as seguintes restrições se aplicam:
- Um LOGIN válido deve ser especificado.
- O NOME será verificado no locatário do Microsoft Entra ID e só pode ser:
- O nome do LOGIN.
- Um alias - o nome não pode existir no Microsoft Entra ID.
- Em todos os outros casos, a sintaxe falha.
Segurança
Note
Um usuário que tenha ALTERAR QUALQUER USUÁRIO permissão pode alterar o esquema padrão de qualquer usuário. Um usuário que tem um esquema alterado pode, sem saber, selecionar dados da tabela errada ou executar código do esquema errado.
Permissions
Para alterar o nome de um usuário é necessário o ALTERAR QUALQUER USUÁRIO permissão.
Para alterar o login de destino de um usuário requer a permissão CONTROL no banco de dados.
Para alterar o nome de usuário de um usuário que tenha permissão CONTROL no banco de dados, é necessária a permissão CONTROL no banco de dados.
Para alterar o esquema ou idioma padrão requer permissão ALTER no usuário. Os usuários podem alterar seu próprio esquema ou idioma padrão.
Examples
Todos os exemplos são executados em um banco de dados de usuários.
A. Alterar o nome de um usuário do banco de dados
O exemplo a seguir altera o nome do usuário do banco de dados Mary5 para Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Alterar o esquema padrão de um usuário
O exemplo a seguir altera o esquema padrão do usuário Mary51 para Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Alterar várias opções ao mesmo tempo
O exemplo a seguir altera várias opções para um usuário de banco de dados contido em uma instrução. Substitua <new strong password here> e <old strong password here> com os seus próprios valores.
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. Mapeie o usuário no banco de dados para um login do Microsoft Entra após a migração
O exemplo a seguir remapeia o usuário, westus/joe para um usuário do Microsoft Entra joe@westus.com. Este exemplo é para logons que já existem na instância gerenciada. Isso precisa ser executado depois que você concluir uma migração de banco de dados para a Instância Gerenciada SQL do Azure e quiser usar o logon do Microsoft Entra para autenticar.
ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com]
E. Mapeie um usuário antigo do Windows no banco de dados sem um logon na Instância Gerenciada SQL do Azure para um usuário do Microsoft Entra
O exemplo a seguir remapeia o usuário, westus/joe sem um login, para um usuário do Microsoft Entra, joe@westus.com. O usuário federado deve existir no Microsoft Entra ID.
ALTER USER [westus/joe] FROM EXTERNAL PROVIDER
F. Mapeie o alias do usuário para um login existente do Microsoft Entra
O exemplo a seguir remapeia o nome de usuário, westus\joe para joe_alias. O login correspondente do Microsoft Entra neste caso é joe@westus.com.
ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com], name= joe_alias
G. Mapear um grupo do Windows que foi migrado na Instância Gerenciada SQL do Azure para um grupo do Microsoft Entra
O exemplo a seguir remapeia o grupo local antigo westus\mygroup para um grupo do Microsoft Entra mygroup na instância gerenciada. O grupo deve existir no Microsoft Entra ID.
ALTER USER [westus\mygroup] WITH LOGIN = mygroup;
Conteúdo relacionado
* Sinapse do Azure
Análise *
Plataforma de análise
Sistema (PDW)
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
Especifica o nome pelo qual o usuário é identificado dentro desse banco de dados.
LOGIN = login_name
Remapeia um usuário para outro login alterando o identificador de segurança (SID) do usuário para corresponder ao SID do login.
Se a instrução ALTER USER for a única instrução em um lote SQL, o Banco de Dados SQL do Azure dará suporte à cláusula WITH LOGIN. Se a instrução ALTER USER não for a única instrução em um lote SQL ou for executada em SQL dinâmico, a cláusula WITH LOGIN não será suportada.
NOME = new_user_name
Especifica o novo nome para este usuário. new_user_name ainda não deve existir no banco de dados atual.
DEFAULT_SCHEMA = { schema_name | NULL }
Especifica o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário. Definir o esquema padrão como NULL remove um esquema padrão de um grupo do Windows. A opção NULL não pode ser usada com um usuário do Windows.
Remarks
O esquema padrão será o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário de banco de dados. A menos que especificado de outra forma, o esquema padrão será o proprietário dos objetos criados por esse usuário do banco de dados.
Se o usuário tiver um esquema padrão, esse esquema padrão será usado. Se o usuário não tiver um esquema padrão, mas for membro de um grupo que tenha um esquema padrão, o esquema padrão do grupo será usado. Se o usuário não tiver um esquema padrão e for membro de mais de um grupo, o esquema padrão para o usuário será o do grupo do Windows com a principal_id mais baixa e um esquema padrão definido explicitamente. Se nenhum esquema padrão puder ser determinado para um usuário, o esquema dbo será usado.
DEFAULT_SCHEMA pode ser definido como um esquema que não ocorre atualmente no banco de dados. Portanto, você pode atribuir um DEFAULT_SCHEMA a um usuário antes que esse esquema seja criado.
DEFAULT_SCHEMA não pode ser especificado para um usuário mapeado para um certificado ou uma chave assimétrica.
Important
O valor de DEFAULT_SCHEMA será ignorado se o usuário for membro da função de servidor fixa sysadmin. Todos os membros do sysadmin função de servidor fixa têm um esquema padrão de dbo.
A cláusula WITH LOGIN permite o remapeamento de um usuário para um login diferente. Os utilizadores sem início de sessão, os utilizadores mapeados para um certificado ou os utilizadores mapeados para uma chave assimétrica não podem ser remapeados com esta cláusula. Somente usuários SQL e usuários do Windows (ou grupos) podem ser remapped. A cláusula WITH LOGIN não pode ser usada para alterar o tipo de usuário, como alterar uma conta do Windows para um logon do SQL Server.
O nome do usuário será automaticamente renomeado para o nome de login se as seguintes condições forem verdadeiras.
Nenhum novo nome foi especificado.
O nome atual difere do nome de login.
Caso contrário, o usuário não será renomeado, a menos que o chamador invoque adicionalmente a cláusula NAME.
O nome de um usuário mapeado para um logon do SQL Server, um certificado ou uma chave assimétrica não pode conter o caractere de barra invertida (\).
Note
Os esquemas não são equivalentes aos usuários do banco de dados. Use as exibições do catálogo do sistema para identificar quaisquer diferenças entre os usuários e esquemas do banco de dados.
Segurança
Note
Um usuário que tenha ALTERAR QUALQUER USUÁRIO permissão pode alterar o esquema padrão de qualquer usuário. Um usuário que tem um esquema alterado pode, sem saber, selecionar dados da tabela errada ou executar código do esquema errado.
Permissions
Para alterar o nome de um usuário é necessário o ALTERAR QUALQUER USUÁRIO permissão.
Para alterar o login de destino de um usuário requer a permissão CONTROL no banco de dados.
Para alterar o nome de usuário de um usuário que tenha permissão CONTROL no banco de dados, é necessária a permissão CONTROL no banco de dados.
Para alterar o esquema ou idioma padrão requer permissão ALTER no usuário. Os usuários podem alterar seu próprio esquema ou idioma padrão.
Examples
Todos os exemplos são executados em um banco de dados de usuários.
A. Alterar o nome de um usuário do banco de dados
O exemplo a seguir altera o nome do usuário do banco de dados Mary5 para Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Alterar o esquema padrão de um usuário
O exemplo a seguir altera o esquema padrão do usuário Mary51 para Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Conteúdo relacionado
* Análise
Sistema de plataforma (PDW) *
Sistema de plataforma de análise
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
Especifica o nome pelo qual o usuário é identificado dentro desse banco de dados.
LOGIN = login_name
Remapeia um usuário para outro login alterando o identificador de segurança (SID) do usuário para corresponder ao SID do login.
Se a instrução ALTER USER for a única instrução em um lote SQL, o Banco de Dados SQL do Azure dará suporte à cláusula WITH LOGIN. Se a instrução ALTER USER não for a única instrução em um lote SQL ou for executada em SQL dinâmico, a cláusula WITH LOGIN não será suportada.
NOME = new_user_name
Especifica o novo nome para este usuário. new_user_name ainda não deve existir no banco de dados atual.
DEFAULT_SCHEMA = { schema_name | NULL }
Especifica o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário. Definir o esquema padrão como NULL remove um esquema padrão de um grupo do Windows. A opção NULL não pode ser usada com um usuário do Windows.
Remarks
O esquema padrão será o primeiro esquema que será pesquisado pelo servidor quando ele resolver os nomes de objetos para esse usuário de banco de dados. A menos que especificado de outra forma, o esquema padrão será o proprietário dos objetos criados por esse usuário do banco de dados.
Se o usuário tiver um esquema padrão, esse esquema padrão será usado. Se o usuário não tiver um esquema padrão, mas for membro de um grupo que tenha um esquema padrão, o esquema padrão do grupo será usado. Se o usuário não tiver um esquema padrão e for membro de mais de um grupo, o esquema padrão para o usuário será o do grupo do Windows com a principal_id mais baixa e um esquema padrão definido explicitamente. Se nenhum esquema padrão puder ser determinado para um usuário, o esquema dbo será usado.
DEFAULT_SCHEMA pode ser definido como um esquema que não ocorre atualmente no banco de dados. Portanto, você pode atribuir um DEFAULT_SCHEMA a um usuário antes que esse esquema seja criado.
DEFAULT_SCHEMA não pode ser especificado para um usuário mapeado para um certificado ou uma chave assimétrica.
Important
O valor de DEFAULT_SCHEMA será ignorado se o usuário for membro da função de servidor fixa sysadmin. Todos os membros do sysadmin função de servidor fixa têm um esquema padrão de dbo.
A cláusula WITH LOGIN permite o remapeamento de um usuário para um login diferente. Os utilizadores sem início de sessão, os utilizadores mapeados para um certificado ou os utilizadores mapeados para uma chave assimétrica não podem ser remapeados com esta cláusula. Somente usuários SQL e usuários do Windows (ou grupos) podem ser remapped. A cláusula WITH LOGIN não pode ser usada para alterar o tipo de usuário, como alterar uma conta do Windows para um logon do SQL Server.
O nome do usuário será automaticamente renomeado para o nome de login se as seguintes condições forem verdadeiras.
Nenhum novo nome foi especificado.
O nome atual difere do nome de login.
Caso contrário, o usuário não será renomeado, a menos que o chamador invoque adicionalmente a cláusula NAME.
O nome de um usuário mapeado para um logon do SQL Server, um certificado ou uma chave assimétrica não pode conter o caractere de barra invertida (\).
Note
Os esquemas não são equivalentes aos usuários do banco de dados. Use as exibições do catálogo do sistema para identificar quaisquer diferenças entre os usuários e esquemas do banco de dados.
Segurança
Note
Um usuário que tenha ALTERAR QUALQUER USUÁRIO permissão pode alterar o esquema padrão de qualquer usuário. Um usuário que tem um esquema alterado pode, sem saber, selecionar dados da tabela errada ou executar código do esquema errado.
Permissions
Para alterar o nome de um usuário é necessário o ALTERAR QUALQUER USUÁRIO permissão.
Para alterar o login de destino de um usuário requer a permissão CONTROL no banco de dados.
Para alterar o nome de usuário de um usuário que tenha permissão CONTROL no banco de dados, é necessária a permissão CONTROL no banco de dados.
Para alterar o esquema ou idioma padrão requer permissão ALTER no usuário. Os usuários podem alterar seu próprio esquema ou idioma padrão.
Examples
Todos os exemplos são executados em um banco de dados de usuários.
A. Alterar o nome de um usuário do banco de dados
O exemplo a seguir altera o nome do usuário do banco de dados Mary5 para Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Alterar o esquema padrão de um usuário
O exemplo a seguir altera o esquema padrão do usuário Mary51 para Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO