如何让一个数据库只能被sa访问

shikongtian 2008-10-06 11:26:29
我现在有一个数据库,想要他只能被sa用户访问,请问要如何做?
我用的是MSSQL 2005,而且删不掉用户里面的guest,提示说只能禁用,不能删除,但是建的其它用户还是可以访问这个数据库的,高人们帮帮忙吧
...全文
117 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shikongtian 2008-10-06
  • 打赏
  • 举报
回复
可能是我说的不太详细吧,是这样的
我们这边现在有三个人做开发,要一起用这电脑上的数据库a,然后呢,我电脑上还有个数据库b,是比较重要的一个库,只能让我自己看到
sa用户肯定不能给了,所以就新建了个用户u1,但是用的时候发现,如果不给u1用户sysadmin的权限,无法对a数据库进行访问,但是给了sysadmin权限,可以访问所有数据库了,现在要做的呢,就是如何不让u1用户访问到b数据库
hzexe 2008-10-06
  • 打赏
  • 举报
回复
建表??
建表的权限很小的.给个select execute create table的权限,估计就够了.
hzexe 2008-10-06
  • 打赏
  • 举报
回复
那就不要给他最高权限,sysadmin=administrators约等于system权限.不好管理的后期.
shikongtian 2008-10-06
  • 打赏
  • 举报
回复
是这样的,我现在数据库应用是局域网内一起使用,操作系统是server 2003,数据库是sql 2005,新建的用户一定得给sysadmin权限,要不然其它电脑上的用户没办法建表,但是我不想让别人看到一个比较秘密的库,要怎么办呢
shikongtian 2008-10-06
  • 打赏
  • 举报
回复
不是库,是现在有几个库,然后呢,我建了个用户,但是不想让他访问其中的一个数据库,这个用户是给的最高权限,如何才能做到无法访问我不想让他看的那个数据库?
zheninchangjiang 2008-10-06
  • 打赏
  • 举报
回复
在安全性->登录名中找到系统用户组,将sysadmin角色勾去掉试试,你新建的用户名总有组,如果是users组都成了sysadmin了,那就看你怎么设计你的系统了
hzexe 2008-10-06
  • 打赏
  • 举报
回复
MSSQL 2005 sa默认都被禁用的.
正常新建的库,除administrators组以外的用户是无法访问的.
也就是如果新建的库不给他分配权限的话,,,只能master访问,你的担心是没有必要的
zheninchangjiang 2008-10-06
  • 打赏
  • 举报
回复
你的系统,你的数据库.........
shikongtian 2008-10-06
  • 打赏
  • 举报
回复
还是不可以,下面是错误图片
http://hiphotos.baidu.com/coldtian/pic/item/bcd2fd5d1e35ca59faf2c045.jpg
我还是不搞了,直接把数据库放别人机器上了,呵呵,谢谢CN_SQL,结帖给分了
CN_SQL 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 CN_SQL 的回复:]
引用 8 楼 shikongtian 的回复:
可能是我说的不太详细吧,是这样的
我们这边现在有三个人做开发,要一起用这电脑上的数据库a,然后呢,我电脑上还有个数据库b,是比较重要的一个库,只能让我自己看到
sa用户肯定不能给了,所以就新建了个用户u1,但是用的时候发现,如果不给u1用户sysadmin的权限,无法对a数据库进行访问,但是给了sysadmin权限,可以访问所有数据库了,现在要做的呢,就是如何不让u1用户访问到b数据库


[/Quote]
调整一下


use [数据库a]
go

create user u1 for login u1
go

exec sp_addrolemember 'db_owner','u1'
go


CN_SQL 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 shikongtian 的回复:]
可能是我说的不太详细吧,是这样的
我们这边现在有三个人做开发,要一起用这电脑上的数据库a,然后呢,我电脑上还有个数据库b,是比较重要的一个库,只能让我自己看到
sa用户肯定不能给了,所以就新建了个用户u1,但是用的时候发现,如果不给u1用户sysadmin的权限,无法对a数据库进行访问,但是给了sysadmin权限,可以访问所有数据库了,现在要做的呢,就是如何不让u1用户访问到b数据库
[/Quote]
直接给这个用户对数据库a的db_owner权限就可以了.

create user u1 for login u1
go

exec sp_addrolemember 'db_owner','u1'
go

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧