SQL Server :: MASCARADO COM (FUNÇÃO = 'padrão()'); não trabalhar

0

Pergunta

Meu objetivo é a máscara de colunas no SQL Server 2019.

Eu sou muito fácil de guiar.

Eu executar esta consulta contra AdventureWorks2014 e eu criar uma cópia de Person.Person:

SELECT  [BusinessEntityID]
      ,[PersonType]
      ,[NameStyle]
      ,[Title]
      ,[FirstName]
      ,[MiddleName]
      ,[LastName]
      ,[Suffix]
      ,[EmailPromotion]
      ,[AdditionalContactInfo]
      ,[Demographics]
      ,[rowguid]
      ,[ModifiedDate]
      INTO [Person].[PersonMasked]
  FROM [AdventureWorks2014].[Person].[PersonMasked]
  ORDER BY BusinessEntityID

Agora estou indo para mascarar a coluna FirstName como está escrito no guia:

ALTER TABLE [AdventureWorks2014].[Person].[PersonMasked]
ALTER COLUMN FirstName NVARCHAR(10) MASKED WITH (FUNCTION = 'default()');

E eu recebo o erro:

Msg 8152, Level 16, State 30, Line 1
String or binary data would be truncated.
The statement has been terminated.

Completion time: 2021-11-23T15:32:43.0426983+01:00

Onde estou errado?

Onde posso encontrar a função FUNCTION = 'default()' no SSMS?

1

Melhor resposta

1

Eu acredito que o erro está relacionado com a alteração do tipo de dados nvarchar precisão de 10 em vez de para o

FUNCTION = 'default()' 

Se você tiver quaisquer dados com valores de mais de 10 caracteres, eles estão indo para ser truncado e isso irá resultar em perda de dados.

Basta fazer:

ALTER TABLE [AdventureWorks2014].[Person].[PersonMasked]
ALTER COLUMN FirstName NVARCHAR(50) MASKED WITH (FUNCTION = 'default()');

Links úteis:
Alterar o tamanho da coluna no SQL Server
O que acontece quando você modificar (reduzir) uma coluna de comprimento?

2021-11-23 16:19:54

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................