﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-lsbwahaha-随笔分类-数据库</title><link>http://www.blogjava.net/lsbwahaha/category/38814.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 05 Nov 2009 15:28:16 GMT</lastBuildDate><pubDate>Thu, 05 Nov 2009 15:28:16 GMT</pubDate><ttl>60</ttl><item><title>mysql中force Index等一些比较少用到sql优化</title><link>http://www.blogjava.net/lsbwahaha/archive/2009/11/04/301122.html</link><dc:creator>胡鹏</dc:creator><author>胡鹏</author><pubDate>Wed, 04 Nov 2009 10:20:00 GMT</pubDate><guid>http://www.blogjava.net/lsbwahaha/archive/2009/11/04/301122.html</guid><wfw:comment>http://www.blogjava.net/lsbwahaha/comments/301122.html</wfw:comment><comments>http://www.blogjava.net/lsbwahaha/archive/2009/11/04/301122.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lsbwahaha/comments/commentRss/301122.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lsbwahaha/services/trackbacks/301122.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天在熟悉我们的项目的时候，sql中看到FORCE INDEX，额，都不知道什么东东，有什么特别用处吗？ 查了下资料，原来是这样啊，发现一般不搞复杂sql，而且复杂sql DBA也不允许，但优化的sql 还是有必要了解下。（一般来说也不太会使用，总被DBA pk了）<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下面部分转：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于经常使用oracle的朋友可能知道，oracle的hint功能种类很多，对于优化sql语句提供了很多方法。同样，在mysql里，也有类似的hint功能。下面介绍一些常用的。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1。强制索引 FORCE INDEX </p>
<p>SELECT * FROM TABLE1 FORCE INDEX (FIELD1) &#8230; </p>
<p>以上的SQL语句只使用建立在FIELD1上的索引，而不使用其它字段上的索引。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2。忽略索引 IGNORE INDEX </p>
<p>SELECT * FROM TABLE1 IGNORE INDEX (FIELD1, FIELD2) &#8230; </p>
<p>在上面的SQL语句中，TABLE1表中FIELD1和FIELD2上的索引不被使用。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3。关闭查询缓冲 SQL_NO_CACHE </p>
<p>SELECT SQL_NO_CACHE field1, field2 FROM TABLE1; </p>
<p>有一些SQL语句需要实时地查询数据，或者并不经常使用（可能一天就执行一两次）,这样就需要把缓冲关了,不管这条SQL语句是否被执行过，服务器都不会在缓冲区中查找，每次都会执行它。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4。强制查询缓冲 SQL_CACHE </p>
<p>SELECT SQL_CALHE * FROM TABLE1; </p>
<p>如果在my.ini中的query_cache_type设成2，这样只有在使用了SQL_CACHE后，才使用查询缓冲。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 5。优先操作 HIGH_PRIORITY </p>
<p>HIGH_PRIORITY可以使用在select和insert操作中，让MYSQL知道，这个操作优先进行。 </p>
<p>SELECT HIGH_PRIORITY * FROM TABLE1; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 6。滞后操作 LOW_PRIORITY </p>
<p>LOW_PRIORITY可以使用在insert和update操作中，让mysql知道，这个操作滞后。 </p>
<p>update LOW_PRIORITY table1 set field1= where field1= &#8230; </p>
<p>&nbsp;&nbsp;&nbsp; 7。延时插入 INSERT DELAYED </p>
<p>INSERT DELAYED INTO table1 set field1= &#8230; </p>
<p>INSERT DELAYED INTO，是客户端提交数据给MySQL，MySQL返回OK状态给客户端。而这是并不是已经将数据插入表，而是存储在内存里面等待排队。当mysql有空余时，再插入。另一个重要的好处是，来自许多客户端的插入被集中在一起，并被编写入一个块。这比执行许多独立的插入要快很多。坏处是，不能返回自动递增的ID，以及系统崩溃时，MySQL还没有来得及插入数据的话，这些数据将会丢失。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 8 。强制连接顺序 STRAIGHT_JOIN </p>
<p>SELECT TABLE1.FIELD1, TABLE2.FIELD2 FROM TABLE1 STRAIGHT_JOIN TABLE2 WHERE &#8230; </p>
<p>由上面的SQL语句可知，通过STRAIGHT_JOIN强迫MySQL按TABLE1、TABLE2的顺序连接表。如果你认为按自己的顺序比MySQL推荐的顺序进行连接的效率高的话，就可以通过STRAIGHT_JOIN来确定连接顺序。 </p>
<p>&nbsp;&nbsp;&nbsp; 9。强制使用临时表 SQL_BUFFER_RESULT </p>
<p>SELECT SQL_BUFFER_RESULT * FROM TABLE1 WHERE &#8230; </p>
<p>当我们查询的结果集中的数据比较多时，可以通过SQL_BUFFER_RESULT.选项强制将结果集放到临时表中，这样就可以很快地释放MySQL的表锁（这样其它的SQL语句就可以对这些记录进行查询了），并且可以长时间地为客户端提供大记录集。 </p>
<p>&nbsp;&nbsp; 10。分组使用临时表 SQL_BIG_RESULT和SQL_SMALL_RESULT </p>
<p>SELECT SQL_BUFFER_RESULT FIELD1, COUNT(*) FROM TABLE1 GROUP BY FIELD1; </p>
<p>一般用于分组或DISTINCT关键字，这个选项通知MySQL，如果有必要，就将查询结果放到临时表中，甚至在临时表中进行排序。SQL_SMALL_RESULT比起SQL_BIG_RESULT差不多，很少使用。</p>
<img src ="http://www.blogjava.net/lsbwahaha/aggbug/301122.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lsbwahaha/" target="_blank">胡鹏</a> 2009-11-04 18:20 <a href="http://www.blogjava.net/lsbwahaha/archive/2009/11/04/301122.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ibatis中 $ 于 # 的 区别?</title><link>http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html</link><dc:creator>胡鹏</dc:creator><author>胡鹏</author><pubDate>Thu, 16 Apr 2009 12:13:00 GMT</pubDate><guid>http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html</guid><wfw:comment>http://www.blogjava.net/lsbwahaha/comments/266026.html</wfw:comment><comments>http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lsbwahaha/comments/commentRss/266026.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lsbwahaha/services/trackbacks/266026.html</trackback:ping><description><![CDATA[<span  style="font-family: Arial; font-size: 12px; line-height: 18px; ">&#160;&#160; &#160; 一个项目中在写ibatis中的sql语句时，where user_id in (#user_id_list# ), 运行时总是不行，后来上网查了查，才知道这里不该用#,而应该用$,随即查了下#与$的区别．&#160;<br />
总结如下:&#160;<br />
1.#是把传入的数据当作字符串，如#user_id_list#传入的是1,2,则sql语句生成是这样，in ('1,2')&#160;,当然不可以<br />
<br />
2.$传入的数据直接生成在sql里，如#user_id_list#传入的是1,2,则sql语句生成是这样，in(1,2) 这就对了．&#160;<br />
<br />
3.#方式能够很大程度防止sql注入．&#160;<br />
<br />
4.$方式无法方式sql注入．&#160;<br />
<br />
5.$方式一般用于传入数据库对象．例如传入表名.&#160;<br />
<br />
6.一般能用#的就别用$.&#160;</span>
<div><span  style="font-family: Tahoma; font-size: 12px; line-height: 18px; ">直观的说&#160;<br />
#str# 出来的效果是&#160; 'str'&#160;<br />
$str$ 出来的效果是&#160; str&#160;<br />
<br />
另外&#160; ##只能用在特定的几个地方 $$可以用在任何地方&#160; 比如 order by $str$&#160;<br />
<br />
你甚至可以直接写&#160; $str$&#160; 把 order by 这个字串放在str里传进来&#160;</span></div>
<div><font  face="Tahoma" size="3"><span  style="font-size: 12px; line-height: 18px;">今天花了N久，才把这个问题搞出来，郁闷下，不过出来了也挺开心的，终于搞定啦，嘿嘿~！~ &#160;&#160;</span></font></div>
<img src ="http://www.blogjava.net/lsbwahaha/aggbug/266026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lsbwahaha/" target="_blank">胡鹏</a> 2009-04-16 20:13 <a href="http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORCALE 自动编号</title><link>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264098.html</link><dc:creator>胡鹏</dc:creator><author>胡鹏</author><pubDate>Mon, 06 Apr 2009 04:20:00 GMT</pubDate><guid>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264098.html</guid><wfw:comment>http://www.blogjava.net/lsbwahaha/comments/264098.html</wfw:comment><comments>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264098.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lsbwahaha/comments/commentRss/264098.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lsbwahaha/services/trackbacks/264098.html</trackback:ping><description><![CDATA[<div>TB_OA_DUANXIN&nbsp;<wbr>表中的 &nbsp;<wbr>&nbsp;<wbr> OADX_ID&nbsp;<wbr> 字段为自动增长</div>
<div>首先创个sequence :</div>
<div>&nbsp;<wbr><font face="宋体">create sequence SEQ_TB_OA_DUANXIN<br />
minvalue 1<br />
maxvalue 9999999999<br />
start with 1<br />
increment by 1<br />
cache 20;</font></div>
<div>&nbsp;<wbr></div>
<div>再创建个触发器:&nbsp;<wbr>&nbsp;<wbr><font face="宋体"><br />
create or replace trigger TR_TB_OA_DUANXIN_ID_INC<br />
&nbsp;<wbr> before insert on TB_OA_DUANXIN<br />
&nbsp;<wbr> for each row<br />
declare<br />
&nbsp;<wbr> -- local variables here<br />
tmp NUMBER;<br />
begin<br />
&nbsp;<wbr> select SEQ_TB_OA_DUANXIN.nextval into tmp from dual;<br />
&nbsp;<wbr> :new.OADX_ID := to_char(tmp);<br />
end TR_TB_OA_DUANXIN_ID_INC;</font></div>
<img src ="http://www.blogjava.net/lsbwahaha/aggbug/264098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lsbwahaha/" target="_blank">胡鹏</a> 2009-04-06 12:20 <a href="http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264098.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在mysql中设置不同的字符集</title><link>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264097.html</link><dc:creator>胡鹏</dc:creator><author>胡鹏</author><pubDate>Mon, 06 Apr 2009 04:19:00 GMT</pubDate><guid>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264097.html</guid><wfw:comment>http://www.blogjava.net/lsbwahaha/comments/264097.html</wfw:comment><comments>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264097.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lsbwahaha/comments/commentRss/264097.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lsbwahaha/services/trackbacks/264097.html</trackback:ping><description><![CDATA[需要设置server character set , database character set, client character set，如果有一个不大一样，就有可能导致乱码
<p>。</p>
<p>server character set，client character set可以在mysql config文件中设置，比如设置为utf8：</p>
<p>vi /etc/my.cnf</p>
<p># server<br />
[mysqld]<br />
default_character_set=utf8</p>
<p># client<br />
[mysql]<br />
default_character_set=utf8</p>
<p>然后重启mysqld。设置database 字符集，可以在mysql中进行。对于新建database:</p>
<p>create database database_name default character set utf8;</p>
<p>对于已存在database:<br />
alter database database_name default character set utf8;</p>
<p>改进jdbc client的字符集，　在设置连接字串时设定：如</p>
<p><br />
jdbc:mysql://localhost:3306/test?useUnicode=true&amp;amp;characterEncoding=UTF-8<br />
</p>
<img src ="http://www.blogjava.net/lsbwahaha/aggbug/264097.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lsbwahaha/" target="_blank">胡鹏</a> 2009-04-06 12:19 <a href="http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264097.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库 备份后  无法还原  解决办法(SQLSERVER)</title><link>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264096.html</link><dc:creator>胡鹏</dc:creator><author>胡鹏</author><pubDate>Mon, 06 Apr 2009 04:18:00 GMT</pubDate><guid>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264096.html</guid><wfw:comment>http://www.blogjava.net/lsbwahaha/comments/264096.html</wfw:comment><comments>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264096.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lsbwahaha/comments/commentRss/264096.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lsbwahaha/services/trackbacks/264096.html</trackback:ping><description><![CDATA[有时候完全备份, 当还原的时候说不时数据库文件不让还原, 解决办法:
<div>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 可以直接复制数据库文件, xxx.mdf 和&nbsp;<wbr> xxx.ldf</div>
<div>&nbsp;<wbr></div>
<div>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 用 sp_attach_db&nbsp;<wbr> 存储过程 就能搞定.</div>
<div>&nbsp;<wbr></div>
<div>示例 &nbsp;<wbr><br />
&nbsp;<wbr> 下面的示例将 &nbsp;<wbr> pubs &nbsp;<wbr> 中的两个文件附加到当前服务器。 &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> EXEC &nbsp;<wbr> sp_attach_db &nbsp;<wbr> @dbname &nbsp;<wbr> = &nbsp;<wbr> N'pubs', &nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr> &nbsp;<wbr> &nbsp;<wbr> @filename1 &nbsp;<wbr> = &nbsp;<wbr> N'c:\Program &nbsp;<wbr> Files\Microsoft &nbsp;<wbr> SQL &nbsp;<wbr> Server\MSSQL\Data\pubs.mdf', &nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr> &nbsp;<wbr> &nbsp;<wbr> @filename2 &nbsp;<wbr> = &nbsp;<wbr> N'c:\Program &nbsp;<wbr> Files\Microsoft &nbsp;<wbr> SQL &nbsp;<wbr> Server\MSSQL\Data\pubs_log.ldf'&nbsp;<wbr>&nbsp;<wbr></div>
<div>&nbsp;<wbr></div>
<div>&nbsp;<wbr></div>
<div>N表示Unicode的含义,就象类型中有varchar和nvarchar一样,一个Unicode字符占两个字节.使用N'的情况主要是在双字节系统环境中强制系统对每个字符用Unicode标准来解释,否则如果你的数据库.mdf文件是中文名而又不加N'的话,数据库加载后名称可能就变成乱码,因为系统按单字节处理字符造成!</div>
<div>&nbsp;<wbr></div>
<div>&nbsp;<wbr></div>
<div>............................................................</div>
<div>&nbsp;<wbr></div>
<div>&nbsp;<wbr></div>
<div>如果确认是SQL &nbsp;<wbr> SERVER无法启动,请按照下面步骤操作: &nbsp;<wbr><br />
&nbsp;<wbr> 1.重装SQL &nbsp;<wbr> SERVER(注意要保留原来数据库的数据库文件,日志文件可不要) &nbsp;<wbr><br />
&nbsp;<wbr> 2.在SQL &nbsp;<wbr> Analysis中用sp_attach_db将数据库加到服务器 &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> sp_attach_db用法: &nbsp;<wbr><br />
&nbsp;<wbr> sp_attach_db &nbsp;<wbr><br />
&nbsp;<wbr> 将数据库附加到服务器。 &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> <nobr id="key0" style="color: #6600ff; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" target="_blank">语法</nobr> &nbsp;<wbr><br />
&nbsp;<wbr> sp_attach_db &nbsp;<wbr> [ &nbsp;<wbr> @dbname &nbsp;<wbr> = &nbsp;<wbr> ] &nbsp;<wbr> 'dbname' &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr> &nbsp;<wbr> &nbsp;<wbr> &nbsp;<wbr> , &nbsp;<wbr> [ &nbsp;<wbr> @filename1 &nbsp;<wbr> = &nbsp;<wbr> ] &nbsp;<wbr> 'filename_n' &nbsp;<wbr> [ &nbsp;<wbr> ,...16 &nbsp;<wbr> ] &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 参数 &nbsp;<wbr><br />
&nbsp;<wbr> [@dbname &nbsp;<wbr> =] &nbsp;<wbr> 'dbname' &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname &nbsp;<wbr> 的数据类型为 &nbsp;<wbr> sysname，默认值为 &nbsp;<wbr> NULL。 &nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> [@filename1 &nbsp;<wbr> =] &nbsp;<wbr> 'filename_n' &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 数据库文件的物理名称，包括路径。filename_n &nbsp;<wbr> 的数据类型为 &nbsp;<wbr> nvarchar(260)，默认值为 &nbsp;<wbr> NULL。最多可以指定 &nbsp;<wbr> 16 &nbsp;<wbr> 个文件名。参数名称以 &nbsp;<wbr> @filename1 &nbsp;<wbr> 开始，递增到 &nbsp;<wbr> @filename16。文件名列表至少必须包括主文件，主文件包含指向数据库中其它文件的<nobr id="key3" style="color: #6600ff; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" target="_blank">系统</nobr>表。该列表还必须包括数据库分离后所有被移动的文件。 &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 返回代码值 &nbsp;<wbr><br />
&nbsp;<wbr> 0（成功）或 &nbsp;<wbr> 1（失败） &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 结果集 &nbsp;<wbr><br />
&nbsp;<wbr> 无 &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 注释 &nbsp;<wbr><br />
&nbsp;<wbr> 只应对以前使用显式 &nbsp;<wbr> sp_detach_db &nbsp;<wbr> 操作从数据库服务器分离的数据库执行 &nbsp;<wbr> sp_attach_db。如果必须指定多于 &nbsp;<wbr> 16 &nbsp;<wbr> 个文件，请使用带有 &nbsp;<wbr> FOR &nbsp;<wbr> ATTACH &nbsp;<wbr> 子句的 &nbsp;<wbr> CREATE &nbsp;<wbr> DATABASE。 &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 如果将数据库附加到的服务器不是该数据库从中分离的服务器，并且启用了分离的数据库以进行复制，则应该运行 &nbsp;<wbr> sp_removedbreplication &nbsp;<wbr> 从数据库删除复制。 &nbsp;<wbr><br />
&nbsp;<wbr> &nbsp;<wbr><br />
&nbsp;<wbr> 权限 &nbsp;<wbr><br />
&nbsp;<wbr> 只有 &nbsp;<wbr> sysadmin &nbsp;<wbr> 和 &nbsp;<wbr> dbcreator &nbsp;<wbr> 固定服务器角色的成员才能执行本过程。&nbsp;<wbr>&nbsp;</div>
<img src ="http://www.blogjava.net/lsbwahaha/aggbug/264096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lsbwahaha/" target="_blank">胡鹏</a> 2009-04-06 12:18 <a href="http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL Server 安装文件挂起错误解决办法</title><link>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264095.html</link><dc:creator>胡鹏</dc:creator><author>胡鹏</author><pubDate>Mon, 06 Apr 2009 04:16:00 GMT</pubDate><guid>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264095.html</guid><wfw:comment>http://www.blogjava.net/lsbwahaha/comments/264095.html</wfw:comment><comments>http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lsbwahaha/comments/commentRss/264095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lsbwahaha/services/trackbacks/264095.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">刚开始使用</span><span lang="EN-US" xml:lang="EN-US">SQL Server 2000</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，就给了我一个下马威。不过最终还是解决了。具体情况和解决方法</span><span lang="EN-US" xml:lang="EN-US">:<br />
</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">　　安装</span><span lang="EN-US" xml:lang="EN-US">SQL Server 2000</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的操作系统是</span><span lang="EN-US" xml:lang="EN-US">Windows 2000 Profession Edition,</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">安装简体中文标准版。会提示该版本的操作系统不能安装服务器组件，只能安装</span><span lang="EN-US" xml:lang="EN-US">SQL Server 2000</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个人版。于是退出，选择安装个人版。却出现了新的错误：</span> <span lang="EN-US" xml:lang="EN-US">&#8220;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。</span> <span lang="EN-US" xml:lang="EN-US">&#8221;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">　接着按照提示重启计算机，再安装，仍然出现同样的提示。再网上查找相关资料，得知是安装程序在先前的安装过程中在系统注册表留下某些信息，导致不能安装。于是经过多次试，发现删除掉如下键值信息即可安装：在运行窗口输入</span><span lang="EN-US" xml:lang="EN-US">regedit</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，打开注册表编辑器，在</span><span lang="EN-US" xml:lang="EN-US">HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中找到</span><span lang="EN-US" xml:lang="EN-US">PendingFileRenameOperations</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span> <span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">删除该键值，关闭注册表编辑器。重新安装</span><span lang="EN-US" xml:lang="EN-US">SQL Server 2000</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，哈哈，久违的安装界面终于浮出水面了。</span><span lang="EN-US" xml:lang="EN-US"><br />
</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">　　这个键值是安装程序暂挂项目，只要找到对应的应用程序清除掉就行了。</span></p>
 <img src ="http://www.blogjava.net/lsbwahaha/aggbug/264095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lsbwahaha/" target="_blank">胡鹏</a> 2009-04-06 12:16 <a href="http://www.blogjava.net/lsbwahaha/archive/2009/04/06/264095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>