首页 > 解决方案 > 在 SQL Server 中更改 AE 加密文本列的大小

问题描述

我有一个在 SQL Server 2016 上使用 Always Encrypted 的表。这个 varchar 列最初的字段大小为 50,我想减少到 20。当我在 SQL Server Management 上执行此操作时,我收到以下错误:

Explicit conversion from data type varchar(50) encrypted with (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'ColumnEncryptionKey', column_encryption_key_database_name = 'TestDB') collation_name = 'Latin1_General_BIN2' to varchar(20) encrypted with (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'ColumnEncryptionKey', column_encryption_key_database_name = 'TestDB') collation_name = 'SQL_Latin1_General_CP1_CI_AS' is not allowed.

在我的 SSDT 项目中,它给出的信息略有不同,但它是相同的错误。

基本上,我不允许更改大小。有没有办法做到这一点?

注意:我正在执行此架构更改的表在此特定列中没有数据。

标签: sql-serversql-server-data-toolstablecolumnalways-encrypted

解决方案


推荐阅读