SQL Server :: MASCHERATO CON (FUNZIONE = 'default()'); non funziona

0

Domanda

Il mio obiettivo è quello di nascondere le colonne su SQL Server 2019.

Sto seguendo molto facile guida.

Ho eseguito la query AdventureWorks2014 e ho creato una copia di 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

Ora sto andando a mascherare la colonna FirstName come è scritto nella guida:

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

E ricevo l'errore:

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

Dove sbaglio?

Dove posso trovare la funzione FUNCTION = 'default()' in sql server management studio?

1

Migliore risposta

1

Credo che l'errore è legato alla variazione di tipo nvarchar di precisione a 10 piuttosto che il

FUNCTION = 'default()' 

Se si dispone di tutti i dati con i valori più lungo di 10 caratteri che stanno andando a essere troncato e questo si tradurrà in perdita di dati.

Basta fare:

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

Link utili:
Alterare le dimensioni della colonna in SQL Server
Cosa succede quando si modifica (riduzione) di una colonna di lunghezza?

2021-11-23 16:19:54

In altre lingue

Questa pagina è in altre lingue

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