我有下表
CREATE TABLE User (
email sysname NOT NULL,
sign varbinary(256) NULL
);
SQL Server 2005/2008中的sysname与nvarchar(128)具有相同的大小 - 我假设它是256字节。
我正在使用SignByCert(...,email,...)函数生成“email”列的签名。
我可以对[sign]列的最大大小做出任何假设吗?
答案 0 :(得分:2)
找到它。
根据第160页的“Accelerated SQL Server 2008”一书 - siganture的大小取决于证书中私钥的大小。
如果大小为2048位,则签名大小为256字节。如果大小为1024位,则签名大小为128字节。
在我的情况下,我使用CREATE CERTIFICATE TSQL语句创建证书,并且 - 根据SQL Server联机丛书:
SQL Server生成的私钥 是1024位长
所以我的签名列的最大大小是128个字节。