如何在SQL Azure中替换内置函数pwdcompare?

时间:2014-09-02 02:24:09

标签: sql sql-server azure azure-sql-database

我需要将SQL Server 2012数据库迁移到SQL Azure(11.0.9222.17)。问题是在当前项目中我使用内置SQL函数PWDCOMPARE,因为我将用户密码作为HASH值存储在数据库中。在SQL Azure中,我收到错误Built-in function 'PWDCOMPARE' is not supported in this version of SQL Server。如何用另一个替换此功能或解决此问题?

1 个答案:

答案 0 :(得分:1)

您可以使用适用于Azure SQL数据库的SQL Server的原始HASHBYTES函数来解决此限制。

根据this article,似乎SQL Server 2012和更新版本使用SHA512哈希算法,而SQL Server的早期版本使用SHA1算法。阅读整篇文章时,您会发现示例代码可以帮助您摆脱PWDCOMPARE并实际创建自己的版本,从而最大限度地减少对调用此函数的实际代码的影响。