SQL Server :: MASQUÉ AVEC (FONCTION = 'par défaut()'); ne fonctionne pas

0

La question

Mon but est de masquer les colonnes sur SQL Server 2019.

Je suis très facile à guider.

J'exécute cette requête à l'encontre de AdventureWorks2014 et j'ai créer une copie 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

Je vais maintenant le masque de la colonne FirstName comme il est écrit dans le guide:

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

Et je reçois l'erreur:

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

Où ai-je tort?

Où puis-je trouver la fonction FUNCTION = 'default()' dans SSMS?

1

La meilleure réponse

1

Je crois que l'erreur est liée au changement de type nvarchar précision à 10 plutôt qu'à l'

FUNCTION = 'default()' 

Si vous avez des données avec des valeurs de plus de 10 caractères qu'ils sont va être tronquée et cela va entraîner une perte de données.

Juste à faire:

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

Liens utiles:
Modifier la taille des colonnes dans SQL Server
Ce qui se passe quand vous modifier (réduire) une colonne de longueur?

2021-11-23 16:19:54

Dans d'autres langues

Cette page est dans d'autres langues

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