Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2008 – Berechnete HashBytes-Spalte

Die Hashbytes-Spalte wird als VARBINARY(MAX) erstellt es sei denn, Sie sagen ihm ausdrücklich, dass 20 Bytes viel sind:

alter table dbo.Softs 
  add TitleHash AS CAST(hashbytes('SHA1', [Title]) AS VARBINARY(20)) PERSISTED

Sobald Sie das getan haben, können Sie Ihren Index (eindeutig oder nicht) für diese Spalte erstellen:

CREATE UNIQUE NONCLUSTERED INDEX [UIX_TitleHash] 
  ON [dbo].[Softs]([TitleHash] ASC)

Jetzt sollte dies problemlos funktionieren.