MSSQL数据库用户名(非服务器登录名)有什么用?

秋的红果实 2019-10-14 10:46:57
create一个数据库,默认用户名是dbo,有必要删除这个默认的,再新建立一个吗
这个用户名有什么用?
...全文
184 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello World, 2019-10-16
  • 打赏
  • 举报
回复
引用 7 楼 秋的红果实 的回复:
引用 5 楼 Hello World, 的回复:
先创建登录名(CREATE LOGIN),默认的sa映射到各个数据库中的dbo,可以在数据库中删除,然后对数据库建立用户(CREATE USER)(映射到创建好的登录名),再对用户授权(GRANT),要求不高就直接给db_owner,要求高可以针对表、视图、存储过程等赋予查看、执行、修改等权限
那么权限最终还是决定于登录名吧?

最终的权限不是取决于登录名,登录名的权限是用于登录和管理数据库服务器,对于某个数据库的权限是决定于数据库的用户名(通常建立登录名时会有个默认数据库,新建立的这个登录名会同步建立这个默认数据库的用户),需要对这个用户进行授权才行。有些附加的数据库可能存在孤立用户,这时可以通过修复来关联到某个登录名。

总之要有登录名才能连接到服务器,然后通过登录名判断出有哪些用户是和它关联的,再检查这些用户的权限
Rivulet119 2019-10-15
  • 打赏
  • 举报
回复
SQL Server2008后引入了“架构”的概念,表名前面的拥有着(dbo)是个架构,就是对应数据库概念中的模式,一个数据库中的表,可以属于不同的架构(模式),看下他自带的示例数据库 AdventureWorks中的表们,就明白了。
了不起的Ray 2019-10-15
  • 打赏
  • 举报
回复
dbo是架构名
二月十六 2019-10-15
  • 打赏
  • 举报
回复
给不同的用户不同的权限。同一个用户不能操作所有的表,这样可以保证一个用户只能操作对应的几个表,而不是所有表
秋的红果实 2019-10-15
  • 打赏
  • 举报
回复
自己顶一下 我知道是用于安全的,就是不知道怎么用 当前需要建立多个数据库(几千),我打算用有限个(如几十个)登录名(登录服务器的),建立几千个数据库,每个数据库一个用户名,一个库对应一个用户名 这种该怎么做?能否起到更安全的作用?
二月十六 2019-10-15
  • 打赏
  • 举报
回复
取决于给这个登录名配置的权限 https://www.cnblogs.com/yxyht/archive/2013/03/22/2975880.html
秋的红果实 2019-10-15
  • 打赏
  • 举报
回复
引用 5 楼 Hello World, 的回复:
先创建登录名(CREATE LOGIN),默认的sa映射到各个数据库中的dbo,可以在数据库中删除,然后对数据库建立用户(CREATE USER)(映射到创建好的登录名),再对用户授权(GRANT),要求不高就直接给db_owner,要求高可以针对表、视图、存储过程等赋予查看、执行、修改等权限
那么权限最终还是决定于登录名吧?
Hello World, 2019-10-15
  • 打赏
  • 举报
回复
先创建登录名(CREATE LOGIN),默认的sa映射到各个数据库中的dbo,可以在数据库中删除,然后对数据库建立用户(CREATE USER)(映射到创建好的登录名),再对用户授权(GRANT),要求不高就直接给db_owner,要求高可以针对表、视图、存储过程等赋予查看、执行、修改等权限
秋的红果实 2019-10-15
  • 打赏
  • 举报
回复
引用 2 楼 二月十六 的回复:
给不同的用户不同的权限。同一个用户不能操作所有的表,这样可以保证一个用户只能操作对应的几个表,而不是所有表
怎么指定这个用户名? 我直接这样问:登陆服务器需要登录名(如sa)和密码,那么何时用到这个数据库的用户名?

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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