SQL Server :: ZAMASKOWANY (FUNKCJA = 'domyślne()'); nie działa

0

Pytanie

Mój cel - ukryć kolumny w programie SQL Server 2019.

Śledzę bardzo prostej instrukcji.

Uruchamiam ten wniosek przeciwko AdventureWorks2014 i tworzę kopię 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

Teraz mam zamiar ukryć kolumnę FirstName jak jest napisane w instrukcji:

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

I dostaję komunikat o błędzie:

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

Gdzie się mylę?

Gdzie mogę znaleźć tej funkcji FUNCTION = 'default()' w SSMS?

1

Najlepsza odpowiedź

1

Przypuszczam, że błąd związany ze zmianą dokładności nvarchar na 10, a nie z

FUNCTION = 'default()' 

Jeśli masz jakieś dane z wartościami więcej niż 10 znaków, będą obcinane, a to doprowadzi do utraty danych.

Po prostu zrób:

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

Przydatne linki:
Zmiana rozmiaru kolumny w programie SQL Server
Co dzieje się, kiedy zmienić (zmniejszyć) długość kolumny?

2021-11-23 16:19:54

W innych językach

Ta strona jest w innych językach

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