ALTER TABLE column_definition (Transact-SQL)ALTER TABLE column_definition (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Especifica as propriedades de uma coluna adicionadas a uma tabela com ALTER TABLE.Specifies the properties of a column that are added to a table by using ALTER TABLE.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

column_name <data_type>  
[ FILESTREAM ]  
[ COLLATE collation_name ]   
[ NULL | NOT NULL ]  
[   
    [ CONSTRAINT constraint_name ] DEFAULT constant_expression [ WITH VALUES ]   
    | IDENTITY [ ( seed , increment ) ] [ NOT FOR REPLICATION ]   
]  
[ ROWGUIDCOL ]   
[ SPARSE ]   
[ ENCRYPTED WITH  
  ( COLUMN_ENCRYPTION_KEY = key_name ,  
      ENCRYPTION_TYPE = { DETERMINISTIC | RANDOMIZED } ,   
      ALGORITHM =  'AEAD_AES_256_CBC_HMAC_SHA_256'   
  ) ]  
[ MASKED WITH ( FUNCTION = ' mask_function ') ]  
[ <column_constraint> [ ...n ] ]  
  
<data type> ::=   
[ type_schema_name . ] type_name   
    [ ( precision [ , scale ] | max |   
        [ { CONTENT | DOCUMENT } ] xml_schema_collection ) ]   
  
<column_constraint> ::=   
[ CONSTRAINT constraint_name ]   
{     { PRIMARY KEY | UNIQUE }   
        [ CLUSTERED | NONCLUSTERED ]   
        [   
            WITH FILLFACTOR = fillfactor    
          | WITH ( < index_option > [ , ...n ] )   
        ]   
        [ ON { partition_scheme_name ( partition_column_name )   
            | filegroup | "default" } ]  
  | [ FOREIGN KEY ]   
        REFERENCES [ schema_name . ] referenced_table_name [ ( ref_column ) ]   
        [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]   
        [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]   
        [ NOT FOR REPLICATION ]   
  | CHECK [ NOT FOR REPLICATION ] ( logical_expression )   
}  

ArgumentosArguments

column_namecolumn_name
É o nome da coluna a ser alterada, adicionada ou removida.Is the name of the column to be altered, added, or dropped. column_name pode consistir em 1 a 128 caracteres.column_name can consist of 1 through 128 characters. Para novas colunas, criadas com um tipo de dados timestamp, column_name pode ser omitido.For new columns, created with a timestamp data type, column_name can be omitted. Se nenhum column_name é especificado para uma coluna do tipo de dados timestamp, o nome timestamp é usado.If no column_name is specified for a timestamp data type column, the name timestamp is used.

[ type_schema_name .[ type_schema_name. ] type_name] type_name
É o tipo de dados para a coluna adicionada e o esquema ao qual ela pertence.Is the data type for the column that is added and the schema to which it belongs.

type_name pode ser:type_name can be:

  • Um tipo de dados do sistema do MicrosoftMicrosoftSQL ServerSQL Server.A MicrosoftMicrosoftSQL ServerSQL Server system data type.

  • Um tipo de dados do alias com base em um tipo de dados de sistema SQL ServerSQL Server.An alias data type based on a SQL ServerSQL Server system data type. Os tipos de dados de alias precisam ser criados usando CREATE TYPE antes que eles possam ser usados em uma definição de tabela.Alias data types must be created by using CREATE TYPE before they can be used in a table definition.

  • Um tipo definido pelo usuário MicrosoftMicrosoft .NET Framework.NET Framework e o esquema ao qual ele pertence.A MicrosoftMicrosoft .NET Framework.NET Framework user-defined type and the schema to which it belongs. Um tipo definido pelo usuário .NET Framework.NET Framework precisa ser criado usando CREATE TYPE antes que ele possa ser usado em uma definição de tabela.A .NET Framework.NET Framework user-defined type must be created by using CREATE TYPE before it can be used in a table definition.

Se type_schema_name não for especificado, o MicrosoftMicrosoft Mecanismo de Banco de DadosDatabase Engine referenciará type_name na seguinte ordem:If type_schema_name is not specified, the MicrosoftMicrosoft Mecanismo de Banco de DadosDatabase Engine references type_name in the following order:

  • O tipo de dados de sistema SQL ServerSQL Server.The SQL ServerSQL Server system data type.

  • O esquema padrão do usuário atual no banco de dados atual.The default schema of the current user in the current database.

  • O esquema dbo no banco de dados atual.The dbo schema in the current database.

precisãoprecision
É a precisão do tipo de dados especificado.Is the precision for the specified data type. Para obter mais informações sobre valores de precisão válidos, veja Precisão, escala e tamanho (Transact-SQL).For more information about valid precision values, see Precision, Scale, and Length (Transact-SQL).

scalescale
É a escala do tipo de dados especificado.Is the scale for the specified data type. Para obter mais informações sobre valores de escala válidos, veja Precisão, escala e tamanho (Transact-SQL).For more information about valid scale values, see Precision, Scale, and Length (Transact-SQL).

maxmax
Aplica-se apenas aos tipos de dados varchar, nvarchar e varbinary.Applies only to the varchar, nvarchar, and varbinary data types. São usados para armazenar 2^31 bytes de caractere e dados binários e 2^30 bytes de dados Unicode.These are used for storing 2^31 bytes of character and binary data, and 2^30 bytes of Unicode data.

CONTENTCONTENT
Especifica que cada instância do tipo de dados xml em column_name pode abranger vários elementos de nível superior.Specifies that each instance of the xml data type in column_name can comprise multiple top-level elements. CONTENT aplica-se apenas a tipo de dados xml e poderá ser especificado somente se xml_schema_collection também for especificado.CONTENT applies only to the xml data type and can be specified only if xml_schema_collection is also specified. Caso não seja especificado, CONTENT será o comportamento padrão.If this is not specified, CONTENT is the default behavior.

DOCUMENTDOCUMENT
Especifica que cada instância do tipo de dados xml em column_name pode abranger apenas um elemento de nível superior.Specifies that each instance of the xml data type in column_name can comprise only one top-level element. DOCUMENT aplica-se apenas a tipo de dados xml e poderá ser especificado somente se xml_schema_collection também for especificado.DOCUMENT applies only to the xml data type and can be specified only if xml_schema_collection is also specified.

xml_schema_collectionxml_schema_collection
Aplica-se a: do SQL Server 2008SQL Server 2008 ao SQL ServerSQL Server.Applies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

Aplica-se apenas ao tipo de dados xml para associar uma coleção de esquemas XML ao tipo.Applies only to the xml data type for associating an XML schema collection with the type. Antes de digitar uma coluna xml em um esquema, o esquema deve ser criado primeiramente no banco de dados com CREATE XML SCHEMA COLLECTION.Before typing an xml column to a schema, the schema must first be created in the database by using CREATE XML SCHEMA COLLECTION.

FILESTREAMFILESTREAM
Especifica, opcionalmente, o atributo de armazenamento FILESTREAM para a coluna que tem um type_name igual a varbinary(max) .Optionally specifies the FILESTREAM storage attribute for column that has a type_name of varbinary(max).

Quando FILESTREAM é especificado para uma coluna, a tabela também deve ter uma coluna do tipo de dados uniqueidentifier que tem o atributo ROWGUIDCOL.When FILESTREAM is specified for a column, the table must also have a column of the uniqueidentifier data type that has the ROWGUIDCOL attribute. Essa coluna não deve permitir valores nulos e deve ter uma restrição de coluna única UNIQUE ou PRIMARY KEY.This column must not allow null values and must have either a UNIQUE or PRIMARY KEY single-column constraint. O valor GUID da coluna deve ser fornecido por um aplicativo durante a inserção de dados, ou por uma restrição DEFAULT que utilize a função NEWID ().The GUID value for the column must be supplied either by an application when data is being inserted, or by a DEFAULT constraint that uses the NEWID () function.

A coluna ROWGUIDCOL não pode ser descartada e as restrições relacionadas não podem ser alteradas enquanto houver uma coluna FILESTREAM definida para a tabela.The ROWGUIDCOL column cannot be dropped and the related constraints cannot be changed while there is a FILESTREAM column defined for the table. A coluna ROWGUIDCOL poderá ser descartada somente depois que a última coluna FILESTREAM for descartada.The ROWGUIDCOL column can be dropped only after the last FILESTREAM column is dropped.

Quando o atributo de armazenamento FILESTREAM é especificado para uma coluna, todos os valores da coluna são armazenados em um contêiner de dados FILESTREAM no sistema de arquivos.When the FILESTREAM storage attribute is specified for a column, all values for that column are stored in a FILESTREAM data container on the file system.

Para obter um exemplo que mostra como usar a definição de coluna, consulte FILESTREAM (SQL Server).For an example that shows how to use column definition, see FILESTREAM (SQL Server).

COLLATE collation_nameCOLLATE collation_name
Especifica a ordenação da coluna.Specifies the collation of the column. Se não for especificado, à coluna será atribuída a ordenação padrão do banco de dados.If not specified, the column is assigned the default collation of the database. O nome da ordenação tanto pode ser um nome de ordenação do Windows como um nome de ordenação SQL.Collation name can be either a Windows collation name or an SQL collation name. Para obter uma lista e mais informações, veja Nome da ordenação do Windows (Transact-SQL) e Nome de ordenação do SQL Server (Transact-SQL).For a list and more information, see Windows Collation Name (Transact-SQL) and SQL Server Collation Name (Transact-SQL).

A cláusula COLLATE pode ser usada para especificar as ordenações somente de colunas dos tipos de dados char, varchar, nchar e nvarchar.The COLLATE clause can be used to specify the collations only of columns of the char, varchar, nchar, and nvarchar data types.

Para obter mais informações sobre a cláusula COLLATE, veja COLLATE (Transact-SQL).For more information about the COLLATE clause, see COLLATE (Transact-SQL).

NULL | NOT NULLNULL | NOT NULL
Determina se são permitidos valores nulos na coluna.Determines whether null values are allowed in the column. NULL não é estritamente uma restrição, mas pode ser especificado simplesmente como NOT NULL.NULL is not strictly a constraint but can be specified just like NOT NULL.

[ CONSTRAINT constraint_name ][ CONSTRAINT constraint_name ]
Especifica o início de uma definição de valor DEFAULT.Specifies the start of a DEFAULT value definition. Para manter a compatibilidade com versões anteriores do SQL ServerSQL Server, um nome de restrição pode ser atribuído a um DEFAULT.To maintain compatibility with earlier versions of SQL ServerSQL Server, a constraint name can be assigned to a DEFAULT. constraint_name deve seguir as regras de identificadores, a menos que o nome não possa começar com uma tecla jogo da velha (#).constraint_name must follow the rules for identifiers, except that the name cannot start with a number sign (#). Se constraint_name não for especificado, um nome gerado pelo sistema será atribuído à definição DEFAULT.If constraint_name is not specified, a system-generated name is assigned to the DEFAULT definition.

DEFAULTDEFAULT
É uma palavra-chave que especifica o valor padrão para a coluna.Is a keyword that specifies the default value for the column. Podem ser usadas definições DEFAULT para fornecer valores para uma coluna nova nas linhas existentes de dados.DEFAULT definitions can be used to provide values for a new column in the existing rows of data. As definições de DEFAULT não podem ser aplicadas a colunas timestamp nem a colunas com uma propriedade IDENTITY.DEFAULT definitions cannot be applied to timestamp columns, or columns with an IDENTITY property. Se um valor padrão for especificado para uma coluna de tipo definido pelo usuário, o tipo deverá dar suporte a uma conversão implícita de constant_expression no tipo definido pelo usuário.If a default value is specified for a user-defined type column, the type must support an implicit conversion from constant_expression to the user-defined type.

constant_expressionconstant_expression
É um valor literal, um NULL ou uma função de sistema usado como valor de coluna padrão.Is a literal value, a NULL, or a system function used as the default column value. Se for usado em conjunto com uma coluna definida para ser de um tipo definido pelo usuário do .NET Framework.NET Framework, a implementação do tipo deverá dar suporte a uma conversão implícita da constant_expression no tipo definido pelo usuário.If used in conjunction with a column defined to be of a .NET Framework.NET Framework user-defined type, the implementation of the type must support an implicit conversion from the constant_expression to the user-defined type.

WITH VALUESWITH VALUES
Ao adicionar uma coluna E uma restrição DEFAULT, se a coluna permitir valores NULLS o uso de WITH VALUES definirá, para as linhas existentes, o valor da nova coluna como o valor fornecido em constant_expression DEFAULT.When adding a column AND a DEFAULT constraint, if the column allows NULLS using WITH VALUES will, for existing rows, set the new column's value to the value given in DEFAULT constant_expression. Se a coluna que está sendo adicionada não permitir valores NULLS, o valor da coluna sempre será definido, para as linhas existentes, como o valor fornecido na expressão constante DEFAULT.If the column being added does not allow NULLS, for existing rows, the column's value will always be set to the value given in the DEFAULT constant expression. A partir do SQL Server 2012, essa pode ser uma operação de metadados adicionando colunas não nulas como uma operação online.Starting in SQL Server 2012 this may be a meta data operation adding-not-null-columns-as-an-online-operation. Se isso for usado quando a coluna relacionada também não estiver sendo adicionada, não terá qualquer efeito.If this is used when the related column isn't also being added then it has no effect.

Especifica que o valor fornecido em DEFAULT constant_expression seja armazenado em uma nova coluna adicionada às linhas existentes.Specifies that the value given in DEFAULT constant_expression is stored in a new column that is added to existing rows. Se a coluna adicionada permitir valores nulos e WITH VALUES for especificado, o valor padrão será armazenado na nova coluna adicionada a linhas existentes.If the added column allows null values and WITH VALUES is specified, the default value is stored in the new column that is added to existing rows. Se WITH VALUES não estiver especificado para colunas que permitem nulos, o valor NULL será armazenado na nova coluna nas linhas existentes.If WITH VALUES is not specified for columns that allow nulls, the value NULL is stored in the new column, in existing rows. Se a nova coluna não permitir nulos, o valor padrão será armazenado em linhas novas, independentemente de WITH VALUES ser especificado.If the new column does not allow nulls, the default value is stored in new rows regardless of whether WITH VALUES is specified.

IDENTITYIDENTITY
Especifica que a coluna nova é uma coluna de identidade.Specifies that the new column is an identity column. O Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine fornece um valor exclusivo e de incremento para a coluna.The Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine provides a unique, incremental value for the column. Quando você adiciona colunas de identificador a tabelas existentes, os números de identidade são adicionados às linhas existentes da tabela, com os valores de semente e de incremento.When you add identifier columns to existing tables, the identity numbers are added to the existing rows of the table with the seed and increment values. A ordem em que as linhas são atualizadas não é garantida.The order in which the rows are updated is not guaranteed. Os números de identidade também são gerados para todas as linhas adicionadas.Identity numbers are also generated for any new rows that are added.

As colunas de identidade, em geral, são usadas juntamente com restrições PRIMARY KEY para servir de identificador exclusivo de linha para a tabela.Identity columns are commonly used in conjunction with PRIMARY KEY constraints to serve as the unique row identifier for the table. A propriedade IDENTITY pode ser atribuída a uma coluna tinyint, smallint, int, bigint, decimal(p,0) ou numeric(p,0) .The IDENTITY property can be assigned to a tinyint, smallint, int, bigint, decimal(p,0), or numeric(p,0) column. Apenas uma coluna de identidade pode ser criada por tabela.Only one identity column can be created per table. A palavra-chave DEFAULT e os padrões associados não podem ser usados com uma coluna de identidade.The DEFAULT keyword and bound defaults cannot be used with an identity column. Ambos os valores de semente e de incremento devem ser identificados, ou nenhum dos dois.Either both the seed and increment must be specified, or neither. Se nenhum dos dois for especificado, o padrão será (1,1).If neither are specified, the default is (1,1).

Observação

Você não pode modificar uma coluna de tabela existente para adicionar a propriedade IDENTITY.You cannot modify an existing table column to add the IDENTITY property.

Não há suporte para a adição de uma coluna de identidade a uma tabela publicada porque pode resultar em não convergência quando a coluna for replicada ao Assinante.Adding an identity column to a published table is not supported because it can result in nonconvergence when the column is replicated to the Subscriber. Os valores na coluna de identidade no Publicador dependerão da ordem em que as linhas para a tabela afetada forem armazenadas fisicamente.The values in the identity column at the Publisher depend on the order in which the rows for the affected table are physically stored. As linhas poderiam ser armazenadas diferentemente no Assinante; por isso, o valor para a coluna de identidade pode ser diferente para as mesmas linhas.The rows might be stored differently at the Subscriber; therefore, the value for the identity column can be different for the same rows..

Para desabilitar a propriedade IDENTITY de uma coluna, permitindo a inserção explícita de valores, use SET IDENTITY_INSERT.To disable the IDENTITY property of a column by allowing values to be explicitly inserted, use SET IDENTITY_INSERT.

seedseed
É o valor usado para a primeira linha carregada na tabela.Is the value used for the first row loaded into the table.

incrementincrement
É o valor de incremento adicionado ao valor de identidade da linha anterior que é carregada.Is the incremental value added to the identity value of the previous row that is loaded.

NOT FOR REPLICATIONNOT FOR REPLICATION
Aplica-se a: do SQL Server 2008SQL Server 2008 ao SQL ServerSQL Server.Applies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

Pode ser especificado para a propriedade IDENTITY.Can be specified for the IDENTITY property. Se essa cláusula for especificada para a propriedade IDENTITY, os valores não serão incrementados em colunas de identidade quando os agentes de replicação executarem operações insert.If this clause is specified for the IDENTITY property, values are not incremented in identity columns when replication agents perform insert operations.

ROWGUIDCOLROWGUIDCOL
Aplica-se a: do SQL Server 2008SQL Server 2008 ao SQL ServerSQL Server.Applies to: SQL Server 2008SQL Server 2008 through SQL ServerSQL Server.

Especifica se a coluna é uma linha de coluna de identificador global exclusivo.Specifies that the column is a row globally unique identifier column. ROWGUIDCOL pode ser atribuído somente a uma coluna uniqueidentifier, e somente uma coluna uniqueidentifier por tabela pode ser atribuída como a coluna ROWGUIDCOL.ROWGUIDCOL can only be assigned to a uniqueidentifier column, and only one uniqueidentifier column per table can be designated as the ROWGUIDCOL column. ROWGUIDCOL não pode ser atribuído a colunas de tipos de dados definidos pelo usuário.ROWGUIDCOL cannot be assigned to columns of user-defined data types.

ROWGUIDCOL não obriga exclusividade dos valores armazenados na coluna.ROWGUIDCOL does not enforce uniqueness of the values stored in the column. Da mesma forma, ROWGUIDCOL não gera automaticamente valores para as novas linhas inseridas na tabela.Also, ROWGUIDCOL does not automatically generate values for new rows that are inserted into the table. Para gerar valores exclusivos para cada coluna, use a função NEWID em instruções INSERT ou especifique a função NEWID como o padrão para a coluna.To generate unique values for each column, either use the NEWID function on INSERT statements or specify the NEWID function as the default for the column. Para obter mais informações, consulte NEWID (Transact-SQL) e INSERT (Transact-SQL).For more information, see NEWID (Transact-SQL)and INSERT (Transact-SQL).

SPARSESPARSE
Indica que a coluna é uma coluna esparsa.Indicates that the column is a sparse column. O armazenamento de colunas esparsas é otimizado para obter valores nulos.The storage of sparse columns is optimized for null values. Colunas esparsas não podem ser designadas como NOT NULL.Sparse columns cannot be designated as NOT NULL. Para obter restrições adicionais e mais informações sobre colunas esparsas, consulte Usar colunas esparsas.For additional restrictions and more information about sparse columns, see Use Sparse Columns.

<column_constraint><column_constraint>
Para obter as definições dos argumentos de restrição de coluna, consulte column_constraint (Transact-SQL).For the definitions of the column constraint arguments, see column_constraint (Transact-SQL).

ENCRYPTED WITHENCRYPTED WITH
Especifica as colunas de criptografia usando o recurso Always Encrypted.Specifies encrypting columns by using the Always Encrypted feature.

COLUMN_ENCRYPTION_KEY = key_nameCOLUMN_ENCRYPTION_KEY = key_name
Especifica a chave de criptografia de coluna.Specifies the column encryption key. Para obter mais informações, veja CREATE COLUMN ENCRYPTION KEY (Transact-SQL).For more information, see CREATE COLUMN ENCRYPTION KEY (Transact-SQL).

ENCRYPTION_TYPE = { DETERMINISTIC | RANDOMIZED }ENCRYPTION_TYPE = { DETERMINISTIC | RANDOMIZED }
Criptografia determinística usa um método que sempre gera o mesmo valor criptografado para qualquer valor de texto não criptografado.Deterministic encryption uses a method which always generates the same encrypted value for any given plain text value. Usar criptografia determinística permite pesquisar usando comparação de igualdade, agrupamento e junção de tabelas usando junções de igualdade baseadas em valores criptografados, mas também pode permitir que usuários não autorizados adivinhem informações sobre valores criptografados examinando padrões na coluna criptografada.Using deterministic encryption allows searching using equality comparison, grouping, and joining tables using equality joins based on encrypted values, but can also allow unauthorized users to guess information about encrypted values by examining patterns in the encrypted column. A união de duas tabelas em colunas criptografadas de maneira determinística só é possível se ambas as colunas são criptografadas com a mesma chave de criptografia de coluna.Joining two tables on columns encrypted deterministically is only possible if both columns are encrypted using the same column encryption key. A criptografia determinística deve usar uma ordenação de colunas com uma ordem de classificação binary2 para as colunas de caracteres.Deterministic encryption must use a column collation with a binary2 sort order for character columns.

Criptografia aleatória usa um método que criptografa os dados de uma maneira menos previsível.Randomized encryption uses a method that encrypts data in a less predictable manner. A criptografia aleatória é mais segura, mas impede que cálculos e indexação sejam feitos em colunas criptografadas, a menos que sua instância do SQL Server tenha suporte para Always Encrypted com enclaves seguros.Randomized encryption is more secure, but it prevents any computations and indexing on encrypted columns, unless your SQL Server instance supports Always Encrypted with secure enclaves.

Se você estiver usando o Always Encrypted (sem enclaves seguros), use a criptografia determinística para que as colunas sejam pesquisadas com parâmetros ou com parâmetros de agrupamento, por exemplo, um número de identificação do governo.If you are using Always Encrypted (without secure enclaves), use deterministic encryption for columns to be searched with parameters or grouping parameters, for example a government ID number. Use criptografia randomizada para dados como número de cartão de crédito, que não são agrupados a outros registros nem usados para unir tabelas e que não são pesquisados porque você usa outras colunas (como número de transações) para localizar a linha que contém a coluna criptografada de interesse.Use randomized encryption, for data such as a credit card number, which is not grouped with other records, or used to join tables, and which is not searched for because you use other columns (such as a transaction number) to find the row which contains the encrypted column of interest.

Se você está usando o Always Encrypted com enclaves seguros, a criptografia aleatória é um tipo de criptografia recomendado.If you are using Always Encrypted with secure enclaves, randomized encryption is a recommended encryption type.

As colunas devem ser de um tipo de dados qualificado.Columns must be of a qualifying data type.

ALGORITHMALGORITHM
Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL ServerSQL Server, Banco de Dados SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL ServerSQL Server, Banco de Dados SQLSQL Database.
Deve ser 'AEAD_AES_256_CBC_HMAC_SHA_256' .Must be 'AEAD_AES_256_CBC_HMAC_SHA_256'.

Para mais informações, incluindo restrições de recursos, veja Always Encrypted (Mecanismo de Banco de Dados).For more information including feature constraints, see Always Encrypted (Database Engine).

ADD MASKED WITH ( FUNCTION = ' mask_function ')ADD MASKED WITH ( FUNCTION = ' mask_function ')
Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL ServerSQL Server, Banco de Dados SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL ServerSQL Server, Banco de Dados SQLSQL Database.

Especifica uma máscara de dados dinâmicos.Specifies a dynamic data mask. mask_function é o nome da função de mascaramento com os parâmetros apropriados.mask_function is the name of the masking function with the appropriate parameters. As seguintes opções estão disponíveis:The following functions are available:

  • default()default()

  • email()email()

  • partial()partial()

  • random()random()

Para parâmetros de função, consulte Máscara de Dados Dinâmicos.For function parameters, see Dynamic Data Masking.

RemarksRemarks

Se a coluna adicionada tiver um tipo de dados uniqueidentifier, ela poderá ser definida com um padrão que usa a função NEWID() para fornecer os valores de identificador exclusivo na nova coluna para cada linha existente da tabela.If a column is added having a uniqueidentifier data type, it can be defined with a default that uses the NEWID() function to supply the unique identifier values in the new column for each existing row in the table.

O Mecanismo de Banco de DadosDatabase Engine não impõe uma ordem para especificar DEFAULT, IDENTITY, ROWGUIDCOL nem restrições de coluna em uma definição de coluna.The Mecanismo de Banco de DadosDatabase Engine does not enforce an order for specifying DEFAULT, IDENTITY, ROWGUIDCOL, or column constraints in a column definition.

A instrução ALTER TABLE falhará se a adição da coluna fizer com que o tamanho da linha de dados exceda 8060 bytes.ALTER TABLE statement will fail if adding the column will cause the data row size to exceed 8060 bytes.

ExemplosExamples

Para obter exemplos, consulte ALTER TABLE (Transact-SQL).For examples, see ALTER TABLE (Transact-SQL).

Consulte TambémSee Also

ALTER TABLE (Transact-SQL)ALTER TABLE (Transact-SQL)