随笔分类 -  sql

上一页 1 2 3 4 5 6
SQL Server 2005: 如何让用户只能加密数据却不能解密数据
摘要:我经常被问及这样的问题,能否让一个用户有加密数据的能力却不能解密数据呢? 答案是:可以。但在我展示这个方法之前,我们先稍微讨论一下对称密钥(symmetric key)。 用户能否加密或解密数据取决于用户能否够打开这个密钥。 如果用户可以打开密钥,那么他既能加密也能解密。 要想限制用户去使用密钥,需要删除用户打开密钥的能力。我们可以创建一个存储过程,将加密和打开密钥的过程封装进去,并让这个存储过程有权限执行这些操作(通过签名),然后赋予用户执行存储过程的权限。这样用户就可以通过存储过程访问密钥,但不能直接方法问密钥。注意,如果用户可以在并行操作中调用这个存储过程,可能会导致密钥被用户直接使用( 阅读全文
posted @ 2008-07-31 09:46 stswordman 阅读(2287) 评论(6) 推荐(0) 编辑
SQL Server 2005: 存储过程签名
摘要:SQLSERVER 2005提供的对存储过程签名(signature)功能是我最喜欢的。如果我们要编写一个存储过程,执行该存储过程里的代码需要权限P,并且我们想要用户Alice可以执行这个存储过程,但是我们不想将权限P直接赋予给用户Alice, 我们可以用证书(certificate)对这个存储过程进行签名来完成这一需求:a) 如果P是一个数据库级别的权限,那我们可以在相应的数据库中创建一个证书,使用证书创建一个用户(user),然后将权限p授权给这个用户b) 如果P是一个服务器级别的权限,那我们能要在master数据库中创建一个证书,使用证书创建一个登录(login),然后将权限P授权给这个 阅读全文
posted @ 2008-07-29 10:20 stswordman 阅读(2683) 评论(11) 推荐(1) 编辑
SQL Server 2005 helpful catalogs: crypt_properties and key_encryptions
摘要:不久之前,我回答过一个问题:如找出被证书(certificate)加密的密钥。 我写了一些查询,用于找出那些加密,签名的信息。在展示这些查询之前,我会对这两个视图做个简要的介绍:crypt_properties视图保存了签名(signature)相关的信息。可以用其中的thumbprint列来确定相关的密钥。key_encryptions视图保存了对称密钥加密(symmetric key)的相关信息。和crypt_properties视图一样,非对称密钥(asymmetric key)和证书也是用thumbprint列来确定的。 但是,对称密钥则完全不同,需要用到GUID.现在列出这些查询 : 阅读全文
posted @ 2008-07-28 11:04 stswordman 阅读(1079) 评论(0) 推荐(0) 编辑
outputProc
摘要:输出特定表的Insert存储过程 阅读全文
posted @ 2008-07-10 11:26 stswordman 阅读(383) 评论(0) 推荐(0) 编辑
如何配置 SQL Server 2005 以允许远程连接
摘要:简介 在尝试从远程计算机连接到 Microsoft SQL Server 2005 实例时,可能会接收到错误消息。在使用任何程序连接到 SQL Server 时都可能会发生此问题。例如,在使用 SQLCMD 实用工具连接到 SQL Server 时收到以下错误消息: Sqlcmd:错误:Microsoft SQL Native Client:建立到服务器的连接时发生错误。连接到 SQL Serv... 阅读全文
posted @ 2008-05-14 18:44 stswordman 阅读(993) 评论(2) 推荐(0) 编辑
BCP命令
摘要:©2007 Microsoft Corporation. All rights reserved. SQL Server 2005 Book... 阅读全文
posted @ 2007-09-14 13:38 stswordman 阅读(2201) 评论(0) 推荐(0) 编辑
Useful undocumented extended stored procedures
摘要:An extended stored procedure (xp) is a dynamic link library that runs directly in the address space of SQL Server and is programmed using the SQL Server Open Data Services API. You can run extended st... 阅读全文
posted @ 2007-09-13 11:42 stswordman 阅读(455) 评论(0) 推荐(0) 编辑
SQLSERVER中数据行所占用的最小空间
摘要:数据行所占的最小空间是多少呢? 先来看看下面这张经典数据行结构图(引自Inside Sql Server) 因为可变长度类型的列会有额外的空间开销,所以不考虑可变长度的字段。 现在计算一下除去实际数据后每个数据行所需要占用的空间: 状态位A占一个字节,状态位B占1个字节,用于标识固定字段长度的占2个字节,标识固定列数量的占去2个字节,NUL... 阅读全文
posted @ 2007-08-22 22:17 stswordman 阅读(3831) 评论(16) 推荐(0) 编辑
sqlserver 2005新增函数学习(转载)
摘要:原文:SQL 2005新增的几个函数之学习 今天学习了sql server 2005新增的几个函数,分别是row_number(),rank,DENSE_RANK,ntile,下面以例子分别简单讲解之1.row_number 先来点数据,先建个表 SET NOCOUNT ON CREATE TABLE Person( FirstName VARCHAR(10), Age INT, Gen... 阅读全文
posted @ 2007-04-29 17:43 stswordman 阅读(867) 评论(1) 推荐(0) 编辑
scope_identity ident_current @@identity
摘要:scope_identity ident_current @@identity 区别 阅读全文
posted @ 2007-04-29 12:27 stswordman 阅读(555) 评论(0) 推荐(0) 编辑
怎样查看表的数据页的结构
摘要:转贴:www.windbi.comSQLServer2000提供了一个读取数据页结构的命令DBCC Page。该命令为非文档化的命令,具体如下:DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])具体参数描述如下:dbid 包含页面的数据库IDdbname 包含页面的数据库的名称filenum 包含页面的文件编号... 阅读全文
posted @ 2007-04-19 21:28 stswordman 阅读(1007) 评论(0) 推荐(0) 编辑
SqlServer语句收集
摘要:1 临时表--创建临时表 数据库重启后表#a1会消失create table #a1(col1 int,col2 int)select * from #a1 --创建临时表 改表只存在与当前的sessioncreate table ##a2(col1 int,col2 int) 2 从两个表中selectcreate table ##b1(col1 int) create table ##b2(col2 int) insert ##b1 values(1)insert ##b1 values(2)insert ##b1 values(3) insert ##b2 values(2)inser 阅读全文
posted @ 2007-03-15 10:35 stswordman 编辑

上一页 1 2 3 4 5 6