sql-server - 如何在 Azure SQL 数据库中对用户隐藏其他数据库?
问题描述
我正在使用 SQL Server Management Studio v17.9.1。我按照这篇文章的指南使用以下命令,但失败并出现错误。
REVOKE VIEW ANY DATABASE FROM PUBLIC
此版本的 SQL Server 不支持安全类“服务器”。
我也尝试了下面的代码,但出现了同样的错误:
USE master;
GO
DENY VIEW ANY DATABASE TO TestUser;
GO
这有什么问题?
解决方案
在 Azure SQL 数据库(和本地包含的数据库)中,用户可以在数据库级别进行身份验证,而无需服务器级别的登录。例如,在 Team1 数据库的上下文中:
CREATE User Team1User WITH PASSWORD='<complex-password-here>';
同样对于其他数据库:
CREATE User Team2User WITH PASSWORD='<complex-password-here>';
用户在连接时必须指定所需的数据库,并且sys.databases
目录视图仅返回当前数据库。
推荐阅读
- google-apps-script - 我想让 Google Docs 脚本自动加载?
- matplotlib - contourf 在有限数据上绘制空白。过去的答案不正确
- android - 使用 FCM 在 Android 应用中接收来自多个发件人(Firebase 项目)的消息
- python - Keras:推文分类
- python - python中包含数据数组和函数的积分的曲线拟合
- html - 溢出-y 在身体上的 div 上无法正常工作
- ignite - 在 ignite 集群中一次运行一次任务
- excel - 为什么 Excel 365 vba 无法保存我的 pdf 文件?
- angular - 仅在 IE 中触发 Angular 输入事件
- java - 反序列化序列化的不对称 [JsonInclude] 行为