约束整理,位运算举例权限应用

摘要:

 

一、创建数据库
1.启动服务(三种)
开始–cmd–输入net start mssqlserver
开始–运行–net start mssqlserver
开始–服务–找到SQLSERVER(MSSQLSERVER)–右键–启动

下文通过举例的方式讲述sqlserver中位运算的相关知识,如下所示:
实验环境:sqlserver 2008 R2

Preface

2.打开ssms


 

3.登录:windows身份验证
混合验证模式

 

    MasterHA is a tool which can be used
in MySQL HA architecture.I’m gonna implement it and have some tests
depend on it later.

系统数据库:
master:存储系统配置信息,数据库信息等;千万不能删;
model:模板信息;空白数据库模板,表模板;
tempdb:临时表,临时存储过程等;
msdb:存储调度信息等;

在sqlserver的权限设置,我们通常使用1、2、4、8、16、32、64、128等数值分别表示相关信息的某一状态供业务状态使用,通过字段值之间的组合形成一个状态值存储到数据库中,
设置一个角色拥有的权限
例:
1:代表“查看”按钮权限
2:代表”修改”按钮
4:代表”导出”按钮
8:代表”删除”按钮

 

创建数据库的语法:
create database 数据库名
on
(
name=’数据库名’,
filename=’盘符:\文件夹名\文件名.后缀名’,
size=数值mb, –主数据文件最小值为3mb
filegrowth=数值mb或百分比, –按mb增长,或按百分比增长
maxsize=数值mb
)
log on
(
name=’数据库名_log’,
filename=’盘符:\文件夹名\数据库名_log.ldf’,
size=数值mb, –日志文件最小值为1mb
filegrowth=数值mb或百分比,
maxsize=数值mb
)
go

--例:
--权限表如下:
create table userRole(userId varchar(36),
roleInfo int);
go

insert into userRole(userId,roleInfo)values('test',1) ---初始化测试账号"test",拥有查看权限
insert into userRole(userId,roleInfo)values('猫猫',2) 
--当我们需要给用户加入修改"2"权限,则可以使用以下运算
update userRole set roleInfo =roleInfo|2 where userId ='test'


--当我们需要给用户加入导出"4"权限,则可以继续使用以下运算
update userRole set roleInfo =roleInfo|4 where userId ='test'


--当我们需要给用户删除导出"4"权限,则可以继续使用以下运算
--删除权限前需判断用户是否存在此权限,此脚本不可多次运行
--if exists (select null from userRole where roleInfo &4 =4 and userId ='test')
---begin
update userRole set roleInfo =roleInfo^4 where userId ='test' and roleInfo&4 =4 
--end
---我们检索所有拥有权限"修改2"的用户信息
select * from userRole where roleInfo &2 = 2

go
truncate table userRole
drop table userRole

Framework

判断是否有同名数据库存在,如果存在则先删除
1>if exists(select * from sys.databases where name=’数据库名’)
drop database 数据库名
go
2>if db_id(‘数据库名’) is not null
drop database 数据库名
go

 

 

题目:在E盘的hello文件夹下创建数据库students,主数据文件 初始大小10mb
按10%的方式增长,不限制上限;
日志文件,初始大小3Mb, 按1mb的方式增长,最大为20mb

注意事项:

Hostname IP Port Identity OS Version MySQL Version
zlm2 192.168.1.101 3306 master CentOS 7.0 5.7.21
zlm3 192.168.1.102 3306 slave/mha-manager CentOS 7.0 5.7.21
null 192.168.1.200 null vip null null

如果当文件夹不存在时,需要在指定文件夹下创建数据库文件,需要先启动外围配置,再调用dos命令创建文件夹
启动外围配置
exec sp_configure ‘show advanced options’,1
reconfigure
exec sp_configure ‘xp_cmdshell’,1
reconfigure
go

此处权限设置,主要使用二进制中每一位代表一个权限及位运算的特性进行权限的增减操作
由于”^异或运算”运算,左表达式1或0 时
右表达式为1时,将分别产生
0、1,所以剔除权限时,一定要判断是否存在此权限

 转自:http://www.maomao365.com/?p=7137

 

调用dos命令
exec xp_cmdshell ‘md 盘符:\文件夹名\…’,no_output或output
go

Procedure

完整的创建数据库的步骤:
1.启动外围配置

 

2.调用dos命令创建文件夹

Downlaod the rpm package of MasterHA using
below web link first:

3.判断是否有同名数据库存在

https://code.google.com/archive/p/mysql-master-ha/downloads

4.创建数据库

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图