原文:SQLServer2008R2安全性专题(一):安全原则本系列主要专注与SQLServer2005以后的DBMS,由于本人工作使用2008R2,所以目前就针对2008R2来做说明:关于保护SQLServer安全的原则:最小权限原则CIA三角深度防护一、最小权限原则:只授予所需的最小权限。最简单的解决方案是让用户成为固有数据库角色:db_datareader成员,然后创建select权限创建数据库角色,并且只授权用户需要访问的表,让用户成为这个新角色的
系统 2019-08-12 01:51:35 2121
原文:解剖SQLSERVER第五篇OrcaMDF里读取Bits类型数据(译)解剖SQLSERVER第五篇OrcaMDF里读取Bits类型数据(译)http://improve.dk/reading-bits-in-orcamdf/Bits类型的存储跟SQLSERVER其他定长数据类型的存储很不一样。通常,所有定长列都会显示出来,一个条记录里定长数据部分的字段数据总是一个挨着一个我们可以写入磁盘的最小数据单位是一个字节,存储位类型数据的天真的方法就是使用一整
系统 2019-08-12 01:53:32 2120
原文:SQL点滴7—使用SQLServer的attach功能出现错误及解决方法今天用SQLServer2008的attach功能附加一个数据库,出了点问题,提示的错误是:Unabletoopenphysicalfile"D:\Documents\Dalt\XXXX.mdf"Operatingsystemerror5:"5(errornotfound)"(MicrosoftSQLServer:Error5120)".记得以前做过类似的操作没有出现什么问题的,
系统 2019-08-12 01:33:29 2120
触发器是一种实施复杂的完整性约束的特殊存储过程。它在SQLServer进行某个特定的表修改时由SQLServer自动执行。触发器一般用于加强数据库的某些使用规则。当普通的约束(包括CHECK机制、DEFAULT机制、RULE机制)不足于加强数据的完整性时,就可以考虑使用触发器。触发器对于那些为不同的商务软件提供后台数据服务的大型系统特别有用。因为触发器可以为数据库建立独立于具体客户端软件的完整性规则。触发器和表是紧密联系在一起的,任何触发器都是在特定的表上
系统 2019-08-12 01:52:31 2119
所有JOIN语句的共同点是:将一个记录与另外一个或多个记录匹配,从而生成一个新记录,这个记录是由两个记录的合并列所产生的一个超集。内部连接:内部连接语法结构:SELECTFROM[ON]INNERJOIN(内部连接)类似与WHERE子句内部连接是一个排他连接,排除表中没有匹配的所有记录。INNER关键字一般情况下反而不写。默认JO
系统 2019-08-12 01:54:13 2114
原文:SQLServer中的CLR编程——用.NET为SQLServer编写存储过程和函数很早就知道可以用.NET为SQLServer2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQLServer中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。首先要说明的是要在SQLServer中启用CLR必须是在SQLServer2005及以上
系统 2019-08-12 01:52:19 2111
0或100(*)默认值monddyyyyhh:miAM(或PM)1101美国mm/dd/yyyy2102ANSIyy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意大利dd-mm-yy6106-ddmonyy7107-mondd,yy8108-hh:mm:ss-9或109(*)默认值+毫秒monddyyyyhh:mi:ss:mmmAM(或PM)10110美国mm-dd-yy11111日本yy/mm/dd12112ISOy
系统 2019-08-12 01:51:54 2109
原文:SQLServer索引和表体系结构(非聚集索引)非聚集索引概述对于非聚集索引,涉及的信息要比聚集索引更多一些,由于整个篇幅比较大涉及接下来的要写的“包含列的索引”,“索引碎片”等一些知识点,可能要结合起来阅读理解起来要更容易一些。非聚集索引和聚集索引一样都是B-树结构,但是非聚集索引不改变数据的存储方式,所以一个表允许建多个非聚集索引;非聚集索引的叶层是由索引页而不是由数据页组成,索引行包含索引键值和指向表数据存储位置的行定位器,既可以使用聚集索引来
系统 2019-08-12 01:32:21 2109
存储过程分页大都会用到这样的语句SELECT*,row_number()OVER(ORDERBYidDESC)ASrowNumberFROM但是SQL2000中不支持row_number()需要使用select....into配合临时表和IDENTITY(data_type[,seed,increment])AScolumn_name来作为替代方案。语句像下面这样SELECT*,identity(int,1,1)asrowNumberINTO#tempFR
系统 2019-08-12 01:33:48 2108
原文:SQLServer后续去除功能汇总功能更新去除汇总字段类型在MicrosoftSQLServer的未来版本中将删除ntext、text和image数据类型。请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。请改用nvarchar(max)、varchar(max)和varbinary(max)。AFTER和INSTEADOF触发器同时支持inserted和deleted表中的varchar(MAX)、nvarchar(M
系统 2019-08-12 01:32:21 2106
1判断一个表或视图是否在数据库中ifexists(select*fromsysobjectswherename='v1'andxtype='V')dropviewv1gosysobjects是一个系统表,如果判断对象是table,则xtype='U'如果是trigger则xtype='TR'2用sql建立交叉表一个常见的例子http://iouniuniu.cnblogs.com/archive/2005/10/24/5238.html有时候需要将结果旋转
系统 2019-08-29 22:33:34 2105
VS2010、SQLServer2008和SQLServer2012安装详解-xwdreamer-博客园VS2010、SQLServer2008和SQLServer2012安装详解下载SQLSERVER2008下载具有高级服务的MicrosoftSQLServer2008Express,具有高级服务的MicrosoftSQLServer2008Express是SQLServerExpress数据平台的一款免费、易用的版本,它包括高级图形管理工具(Manag
系统 2019-08-12 01:32:05 2105
1.I/O计数器:PhysicalDisk:Avg.DiskQueueLength说明:Avg.DiskQueueLength指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。瓶颈:如果在高峰使用的情况下,队列长度>2的话,,可能存在I/O瓶颈计数器:PhysicalDisk:Avg.DiskSec/ReadAvg.DiskSec/Write说明:Avg.Disksec/Read指以秒计算的在此盘上读取数据的所需平均时间。Avg.Disksec/W
系统 2019-08-12 01:32:13 2103
很多时候我们都会用到指定长度的流水号,假如生成订单编码规则我们设置为:仓库编码+年月日(6位)+当天四位流水号,如仓库编码为01日期为2009-08-06的第一个订单编码应该为:01200908060001,在这里指定长度的流水号的生成一般都是在数据库里操作,方法可以用下面几种:方式一:笨办法,不够指定长度的话,前面循环加零CREATEFUNCTIONfn_GenerateSerialNumber(@numberValueint,--流水号数值@lengt
系统 2019-08-12 01:52:57 2100
原文:[翻译]初识SQLServer2005ReportingServicesPart4这一篇是关于SQLServer2005ReportingServices四篇文章中最后一篇:Part1,提供了创建基本报表的指南Part2,介绍了创建动态报表用到的SSRS核心特性和功能Part3,完全介绍了嵌入到SSRS中的图表控件这里,在Part4,我们把精力放在报表定义语言(RDL)上。RDL的定义在MSDN2给的很好,所以我在引用一下:"Areportdefin
系统 2019-08-12 01:33:14 2100