sqlserver使用户只能在某个架构下建立表和存储过程

1、首先,建立一个用户之后,默认的架构是dbo,默认的角色是public。这种情况下,这个用户将看不到dbo以及其他架构下的对象。除非单独进行授权。

2、新建一个架构test,然后使得这个架构的所有者为上面建立的用户,并且设置这个用户的默认架构为test。那么,这个新建的用户将拥有test架构对象的所有权限。但此时这个用户还没有建立表和存储过程的权限。

3、授予这个新建的用户表和存储过程的权限:

use testdb;
GRANT CREATE TABLE to abc;

GRANT CREATE PROCEDURE to abc;

这样,此用户将拥有新建表和用户的权限。但是由于此用户只有test架构的权限,因此只能建立test架构的表和存储过程。由于此用户的默认架构为test,那么它建立表的时候不写架构建出来的还是属于test架构的。

4、如果希望用户能建立别的架构的对象,那么需要授予这个用户对新的架构的alter权限即可。如果希望此用户可以看到新的架构里面的对象,那么授予此用户新的架构的查看定义权限即可。

5、上面说的都是利用语句来建立的方法。注意利用sqlserver客户端工具建立表和存储过程的时候会有一些区别。通过图形界面建表,会出一个错误提示,表示只有管理员和数据库所有者才有权限执行此操作。这个只是由于要把一些临时数据存到系统表里,可以忽略,这样就只是生成建立表的语句并执行,这些操作是可以的,没什么问题。因此那个错误是可以忽略的。

?

时间: 2024-07-30 02:35:07

sqlserver使用户只能在某个架构下建立表和存储过程的相关文章

微服务架构下的身份认证

从单体应用架构到分布式应用架构再到微服务架构,应用的安全访问在不断的经受考验.为了适应架构的变化.需求的变化,身份认证与鉴权方案也在不断的变革.面对数十个甚至上百个微服务之间的调用,如何保证高效安全的身份认证?面对外部的服务访问,该如何提供细粒度的鉴权方案?本文将会为大家阐述微服务架构下的安全认证与鉴权方案. 单体应用 VS 微服务 随着微服务架构的兴起,传统的单体应用场景下的身份认证和鉴权面临的挑战越来越大.单体应用体系下,应用是一个整体,一般针对所有的请求都会进行权限校验.请求一般会通过一个

翻译brent ozar的sqlserver dba训练课程——第一章:建立数据库服务器清单

在公司里,走进销售副总裁的办公室,询问他手下有多少销售人员.不,我的意思是你并不要那么做,他们会问你销售工具为什么那么慢. 其实我的意思是,如果你能走进他的办公室问他这个问题.我敢打赌,他会马上回答,不会有片刻犹豫.或者你走进ceo的办公室问他有多少员工,或者问cfo年度预算是多少,他们肯定会迅速回答. 因此,我的观点是,当你负责某个事物时,你需要清楚的知道你所负责的是那些. 制作一个表格清单 让我们开始制作一个表格清单.在表格的顶部,我们列出以下列: sqlserver版本(2005.2008

三层架构下实现用户登陆C#

上篇文章讲到三层.接下来就通过一个实例具体的看怎么用三层实现用户登陆界面. 一.Model实体(LoginModel): namespace LoginModel { //添加类:UserInfo Model实体作用:封装数据,使数据在三层中传输 ,更倾向于业务逻辑层 public class UserInfo { //定义用户属性 public int ID { get; set; } public string UserName { get; set; } public string Pas

Re:从 0 开始的微服务架构--(四)如何保障微服务架构下的数据一致性--转

原文地址:http://mp.weixin.qq.com/s/eXvoJew3bjFKzLLJpS0Otg 随着微服务架构的推广,越来越多的公司采用微服务架构来构建自己的业务平台.就像前边的文章说的,微服务架构为业务开发带来了诸多好处的同时,例如单一职责.独立开发部署.功能复用和系统容错等等,也带来一些问题. 例如上手难度变大,运维变得更复杂,模块之间的依赖关系更复杂,数据一致性难以保证,等等.但是办法总是比问题多,本篇文章就来介绍一下我们是如何保障微服务架构的数据一致性的. 微服务架构的数据一

打通windows和Linux下的传输问题解决只能使用SSH协议下的22端口来传输文件(Openssh for windows)

目的:打通windows和Linux下的传输问题解决只能使用SSH协议下的22端口来传输文件 环境: windows IP192.168.1.120 Linux IP192.168.101 方法: 安装opensshfor windows (次软件开源并增加ssh协议将windows模拟成Unix环境) 安装完软件导入本地用户或者域用户 进入到bin目录下面执行 cd "c:\Program Files(x86)\OpenSSH\bin" mkgroup -l >>..\e

微服务架构下的数据一致性:概念及相关模式

主页:http://www.howardliu.cn/ 博客:微服务架构下的数据一致性:概念及相关模式 从2014年开始,微服务逐渐进入大家的实现,被认为是下一代实现信息化的有效手段.设计到系统,其中绕不开的就是数据一致性,从本地事务,到后来的分布式事务,都能够有效的保证数据一致性.但是在微服务架构中,这两种方式都不是最好的选择. 1. 使用本地事务和分布式事务保证一致性 在传统的单击应用中,最简单.最直接.最普遍的会使用一个关系型数据库,通过关系型数据库的事务保证数据的一致性.这种事务有四个基

从 0 开始的微服务架构:(四)如何保障微服务架构下的数据一致性

虽然已经红了很久,但是"微服务架构"正变得越来越重要,也将继续火下去.各个公司与技术人员都在分享微服务架构的相关知识与实践经验,但我们发现,目前网上的这些相关文章中,要么上来就是很有借鉴意义的干货,要么就是以高端的专业术语来讲述何为微服务架构.就是没有一个做到成熟地将技术传播出来,同时完美地照顾"初入微服务领域人员",从 0 开始,采用通俗易懂的语言去讲解微服务架构的系列.所以,我们邀请青柳云的苏槐与 InfoQ 一起共建微服务架构专题"Re:从 0 开始

如何保障微服务架构下的数据一致性

1.微服务架构的数据一致性问题 以电商平台为例,当用户下单并支付后,系统需要修改订单的状态并且增加用户积分.由于系统采用的是微服务架构,分离出了支付服务.订单服务和积分服务,每个服务都有独立数据库做数据存储.当用户支付成功后,无论是修改订单状态失败还是增加积分失败,都会造成数据的不一致. 为了解决例子中的数据一致性问题,一个最直接的办法就是考虑数据的强一致性.那么如何保证数据的强一致性呢?我们从关系型数据库的 ACID 理论说起. 关系型数据库具有解决复杂事务场景的能力,关系型数据库的事务满足

Devops微服务架构下具有代码级穿透能力的精准测试

微服务是Devops场景下热门的开发框架,在大型项目中被广泛采用.它把一个大型的单个应用程序和服务拆分为数十个的支持微服务,独立部署.互相隔离,通过扩展组件来处理功能瓶颈问题,比传统的应用程序更能有效利用计算资源.微服务之间无需关心对方的模型,它通过事先约定好的接口进行数据流转,使业务可以高效响应市场变化.但微服务一个明显的表象就是随着服务的增多,传统的测试模式受到很大制约,无法有效进行下去,威胁到整体系统质量.所有J2EE代码层白盒采集工具都无法区分覆盖和具体功能的对应关系,只能以后台模式"笼