小编Chr*_*ris的帖子

SQL Server 登录无法看到数据库

作为理论测试(因为我想复习我对 SQL Server 安全性的理解)我想设置一个 SQL Server 登录,它只能看到一个数据库中一个表上的几个字段。

除了默认的 public,我没有为此登录分配任何角色。我不希望假设的用户具有任何服务器角色(即不是 sysadmin、dbcreator)……而且我不想为数据库使用任何标准角色(db_datareader 等)……

登录有默认数据库,登录映射到数据库(默认架构dbo)。现在,在用户安全对象中,我已授予对一张表的访问权限并使用列权限来指定列,但在测试登录时我真的没有做到这一点。

当我使用 SQL Server 身份验证和新登录名登录到 SSMS 时,除了 master/tempdb 之外,我看不到任何数据库...

我应该看到我的默认/映射数据库吗?我没有看到任何其他类似这样的问题,所以我猜我错过了一些完全明显的东西。

为了使用 sql 登录名登录到 SSMS,您是否必须拥有分配的服务器角色才能查看非系统数据库?当我添加 sysadmin 时我可以看到数据库,但随后我又回到了过度授权。


CREATE LOGIN [Chris_Test2] WITH PASSWORD=N'¯\Ï<ÞZcÅÎ5¿ûY!ËDåÜ''¨Äs»¾Þja7', 
DEFAULT_DATABASE=[Finance_Receivables_TEST], 
DEFAULT_LANGUAGE=[us_english], 
CHECK_EXPIRATION=OFF, 
CHECK_POLICY=OFF
GO


USE [Finance_Receivables_TEST]
GO
/****** Object:  User [Chris_Test2]    Script Date: 01/18/2017 14:40:21 ******/
GO
CREATE USER [Chris_Test2] FOR LOGIN [Chris_Test2] WITH DEFAULT_SCHEMA=[dbo]
Run Code Online (Sandbox Code Playgroud)

security sql-server

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

security ×1

sql-server ×1