sql 创建用户脚本
USE master
go CREATE LOGIN jiazhuang --用户名
WITH PASSWORD = 'sa', --密码
DEFAULT_DATABASE = JiaZhuan, --数据库名
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF
go
EXEC sp_addsrvrolemember 'JiaZhuan', 'sysadmin' --角色
go
要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一、获得准许连接 SQL Server 服务器的权利; 二、获得访问特定数据库中数据的权利(select, update, delete, create table ...)。 假设,我们准备建立一个 dba 数据库帐户,用来管理数据库 mydb。
1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login)
create login dba with password='sqlstudy', default_database=mydb
登陆帐户名为:“dba”,登陆密码:“sqlstudy”,默认连接到的数据库:“mydb”。 这时候,dba 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能 访问数据库中的对象(严格的说,此时 dba 帐户默认是 guest 数据库用户身份, 可以访问 guest 能够访问的数据库对象)。
要使 dba 帐户能够在 mydb 数据库中访问自己需要的对象, 需要在数据库 mydb 中建立一个“数据库用户”,赋予这个“数据库用户” 某些访问权限,并且把登陆帐户“dba” 和这个“数据库用户” 映射起来。 习惯上,“数据库用户” 的名字和 “登陆帐户”的名字相同,即:“dba”。 创建“数据库用户”和建立映射关系只需要一步即可完成:
2. 创建数据库用户(create user):
create user dba for login dba with default_schema=dbo
并指定数据库用户“dba” 的默认 schema 是“dbo”。这意味着 用户“dba” 在执行“select * from t”,实际上执行的是 “select * from dbo.t”。
3. 通过加入数据库角色,赋予数据库用户“dba”权限:
exec sp_addrolemember 'db_owner', 'dba'
此时,dba 就可以全权管理数据库 mydb 中的对象了。
如果想让 SQL Server 登陆帐户“dba”访问多个数据库,比如 mydb2。 可以让 sa 执行下面的语句:
use mydb2
go create user dba for login dba with default_schema=dbo
go exec sp_addrolemember 'db_owner', 'dba'
go
此时,dba 就可以有两个数据库 mydb, mydb2 的管理权限了!
4. 禁用、启用登陆帐户:
alter login dba disable
alter login dba enable
5. 登陆帐户改名:
alter login dba with name=dba_tom
提示:在 SQL Server 2005 中也可以给 sa 改名。 《SQL Server 2005 安全性增强:给超级用户 sa 改名》
6. 登陆帐户改密码:
alter login dba with password='sqlstudy.com'
7. 数据库用户改名:
alter user dba with name=dba_tom
8. 更改数据库用户 defult_schema:
alter user dba with default_schema=sales
9. 删除数据库用户:
drop user dba
10. 删除 SQL Server登陆帐户:
drop login dba
sql 创建用户脚本的更多相关文章
- oracle常用SQL——创建用户、表空间、授权(12C)
一.查询 查询用户所属 表空间 select username,default_tablespace from dba_users where username='xxx' 查询表空间情况 SELEC ...
- Linux shell简单创建用户脚本
前面介绍简单的shell编写规则. 现在开始编写一个简单的shell脚本. Linux shell介绍 编写shell脚本 1.创建脚本文件 2.根据需求,编写脚本 3.测试执行脚本 ...
- SQL创建表脚本
<1>SQL Server设置主键自增长列 SQL Server设置主键自增长列 1.新建一数据表,里面有字段id,将id设为为主键 www.2cto.com create t ...
- PL/SQL 创建用户及权限操作
1.创建User create user user01 identified by user01, 2.赋予连接数据库的权限 grant connect to user01; 3.把user00的表E ...
- PL/SQL创建用户
步骤一:新建 步骤二:填写信息 对应SQL代码 -- Create the user create user WENT identified by "longrise" defau ...
- 运维常用shell脚本一(系统指标巡检、自动创建用户、跳板机)
一.系统指标巡检脚本 #!/bin/bash menu(){ cat <<EOF +---------------------------------------------+ | 日常巡 ...
- MySQL创建用户的三种方法 (并授权)转
前言:MySQL创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法. 一.账号名称的构成方式 账号的组成方式:用户名+主机(所以可以出现重复的用户名 ...
- MySQL创建用户的三种方法
前言:MySQL创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法. 一.账号名称的构成方式 账号的组成方式:用户名+主机(所以可以出现重复的用户名 ...
- linux系统批量创建用户和生成8位随机密码
1.1 脚本案例 批量创建20个用户,用户名为user1-user20,并生成8位随机登录密码,用户组采用键盘输入的方式,并将用户名及登录密码保存到/tmp/create_user.txt普通文 ...
随机推荐
- 为openstack服务使能debug模式
Most OpenStack services use the same configuration options to enable the debug logging that is also ...
- NSValue 值
前言 将任意数据类型包装成 OC 对象 1.比较两个 NSValue 类型数据的大小 NSValue *value1 = [NSValue valueWithPoint:NSMakePoint(10, ...
- 03process对象的其他方法属性
一 Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一:在主进程的任务与子进程的任务彼此独立的情况下, ...
- JVM高级特性与实践(一):Java内存区域 与 内存溢出异常
套用<围城>中的一句话,“墙外面的人想进去,墙里面的人想出来”,用此来形容Java与C++之间这堵内存动态分配和垃圾收集技术所围成的“围墙”就再合适不过了. 对于从事C.C++的开发人员而 ...
- postgreSQL PL/SQL编程学习笔记(一)
1.Structure of PL/pgSQL The structure of PL/pgSQL is like below: [ <<label>> ] [ DECLARE ...
- Python描述符深入理解
Python的描述符乍眼看去简单,但是细节方面如果不注意容易掉坑,总结以下几个坑,以作备忘,先看代码: class D: def __get__(self, inst, owner): if inst ...
- XMLHttpRequest 与 Ajax 概要
关于XMLHttpRequest 开发者使用XMLHttpRequest对象与服务端进行交互(发送http请求.接受返回数据等),可以在不打断用户下一步操作的情况下刷新局部页面.XMLHttpRequ ...
- js innerText、textContent、innerHTML的区别和各自用法
//自定义函数 function my$(id) { return document.getElementById(id); } //点击按钮设置div中的文本内容 my$("btn&quo ...
- EA添加时序图
在项目浏览器的空白处右击 http://blog.csdn.net/craftsman1970/article/details/70877530 不同于大部分面向对象或者UML的书籍,在讨论完类图/对 ...
- Qt 学习之路 2(72):线程和事件循环
Qt 学习之路 2(72):线程和事件循环 <理解不清晰,不透彻> -- 有需求的话还需要进行专题学习 豆子 2013年11月24日 Qt 学习之路 2 34条评论 前面一章我 ...