金沙国际唯一官网网址sqlser 二零零七 对称加密,非对称加密笔记

数据库图形化管理工具创建数据库步骤,右键点击数据库-》点击新建数据库-》输入数据库名称,打开数据库管理工具-》登录-》选择数据库-》选择表-》右键点击,数据库管理工具中可以显示数据库中的所有数据表,&gt, 下一步— &gt,使用对称密钥解密数据,使用公钥加密对称密钥

金沙国际唯一官网网址 13

五、查数据库查看

办法风流浪漫:在数据库管理工科具中当选数据库-》右键属性-》查看数据库相关安顿新闻

金沙国际唯一官网网址 1

金沙国际唯一官网网址 2

措施二:在数据库管理工具中输入数据库脚本查看,一下点数二种常用的数据库查看消息

–使用目录视图查看数据库新闻
–使用sys.database_files查看有关数据库文件的新闻
select * from
sys.database_files;
–使用sys.filegroups查看有关数据库组的音讯
select * from sys.filegroups;
–使用sys.master_files
查看数据库文件的为主音信和情景音讯
select * from sys.master_files;
–使用sys.databases
数据库和文件目录视图查看有关数据库的骨干新闻
select * from sys.databases where
name=’testss’;

金沙国际唯一官网网址 3

 

–使用函数查看数据状态
use testss
select
databasepropertyex(‘test2′,’Status’) as ‘test数据库状态’

金沙国际唯一官网网址 4

成立数据表

措施生机勃勃:张开数据库管理工科具-》登入-》选拔数据库-》采用表-》右键点击,选取新建表-》在右侧视图中输入列名、数据类型、是还是不是可空、在列属性中设置须求的性质-》点击保存(或ctrl+s)-》保存成功,刷新就可以展现

金沙国际唯一官网网址 5

金沙国际唯一官网网址 6

方式二:使用T-SQL脚本新建表

 1 --数据库声明
 2 use testss
 3 --建表语法声明
 4 create table test1
 5 (
 6 --字段声明
 7 id int identity(1,1) not null,
 8 name nvarchar(50) null,
 9 sex nvarchar(50) null,
10 age nvarchar(50) null,
11 classid int,
12 primary key clustered(id asc) with(ignore_dup_key=off) on [primary]    --主键索引声明
13 )on [primary]
14 
15 --字段注释声明
16 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id主键' , @level0type=N'SCHEMA',
17 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'id';
18 
19 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',
20 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'name';
21 
22 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',
23 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'sex';
24 
25 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' , @level0type=N'SCHEMA',
26 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'age';
27 
28 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级id' , @level0type=N'SCHEMA',
29 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'classid';
30 
31 go

 示例结果如下:金沙国际唯一官网网址 7

## –2、给分区方案添Gavin件组

alter partition scheme konwPartitionSolution

NEXT USED know4

 

六:目录视图中查看数据库密钥新闻

select * from sys.symmetric_keys

 

 

select * from sys.databases  –is_master_key_encrypted_by_server 1
表示使用服务主密钥对数据库主密钥实行加密

风流倜傥、数据库定义

数据库(Database)是依据数据结构来公司、存款和储蓄和治本数据的旅馆。数据库的操作分为两种方式:生龙活虎种是直接在数据库处理工科具图形化分界面进行操作;豆蔻梢头种是接受数据库脚本实行操作,数据库脚本能够平素在数据库处理工科具中操作,也足以在dos命令窗口中操作。

删除数据表

措施风姿罗曼蒂克:展开数据库管理工科具-》登陆-》选拔数据库-》选拔表-》右键点击,选拔删除-》点击弹出框中的鲜明删除-》刷新数据库

金沙国际唯一官网网址 8金沙国际唯一官网网址 9

办法二:使用T-SQL脚本删除:drop table
test2;

金沙国际唯一官网网址 10

## — 1、增多文件组

 

alter database User_DB add filegroup know1 

alter database User_DB add filegroup know2

alter database User_DB add filegroup know3  

 

十:创设对称密钥

   Create symmetric key sy_key1 With algorithm
= aes_256 Encryption by password=’sy_key1′

 

Create symmetric key sy_key1_test With algorithm
= aes_256 Encryption by password=’testPassword’

 

十大器晚成:查询密钥

1:展开密钥指令

open symmetric key sy_key1 decryption by password =’sy_key1′

 

询问密钥

select * from sys.openkeys

 

关闭密钥

 close symmetric key sy_key1_test

 

十一:使用密钥加密数据例子 (加密列不要创建索引,无意义,何况思虑列长度会变长)

declare @oldContent varbinary(200); –定义原始变量

declare @newContent varbinary(200);–定义加密后的变量

set @oldContent = convert( varbinary(200),’那是测量检验数据’);–给本来变量赋值

set @newContent
= encryptbycert(cert_id(‘test_cert’),@oldContent)–通过证书加密数据 test_cert
 证书名

select @newContent –加密查询

select convert(varchar(200),decryptbycert(cert_id(‘test_cert’),@newContent
,N’test_cert’)) as [ts] –解密查询test_cert
 证书名 N’test_cert’
 证书密码

 

十三:表示例

create table usertest(id int primary key identity(20,1),username
varbinary(20),usermoney int)

insert into usertest
(username,usermoney) values(‘aaa’,encryptbycert(cert_id(‘test_cert’),’200′))

insert into usertest
(username,usermoney) values(‘bbb’,encryptbycert(cert_id(‘test_cert’),’300′) )

insert into usertest
(username,usermoney) values(‘ccc’,encryptbycert(cert_id(‘test_cert’),’400′) )

insert into usertest
(username,usermoney) values(‘ddd’,encryptbycert(cert_id(‘test_cert’),’500′) )

 

 

无可置疑插入数据

insert into usertest
(username,usermoney) values(‘aaa’,encryptbykey(key_guid(‘sy_key1_test’),’200′))

insert into usertest
(username,usermoney) values(‘bbb’,encryptbykey(key_guid(‘sy_key1_test’),’300′) )

insert into usertest
(username,usermoney) values(‘ccc’,encryptbykey(key_guid(‘sy_key1_test’),’400′) )

金沙国际唯一官网网址,insert into usertest
(username,usermoney) values(‘ddd’,encryptbykey(key_guid(‘sy_key1_test’),’500′) )

select id,username,cast(decryptbykey(usermoney) as varchar(20)) as ‘test’ from usertest

 

透过验证器参预数据

扩大少方式     Encryptbykey(key_guid(‘证书名字’),加密值,使用验证器,’验证器的值’)

insert into usertest (username,usermoney)
values(‘aaa’,encryptbykey(key_guid(‘sy_key1_test’),’600′,1,’20’) )

insert into usertest (username,usermoney)
values(‘bbb’,encryptbykey(key_guid(‘sy_key1_test’),’300′,1,’21’) )

insert into usertest (username,usermoney)
values(‘ccc’,encryptbykey(key_guid(‘sy_key1_test’),’400′,1,’22’) )

insert into usertest (username,usermoney)
values(‘ddd’,encryptbykey(key_guid(‘sy_key1_test’),’500′,1,’23’) )

解密方法

Cast(Decryptbykey(解密列1,1,cast(验证器值 as varcahar(100)))  as
varchar(200))

select id,username,cast(decryptbykey(usermoney,1,cast(id as varchar(3)))
as varchar(20)) as ‘test’ from usertest

六、数据库优短处

可取:易用性、符合分布式组织的可伸缩性、用于决策辅助的数据仓库成效、与超多其余服务器软件紧凑关系的集成性、特出的性能和价格的比例等。

破绽:1开放性。只好运转在微软的windows平台,没有丝毫的开放性可言。

     
2可伸缩性,并行性。并行实行和水保模型并不成熟,很难管理日益增加的客户数和数据卷,伸缩性有限。
     
3特性稳固。SQLServer当客户连接多时品质会变的比较糟糕,并且相当不够牢固。
     
4使用风险。SQLServer完全重写的代码,经历了绵绵的测量试验,不断延迟,许多意义需时间来证实。并不十三分同盟开始时期产品。使用要求冒一定危害。
      5顾客端援助及使用格局。只帮助C/S方式。

改良数据表

格局风姿罗曼蒂克:张开数据库处理工科具-》登入-》采纳数据库-》采取表-》右键点击,接纳重命名-》重新输入表名-》按enter键分明-》刷新可查阅新表名

 金沙国际唯一官网网址 11

艺术二:使用T-SQL脚本改良表名:exec
sp_rename ‘test1′,’test2’;

金沙国际唯一官网网址 12

 第一步、创建文件和文件组

三:混合数据加密

     加密进度:随机变化对称密钥,使用公钥加密对称密钥。

     解密进程:用私钥解开被加密的集合思路和意见密钥,使用对称密钥解密数据

 

三、数据库删除

措施黄金年代:直接在数据库处理工科具中右键-》采取删除

金沙国际唯一官网网址 13

 

措施二:在数据库管理工科具中多少脚本:drop
database 数据库名

多少表定义

数据表(或称表)是数据库最要紧的组成都部队分之后生可畏,数据库中以表为团队单位存款和储蓄数据,数据库只是四个框架,数据表才是其实质内容。数据库管理工科具中得以显得数据库中的全部数据表,数据表是数据库中叁个优良关键的对象,是任何对象的底蕴。

## — 1、创立分区函数

CREATE PARTITION FUNCTION [knowPartitionFunc](datetime) 

AS RANGE

LEFT FOR VALUES (N’2014-01-01T00:00:00′, N’2014-02-01T00:00:00′, N’2014-03-01T00:00:00′)

 

八:与证件相关的函数

Encyrptbycert(id,’cleartext’);

 

Cert_id(‘’myfirst_cert’)