gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 06:00:28 25 4
gpt4 key购买 nike

我正在尝试使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com