sql - Azure SQL 创建数据库范围的凭据

标签 sql azure azure-sql-database

我正在尝试使用 SSMS 在 Azure SQL 中创建范围凭据。

CREATE DATABASE SCOPED CREDENTIAL [cred-name] WITH IDENTITY = [db-user], SECRET = 'password'

我不断遇到错误消息,指出“‘cred-name’附近的语法不正确。需要‘=’。”我不确定我的语法是如何不正确的,因为我过去已经成功地完成了这个确切的命令,所以我不确定发生了什么变化。我想也许只是智能感知搞砸了,所以我将 SSMS 实例从 17.3 更新到 17.7,但我仍然收到相同的错误消息。

有人知道可以改变什么吗?

最佳答案

运行您针对 Microsoft SQL Azure (RTM) - 12.0.2000.8 2018 年 5 月 4 日 13:05:56 版本发布的 T-SQL 会导致以下错误:

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'db-user'.

将身份名称括号替换为单引号会导致以下错误:

Msg 15581, Level 16, State 6, Line 1
Please create a master key in the database or open the master key in the session before performing this operation.

使用以下 T-SQL 创建主 key 使我能够成功创建凭证:

CREATE MASTER KEY ENCRYPTION BY PASSWORD='MyPassw0rdIsComplex.'
GO

CREATE DATABASE SCOPED CREDENTIAL [cred-name] WITH IDENTITY = 'db-user' , SECRET = 'password'
GO

此外,您还可以使用以下查询检查范围内的凭据:

SELECT * FROM sys.database_scoped_credentials WHERE credential_identity='db-user'

我使用的是 SSMS 版本 17.2,但我不确定这是否重要,因为错误可能来自 SQL Server 引擎本身。

关于sql - Azure SQL 创建数据库范围的凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50454237/

相关文章:

java - uri : http://java. sun.com/jsp/jSTL/core 无法在 web.xml 或使用此应用程序部署的 jar 文件中解析

api - 从表的插入函数调用自定义 API Windows Azure

python - 使用 azure cli 将 python 应用程序部署到现有的 azure 应用程序服务

azure - 使用 Azure PowerShell 进行数据库迁移

SQL Azure 数据不写入?

sql - 使用 Oracle 数据创建 SSAS 多维数据集是否必须使用 SSIS?

java - shell脚本没有完全从java执行

mysql - 当记录更新较早时增加行的列

azure - 在不使用云服务的情况下在 Azure 上托管奥尔良有哪些选项?

Azure DTU 定价结构