小编Roa*_*ast的帖子

在 SQL Server 2016 中,始终加密和透明数据加密有什么区别?

在我撰写本文时,我仍在等待 SQL Server 2016 的正式发布,以便我们可以探索其“始终加密”功能的实用性。

我只想知道 SQL Server 2016 中的 Always Encrypted 和当前可用的透明数据加密之间的具体区别是什么,以便我们可以为未来的项目做出正确的决定。

sql-server transparent-data-encryption sql-server-2016 always-encrypted

41
推荐指数
1
解决办法
2万
查看次数

是否可以将数据批量插入到具有使用 Always Encrypted 加密的列的表中?

在 SSMS 中,我们尝试将 csv 文件批量插入到具有使用 SQL Server 2016 的始终加密功能加密的列的表中。

这是我们正在使用的命令:

INSERT INTO membersE
SELECT *
FROM OPENROWSET(
    BULK 'c:\members.csv', 
    FORMATFILE = 'c:\membersEFormat.xml',
    FIRSTROW = 2
    ) m
Run Code Online (Sandbox Code Playgroud)

这将返回尝试插入加密列时出现的典型错误:

MSG 206,第16级,状态2,第6行
操作类型冲突:Varbinary与Varchar(50)与(Encryption_Type ='desirctionistist',Encryption_algorithm_name ='aead_aes_aes_aes_aes_aes_256_cbc_hmac_hmac_hmac_sha_256',column_encryetto ='aead_aes_aes_aes_aes_emcy_yerto ='aead_aes_aes_aes_256 ase_name ='数据库')排序规则名称 = 'Latin1_General_BIN2'

我们知道您无法通过 SSMS 插入加密列,并且您需要使用 .NET 4.6.1+ 客户端,但我们想知道批量插入操作是否也无法实现?

对我有用的示例代码
(满足 Windows10 的要求)

        SqlCommand cmd;
        SqlConnection conn;
        SqlBulkCopy copy;
        SqlDataAdapter da;
        DataTable dt;

        using (conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Database"].ConnectionString))
        {
            conn.Open();

            using (cmd = new SqlCommand("SELECT * FROM members", conn))
            using (copy = new SqlBulkCopy(conn)) …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2016 always-encrypted bulk-insert

5
推荐指数
1
解决办法
5533
查看次数

sql server 2000 和 2012 可以在同一台服务器上共存吗?

我看到 2005/2008/2012 都可以共存,但在 2000 和 2012 上找不到任何东西。

sql-server-2000 sql-server-2012

4
推荐指数
1
解决办法
384
查看次数