木子屋 Dnawo's BLOG

分类:服务器

共 348 篇

数据库结构设计中那些不得不冗余的字段

在说正题前我们先看一个比较常见的用户提现表结构: 用户提现(Withdraw)需要提供姓名、银行及卡号等信息,如上图所示,通过关联后这些信息可以从用户表(User)中读取,这样的结构也符合数据库范式。 现在我们来假设一种情况:某个用户申请提现,公司财务审核并成功处理了这笔提现,后来用户换卡,更改了帐户中的银行卡信息,自然,提现的卡号也随之变化,结果是公司财务查不出之前是给哪张卡提现了,问题严重了。 解决方法 在提现表增加姓名、银行及卡号等字段,这些字段虽然用户表中也存在,产生了冗余,但从实际应用出发,却是非常必要的: 类似的情况还存在于发货单中的收件人信息等等。

SQL Server2005和SQL Server2008查找引起阻塞的进程

SQL Server2000企业管理器中有个当前活动,可以查看当前正在活动的进程以及哪些进程引起阻塞。在SQL Server2005和SQL Server2008改名了,称为活动监视器,打开位置也稍有不同。 SQL Server2005活动监视器 打开SQL Server2005的SQL Server Management Studio,选择"管理→活动监视器"即可打开,界面和SQL Server2000差不多。 SQL Server2008活动和监视器 打开SQL Server2008的SQL Server Management Studio,右键单击数据库服务器,在菜单中选择"活动和监视器"即可打开,相比SQL Server2005,增加了资源等待、数据文件I/O和最近耗费大量资源的查询等功能。

T-SQL查询高级—SQL Server索引中的碎片和填充因子

写在前面:本篇文章需要你对索引和SQL中数据的存储方式有一定了解.标题中高级两个字仅仅是因为本篇文章需要我的T-SQL进阶系列文章的一些内容作为基础. 简介 在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构(表上没有聚集索引则为堆结构,不在本文讨论之列)如下图: 在聚集索引B树中,只有叶子节点实际存储数据,而其他根节点和中间节点仅仅用于存放查找叶子节点的数据. 每一个叶子节点为一页,每页是不可分割的. 而SQL Server向每个页内存储数据的最小单位是表的行(Row).当叶子节点中新插入的行或更新的行使得叶子节点无法容纳当前更新或者插入的行时,分页就产生了.在分页的过程中,就会产生碎片.…

SQL Server查询数据三种方式Table Scan/Index Seek/Index Scan小结

当向SQL Server查询数据时,有三种数据查询方式可供选择:Table Scan、Index Seek和Index Scan,下边我们说说它们的概念,使用场合, 以及优先级,所有测试使用数据库版本SQL Server 2008。 1.概念 Table Scan:全表扫描,没有用到索引; Index Seek:索引查找,有用到索引,根据聚集索引和非聚集索引分为Clustered Index Seek和NonClustered Index Seek; Index Scan:索引扫描,有用到索引,效率比Table Scan高,但低于Index Seek。也分为Clustered Index Scan和NonClustered Index Scan;…

SQL Server2008 R2删除数据库日志脚本

/*第一步:查询出文件编号,修改@fileid值*/ select * from sys.database_files declare @fileid int set @fileid = 2 /*第二步:设置为简单模式后删除日志并释放空间*/ use alter database set recovery simple with no_wait alter database set recovery simple use dbcc shrinkfile (@fileid) use alter database set recovery full with…

阿里云服务器试用小结

磁盘分区 系统分区固定为40G,剩余空间当另一块硬盘挂载,可自由分区。操作系统占用所买的空间,这点和VPS不太一样,如果没有特别的需要,操作系统建议选用Windows Server 2003,它占用的空间比Windows Server 2008小很多(4.87G/14.7G)。 操作系统 Linux操作系统是免费的,如果选用Windows系统,每月需加收30元。购买成功后可以申请更换操作系统,这实际是分配一台新的云服务器,所以IP会变。新服务器在申请更换后五六分钟内就可以使用,同时旧服务器会保留一天,以便把数据导到新服务器。当然了,你也可以选择重置,根据需要选择重置系统盘、重置数据盘或是重置全部,同样是几分钟就完成了。…

IIS网站日志文件夹查找方法

打开IIS日志文件夹"%SystemDrive%\inetpub\logs\LogFiles",一个子文件夹对应一个网站,那W3SVC1,W3SVC2对应的是哪个网站呢? 打开IIS网站列表,ID为1的网站日志文件夹为W3SVC1,ID为2的网站日志文件夹为W3SVC2,依此类推。

在SQL Server结果窗格显示指定行数据进行编辑

SQL Server可以将前N行或所有行数据显示在结果窗格中,我们在结果窗格可以直接编辑数据,比较直观。倘若碰上表中数据比较多,要编辑的记录比较靠后,我们通常则用update来更新,有没有办法在结果窗格显示指定行数据进行编辑呢?其实可以的,不同版本SQL Server操作略有不同。 在SQL Server2000结果窗格显示指定行数据进行编辑 在SQL Server2005结果窗格显示指定行数据进行编辑 在SQL Server2008结果窗格显示指定行数据进行编辑