Azure Synapse专用池创建包含用户报错:PASSWORD附近语法错误
在Azure Synapse Analytics专用池中创建包含用户的正确方法
问题原因
Azure Synapse Analytics专用池(原SQL数据仓库)的用户创建语法和Azure SQL Database不同,没法直接用WITH PASSWORD的方式创建包含用户,必须通过数据库范围的凭据搭配用户关联凭据的方式实现。
正确操作步骤
- 先创建数据库范围的凭据,用来存储用户的密码信息:
CREATE DATABASE SCOPED CREDENTIAL [credential_username] WITH IDENTITY = 'username', SECRET = 'Comple@xPassword@123';
- 接着创建包含用户,并关联刚才的凭据:
CREATE USER [username] WITH DEFAULT_SCHEMA = 'dbo', LOGIN = [credential_username];
额外说明
- 如果要给这个用户分配权限,比如读取dbo架构下数据的权限,执行下面的语句:
GRANT SELECT ON SCHEMA::dbo TO [username];
- 划重点:Synapse专用池里的包含用户必须依赖数据库范围凭据,这是和Azure SQL Database的核心区别——SQL DB支持直接用
WITH PASSWORD创建,专用池不支持这个语法。
内容的提问来源于stack exchange,提问作者Praveen
相关产品推荐
相关产品推荐

