MSSQL加密資料表 sql2005

2022-03-14 14:48:47 字數 1112 閱讀 4235

--建立資料庫主秘鑰

use adb

go

create master key

encryption by password = 'p8ssw0rd'

go --建立存放加密資料的表

create table dbo.sectable

(id int identity primary key,

data nvarchar(100))

go --建立數字證書,數字證書的私鑰被資料庫主秘鑰加密

create certificate tomcert

with

subject = 'tom certificate',

expiry_date= '01/01/2009'

--建立堆成秘鑰,被用證書對其進行加密

create symmetric key sym_tom

with algorithm = desx encryption by certificate tomcert

--使用證書解開對稱秘鑰,將資料使用對稱秘鑰加密後儲存與表中,完成後關閉對稱秘鑰

open symmetric key sym_tom decryption by certificate tomcert

insert into sectable (data) values(encryptbykey(key_guid('sym_tom'), n'tom1'))

close symmetric key sym_tom

--察看被加密的資料內容

select * from dbo.sectable

顯示亂碼

--使用證書解開堆成秘鑰,解密資料表中的資料,完成後關閉對稱秘鑰

open symmetric key sym_tom decryption by certificate tomcert

select id, cast(decryptbykey(data) as nvarchar) from dbo.sectable

close symmetric key sym_tom

操作MSSQL資料表

表是資料庫的主要物件,也是資料庫其他物件的基礎。表分為永久性表和臨時性表。通過sql語句可實現建立 修改和刪除表,以及查詢表的資料。我的理解 列對應表的結構,行對應表的資料。建立表需要使用create關鍵字 create table student uid varchar 20 not null n...

MS SQL系統資料表內容

1.今天聽到有人問 怎麼用sql語句取指定列的資料型別,覺得很無聊,但也許是我還不知道有什麼用的原因吧.查了一下,這些東西都是存於每乙個資料庫的syscolumns表裡面得,name就是列名,xtype就是資料型別,但是這個xtype是數字的,下面是數字和資料型別對應的關係 xtype 34 ima...

sql資料表分割槽

一般情況下,我們建立資料庫表時,表資料都存放在乙個檔案裡。但是如果是分割槽表的話,表資料 就會按照你指定的規則分放到不同的檔案裡,把乙個大的資料檔案拆分為多個小檔案,還可以把這些小檔案放在不同的磁碟下由多個cpu進行處理 分割槽函式,將資料對映到一組分割槽上。create partition fun...