SQL Server :: ENMASCARADO CON (FUNCIÓN = 'default()'); no funciona

0

Pregunta

Mi objetivo es la máscara de columnas en SQL Server 2019.

Estoy siguiendo un sistema muy fácil de guía.

Puedo ejecutar esta consulta en AdventureWorks2014 y puedo crear una copia 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

Ahora voy a máscara de la columna FirstName como está escrito en la guía:

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

Y me aparece el error:

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

Donde estoy equivocado?

Donde puedo encontrar la función FUNCTION = 'default()' en SSMS?

1

Mejor respuesta

1

Creo que el error está relacionado con el cambio de tipo nvarchar precisión a 10 en vez de a la

FUNCTION = 'default()' 

Si usted tiene cualquier de datos con valores de más de 10 caracteres que van a ser truncado y esto se traducirá en la pérdida de datos.

Acabo de hacer:

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

Enlaces útiles:
La alteración de tamaño de columna en SQL Server
¿Qué sucede cuando se modifica (reducir) una columna de longitud?

2021-11-23 16:19:54

En otros idiomas

Esta página está en otros idiomas

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