上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 52 下一页
  2013年5月27日
摘要: 问题背景及特点:我们在使用多用户数据库时常常会碰到数据更新失败、删除失等情况,如果有多个用户且同时访问一个数据库则当他们的事务同时使用相同的数据时可能会发生并发问题。并发问题包括:1.丢失或覆盖更新。(幻像读)2.未确认的相关性(脏读)。3.不一致的分析(非重复读)。周详描述:1.丢失更新当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其他事务的存在。最后的更新将重写由其他事务所做的更新,这将导致数据丢失。例如,两个编辑人员制作了同一文件的电子复本。每个编辑人员独立地更改其复本,然后保存更改后的复本,这样就覆盖了原始文件。最后保存其更改复本的编辑 阅读全文
posted @ 2013-05-27 22:34 davidkam 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便。而 在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据。数据源可以来自关 系数据库或者XML文件,甚至WebService返回结果。其中最重要的一个类就是SqlBulkCopy类,使用它可以很方便的帮助我们把数据源的数 据迁移到目标数据库中。下面我们先通过一个简单的例子说明这个类的使用:首先:web.config<connectionStrings><addname=" 阅读全文
posted @ 2013-05-27 22:33 davidkam 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 最近使用powerdesign12.5,要将一个非常大的库导入powerdesign12.5,方便开发人员查看数据库表字段。反向工程!PD反向工程步骤:1.安装powerdesign12.5,打开powerdesign12.5(简称pd)2.在pd中,新建一个pdm,选择数据库为sql server3.选择Database->configure connections,转到system dsn标签,点击"添加",选择驱动程序,sql server4.在data source name 中,可以随便命名一个"SQL-test",在tns-server 阅读全文
posted @ 2013-05-27 22:32 davidkam 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 今天闲来学习了一下SQL性能优化方面的知识,有以下学习收获,欢迎大家指点。测试环境:90W,单条记录约3KB,数据库:MSSQL2005测试前清除缓存DBCC FREEPROCCACHEDBCC DROPCLEANBUFFERS一、翻页性能测试1、Topselect top 10 * from message where id not in (select top 20 id frommessage where classid=77 order by id desc ) and classid=77 order by id desc2、Max/Topselect top 10 * from m 阅读全文
posted @ 2013-05-27 22:31 davidkam 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 锁有两种分类方法。(1) 从数据库系统的角度来看锁分为以下三种类型:独占锁(Exclusive Lock)独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。共享锁(Shared Lock)共享锁锁定的资源可以被其它用户读取,但其它用户不能修改它。在SELECT 命令执行时,SQL Server 通常会对对象进行共享锁锁定。通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放。更 阅读全文
posted @ 2013-05-27 22:30 davidkam 阅读(235) 评论(0) 推荐(0) 编辑
摘要: SQL Server的导出导入方式有:在SQL Server中提供了导入导出的界面操作。在界面操作中又分【复制一个或多个表或视图的数据】和【编写查询以指定要传输的数据】两种模式,第一种是直接对表、视图进行全部字段、记录进行导出,而第二种就是可以通过SQL语句来控制导出导入的字段和行。使用简单但有用的SQL脚本中的【表复制】这里面的方法。再一种就是在命令行中使用bcp命令来导入导出数据,需要特别说明的是,这是对大数据量导入导出就好的办法。--整个表导出(out)bcp 数据库名.dbo.表名 out c:\currency.txt-S"数据库实例"-U"用户&quo 阅读全文
posted @ 2013-05-27 22:29 davidkam 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 1: 删除LOG1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库2:删除LOG文件3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG,大小只有520多K 再将此数据库设置自动收缩或用代码:下面的示例分离 77169database,然后将 77169database 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = "77169database"EXEC sp_attach_single_file_db @dbname = "77169database", @ph 阅读全文
posted @ 2013-05-27 22:29 davidkam 阅读(206) 评论(0) 推荐(0) 编辑
摘要: SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解一下吧…… SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解一下吧。 方法一: 这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容,varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace,替换text nt... 阅读全文
posted @ 2013-05-27 22:28 davidkam 阅读(843) 评论(0) 推荐(0) 编辑
摘要: 在写系统尤其是在写课程系统是经常会遇到类似如下纵-横转换,在使用group by ... with cube/rollup + grouping() 来实现是非常容易做到的。1. 用于测试的数据如下:declare@tabtable(Classvarchar(20),Studentvarchar(20),Coursevarchar(50),Gradesdecimal(7,2));insertinto@tab(Class,Student,Course,Grades)values('A班','张三','语文',60);insertinto@tab(C 阅读全文
posted @ 2013-05-27 22:27 davidkam 阅读(1597) 评论(0) 推荐(0) 编辑
摘要: http://technet.microsoft.com/zh-cn/library/ms161953.aspx更新日期:2005 年 12 月 5 日SQL 注入是一种攻击方式,在这种攻击方式中,恶意代码被插入到字符串中,然后将该字符串传递到 SQL Server 的实例以进行分析和执行。任何构成 SQL 语句的过程都应进行注入漏洞检查,因为 SQL Server 将执行其接收到的所有语法有效的查询。一个有经验的、坚定的攻击者甚至可以操作参数化数据。SQL 注入的主要形式包括直接将代码插入到与 SQL 命令串联在一起并使其得以执行的用户输入变量。一种间接的攻击会将恶意代码注入要在表中存储或作 阅读全文
posted @ 2013-05-27 22:26 davidkam 阅读(218) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 52 下一页