如何正确保护sql server

如何正确保护sql server,sql,sql-server,Sql,Sql Server,我创建了一个通用sql帐户,用于一堆旧的遗留应用程序。我将帐户设置为public,然后通过登录SQLServerStudio管理器进行测试。这是成功的,但是我注意到我可以导航到系统表,查看安全文件夹等。我如何设置帐户,使其无法执行此操作。我发现很难相信建立一个帐户并赋予它公共角色会允许访问这些对象。我做错了什么?公共帐户角色是特权最低的角色。如果您从该角色中删除该用法,那么您可能根本不允许它连接 您可以在此处从用户属性中的所有内置角色中删除用户 之后,您可以使用grant、DENY和other

我创建了一个通用sql帐户,用于一堆旧的遗留应用程序。我将帐户设置为public,然后通过登录SQLServerStudio管理器进行测试。这是成功的,但是我注意到我可以导航到系统表,查看安全文件夹等。我如何设置帐户,使其无法执行此操作。我发现很难相信建立一个帐户并赋予它公共角色会允许访问这些对象。我做错了什么?

公共帐户角色是特权最低的角色。如果您从该角色中删除该用法,那么您可能根本不允许它连接

您可以在此处从用户属性中的所有内置角色中删除用户


之后,您可以使用grant、DENY和other显式授予权限。能够查看安全文件夹与能够查看文件夹中的条目不同。用户通常能够看到自己的帐户,但不能看到其他人的帐户

将用户映射到具有“public”角色的数据库会带来微不足道的功能。“db_datareader”角色通常允许表选择,但不允许(例如)存储过程执行。“db_owner”角色在数据库中授予最大权限