<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan's Blog]]></title> 
<link>http://goxia.maytide.net/index.php</link> 
<description><![CDATA[Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan's Blog]]></copyright>
<item>
<link>http://goxia.maytide.net/read.php/1178.htm</link>
<title><![CDATA[[SQL Server] 配置 SQL Server 以便使用 2GB 以上的物理内存]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Tue, 10 Mar 2009 06:47:49 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/1178.htm</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天一个朋友电话过来咨询我有关 Windows Server 2003 32bit 企业版最大支持的物理内存容量，主要是因为正在运营的一台数据库服务器内存使用达到 2G，服务器效率非常低打算扩展内存，为 SQL Server 提供更多的内存。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 经过确认，服务器是 HP G3 系列支持 PAE，即物理地址扩展，服务器应该最大支持 32GB，而 Windows Server 2003 32bit 企业版最大支持 32GB，为了能够在系统上有效的使用内存需要开启 ／PAE 参数，而要使 SQL Server 使用 2GB 以上的内存还需要启用 AWE 内存。为此需要在 SQL Server 查询分析器中执行如下脚本：</p><p><span style="background-color: #ffff00"><strong>sp_configure &lsquo;show advanced options&rsquo;,1</strong></span></p><p><span style="background-color: #ffff00"><strong>reconfigure</strong></span></p><p><span style="background-color: #ffff00"><strong>go</strong></span></p><p><span style="background-color: #ffff00"><strong>sp_configure &lsquo;awe enabled&rsquo;,1</strong></span></p><p><span style="background-color: #ffff00"><strong>reconfigure</strong></span></p><p><span style="background-color: #ffff00"><strong>go</strong></span></p><p><span style="background-color: #ffff00"><strong>sp_configure &lsquo;max server memory&rsquo;,6144</strong></span></p><p><span style="background-color: #ffff00"><strong>reconfigure</strong></span></p><p><span style="background-color: #ffff00"><strong>go</strong></span></p><p><span style="color: #ff3300">注意：如果在 boot.ini 文件中使用 ／3GB 开关，SQL Server 最多可以使用 3GB 的内存。</span></p><p>具体信息可以参考：<a href="http://support.microsoft.com/kb/274750/zh-cn"><span style="color: #669966">KB274750</span></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在回过头来再了解一下 Windows Server 2003 各版本最大支持的内存容量，以及其他硬件支持信息，便于以后参考。</p><p><strong>Windows Server 2003 R2 Standard Edition</strong></p><p>最多 4 个处理器，最大 4GB 内存</p><p><strong>Windows Server 2003 R2 Enterprise Edition</strong></p><p>最多 8 个处理器，x86 架构最大 64GB 内存，x64 架构最大 2TB 内存</p><p><strong>Windows Server 2003 R2 Datacenter Edition</strong></p><p>x86 架构最多 32 路多处理器，最大 128GB 内存；x64 架构最多 64 路多处理器，最大 2TB 内存</p><p><strong>Windows Server 2003 Web Edition</strong></p><p>最大 2GB 内存</p><p><strong>Windows Server 2003 Standard Edition</strong></p><p>最多 4 个处理器，最大 4GB 内存</p><p><strong>Windows Server 2003 Enterprise Edition</strong></p><p>最多 8 个处理器，x86 架构最大 32GB 内存，x64 架构最大 64GB 内存</p><p><strong>Windows Server 2003 Datacenter Edition</strong></p><p>最多 64 路多处理器，x86 架构最大 128GB 内存，x64 架构最大 2TB 内存</p><p>具体信息可参考：<a href="http://technet.microsoft.com/en-us/windowsserver/bb430827.aspx" title="http://technet.microsoft.com/en-us/windowsserver/bb430827.aspx"><span style="color: #669966">http://technet.microsoft.com/en-us/windowsserver/bb430827.aspx</span></a></p><br/>Tags - <a href="http://goxia.maytide.net/go.php/tags/windows/" rel="tag">windows</a> , <a href="http://goxia.maytide.net/go.php/tags/sql/" rel="tag">sql</a> , <a href="http://goxia.maytide.net/go.php/tags/server/" rel="tag">server</a> , <a href="http://goxia.maytide.net/go.php/tags/memory/" rel="tag">memory</a> , <a href="http://goxia.maytide.net/go.php/tags/awe/" rel="tag">awe</a> , <a href="http://goxia.maytide.net/go.php/tags/pae/" rel="tag">pae</a>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/1056.htm</link>
<title><![CDATA[[Troubleshooting] SQL Server 2000 的 SuperSocket 信息: gethostbyname(MSAFD Tcpip [TCP/IP]) : Error 11004]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Fri, 29 Aug 2008 05:49:03 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/1056.htm</guid> 
<description>
<![CDATA[ 
	<img alt="" src="/upfiles/SQL2000logo.gif" /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一台业务服务器，最近出现运营系统进程老是无故100%的CPU占用，导致系统执行效率低下。经过厂商排错确认是由于服务器上的 SQL Server 2000 引起的，停止与 SQL Server 2000 的挂接，运营系统故障消失。那么，接下来的工作就是要对 SQL Server 2000 作 Troubleshooting 。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可用的参考信息非常少，因为日志中始终只有如下两个日志：<br /><br /><span style="color: #c0c0c0">事件类型:&nbsp;警告<br />事件来源:&nbsp;MSSQLServer<br />事件种类:&nbsp;(8)<br />事件 ID:&nbsp;19011<br />日期:&nbsp;&nbsp;2008-8-28<br />事件:&nbsp;&nbsp;18:27:58<br />用户:&nbsp;&nbsp;N/A<br />计算机:&nbsp;FAMILY-2OPTJ9U4<br />描述:<br />SuperSocket 信息: (SpnRegister) : Error 1355。</span><p align="left"><span style="color: #c0c0c0">有关更多信息，请参阅在 </span><a title="http://go.microsoft.com/fwlink/events.asp" href="http://go.microsoft.com/fwlink/events.asp"><span style="color: #c0c0c0">http://go.microsoft.com/fwlink/events.asp</span></a><span style="color: #c0c0c0"> 的帮助和支持中心。<br /></span></p><p><span style="color: #c0c0c0">事件类型:&nbsp;错误<br />事件来源:&nbsp;MSSQLServer<br />事件种类:&nbsp;(8)<br />事件 ID:&nbsp;19011<br />日期:&nbsp;&nbsp;2008-8-28<br />事件:&nbsp;&nbsp;18:27:58<br />用户:&nbsp;&nbsp;N/A<br />计算机:&nbsp;FAMILY-2OPTJ9U4<br />描述:<br />SuperSocket 信息: gethostbyname(MSAFD Tcpip [TCP/IP]) : Error 11004。</span></p><p><span style="color: #c0c0c0">有关更多信息，请参阅在 </span><a title="http://go.microsoft.com/fwlink/events.asp" href="http://go.microsoft.com/fwlink/events.asp"><span style="color: #c0c0c0">http://go.microsoft.com/fwlink/events.asp</span></a><span style="color: #c0c0c0"> 的帮助和支持中心。</span><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据微软的相关KB及搜索出来的其它资料均进行了测试，结果都以失败告终。SQL Server 也重新进行了安装。经过一番测试，发现 SQL Server 2000 始终无法套接到 TCP/IP 上，自然也就无法绑定 TCP1433，经过两天的摸索最终重点放在了 SuperSocket 信息: (SpnRegister) : Error 1355 ，这条警告日志经常出现在工作组环境之下，微软就此问题已经证实属于产品问题。由于另外一个日志中也提到了有关主机名的问题&ldquo;gethostbyname&rdquo;，那么可以断定由于 SQL Server 无法正常获取注册到的 SPN 而导致最终的失败，继续详细检查系统，发现当前计算机名与 SQL Server 下连接的名称不符，即当前计算机名是 NS4，而 SQL Server 连接的是 FAMILY-2OPTJ9U4，难道问题出在这里。随即将 SQL Server 安全卸载，并将计算机名重新进行命名。故障消失&hellip;&hellip;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 回忆这个问题起因，让人费解，因为在修改计算机名是很早以前做的，而之后 SQL Server 运行也一直良好，不过总算问题得到了最终的解决！计算机名在本场景中不属于必要的，所以恢复旧计算机名不会对运营系统造成干扰。有机会，我将使用 netdom 重命名计算机名再次测试。</p>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/122.htm</link>
<title><![CDATA[解决 SQL Server Agent 服务启动故障]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Fri, 10 Aug 2007 05:41:06 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/122.htm</guid> 
<description>
<![CDATA[ 
	<p>      SQL Server 2000，并安装了SP4，操作系统平台为Windows Server 2003 with SP2，之初安装 SQL Server 2000 时使用的是 SYSTEM 权限，后来考虑到安全问题直接通过服务管理器修改了 SQL Server 的服务运行帐号，一切看似都很顺利。最近由于涉及到定时备份数据库的工作，所以需要使用 SQL Server Agent 服务，可服务总是无法正常启动，除了 SQL Server Log 中记录有帐号登录失败的信息，其他则没有更多的有价值的信息供参考！因为 SQLSERVERAGENT 服务和 SQLSERVER 服务是使用同一个服务帐号，而 SQLSERVER 启动运行都正常，无奈求助于微软新闻组，得到的答案也是帐号密码有错误才会造成。之后几经调试都未成功，后来无意中在企业管理器中查看 SQLSERVER 的安全性发现服务帐号的“服务器访问”设置为“通过组成员资格”，将其修改为“允许访问”后，SQLSERVERAGENT 服务启动正常了！</p><p>      回忆之前的经历，目录权限检查过，账号密码也检查过，唯独忽略了这里。绕了好大的一圈，因为不是主要做 SQL Server 工作的，所以我暂时很难解释这个问题的缘由和所以然！问题重现步骤还有待试验，不过应该跟我手工加固 SQL Server 安全有关！</p><p><img src="http://goxia.maytide.net/up/1186724551.jpg" /></p>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/627.htm</link>
<title><![CDATA[解决SQL2000安装时提示序列号无法验证的问题]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Fri, 28 Jul 2006 03:02:27 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/627.htm</guid> 
<description>
<![CDATA[ 
	<p>      已经不是一次两次遇到的这个问题了！很奇怪机房那边安装系统后我远程安装SQL2000就会出现序列号无法验证的问题，今天看到微软发布了解决此问题的KB，于是简单翻译一下转载到这里。</p><p>解决办法：</p><p>打开注册表编辑器并定为到：HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager</p><p>找到名为“SafeDLLSearchMode”的DWORD值，切换修改他的值 0 或 1，如果没有则创建这个DWORD值。</p><p>原文出处：<a href="http://support.microsoft.com/kb/555496/zh-cn">KB555496</a></p>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/633.htm</link>
<title><![CDATA[删除 SQLServer 2000 所有的危险扩展]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Fri, 30 Jun 2006 02:23:31 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/633.htm</guid> 
<description>
<![CDATA[ 
	<p>使用系统帐户登陆查询分析器<br />运行以下脚本<br />use master <br />exec sp_dropextendedproc 'xp_cmdshell' <br />exec sp_dropextendedproc 'xp_dirtree'<br />exec sp_dropextendedproc 'xp_enumgroups'<br />exec sp_dropextendedproc 'xp_fixeddrives'<br />exec sp_dropextendedproc 'xp_loginconfig'<br />exec sp_dropextendedproc 'xp_enumerrorlogs'<br />exec sp_dropextendedproc 'xp_getfiledetails'<br />exec sp_dropextendedproc 'Sp_OACreate' <br />exec sp_dropextendedproc 'Sp_OADestroy' <br />exec sp_dropextendedproc 'Sp_OAGetErrorInfo' <br />exec sp_dropextendedproc 'Sp_OAGetProperty' <br />exec sp_dropextendedproc 'Sp_OAMethod' <br />exec sp_dropextendedproc 'Sp_OASetProperty' <br />exec sp_dropextendedproc 'Sp_OAStop' <br />exec sp_dropextendedproc 'Xp_regaddmultistring' <br />exec sp_dropextendedproc 'Xp_regdeletekey' <br />exec sp_dropextendedproc 'Xp_regdeletevalue' <br />exec sp_dropextendedproc 'Xp_regenumvalues' <br />exec sp_dropextendedproc 'Xp_regread' <br />exec sp_dropextendedproc 'Xp_regremovemultistring' <br />exec sp_dropextendedproc 'Xp_regwrite' <br />drop procedure sp_makewebtask<br />go </p><p>如果要恢复</p><p>恢复</p><p>use master <br />exec sp_addextendedproc xp_cmdshell,'xp_cmdshell.dll' <br />exec sp_addextendedproc xp_dirtree,'xpstar.dll' <br />exec sp_addextendedproc xp_enumgroups,'xplog70.dll' <br />exec sp_addextendedproc xp_fixeddrives,'xpstar.dll' <br />exec sp_addextendedproc xp_loginconfig,'xplog70.dll' <br />exec sp_addextendedproc xp_enumerrorlogs,'xpstar.dll' <br />exec sp_addextendedproc xp_getfiledetails,'xpstar.dll' <br />exec sp_addextendedproc sp_OACreate,'odsole70.dll' <br />exec sp_addextendedproc sp_OADestroy,'odsole70.dll' <br />exec sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll' <br />exec sp_addextendedproc sp_OAGetProperty,'odsole70.dll' <br />exec sp_addextendedproc sp_OAMethod,'odsole70.dll' <br />exec sp_addextendedproc sp_OASetProperty,'odsole70.dll' <br />exec sp_addextendedproc sp_OAStop,'odsole70.dll' <br />exec sp_addextendedproc xp_regaddmultistring,'xpstar.dll' <br />exec sp_addextendedproc xp_regdeletekey,'xpstar.dll' <br />exec sp_addextendedproc xp_regdeletevalue,'xpstar.dll' <br />exec sp_addextendedproc xp_regenumvalues,'xpstar.dll' <br />exec sp_addextendedproc xp_regread,'xpstar.dll' <br />exec sp_addextendedproc xp_regremovemultistring,'xpstar.dll' <br />exec sp_addextendedproc xp_regwrite,'xpstar.dll' <br />go</p>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/664.htm</link>
<title><![CDATA[SQLServer2000被入侵后的补救措施]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Wed, 08 Mar 2006 02:49:15 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/664.htm</guid> 
<description>
<![CDATA[ 
	<p>      昨天收到通告，发现服务器被入侵。经过初步检查是因为应用出现了注入漏洞，当时检查没发现系统上有入侵痕迹，做了简单的修复就回家，想想感觉不对！既然对方声称已经拿到“系统最高权限”（PS:系统最高权限是SYSTEM，对方拿到的只是指定的管理员权限，看来对方根基不牢固啊。），回想看过的资料记得提过使用系统服务来隐藏后门，对啊！怎么没有想到呢？今早一来便上服务器开始检查，首先检查进程没有发现异常，检查远程登录的Log发现确实有不明Ip登录，GOD！</p><p>      使用最简单也是最有效的查看办法，因为之前我专门指定了一个用户来运行SQL，但是因为涉及到数据库的一些目录权限问题，所以我将这个用户分配到了Administrators组，便留下了后患！我检查了用户配置文件发现其帐户目录中存在黑客工具，看来是登录进来了！奇怪，之前设置的这个帐户是无权本地和远程登录的啊，这个问题我也一直没有找到原因。</p><p>      于是禁止用户远程访问权限，并且将RDP权限中加入了这个用户为拒绝！既然人家已经进来了，也只能将计就计，将账户目录的安全性配置为管理员组和ONWER拒绝，这样一来即使因SQL漏洞对方在进入也只是一个空的界面很难做其它动作，当然还是有突破的办法！不过，起码可以抵挡一段时间！可以让我们及时发现入侵者。</p><p>      最后还是要从SQL下手才能解决问题，可是因为环境要求，做端口限制或者IPSec是不可能的，不过我决定还是把UDP1434给封上。最后从xp_cmdshell下手，关闭它来解决基本的问题！</p><p><div class="code">sp_dropextendedproc 'xp_cmdshell'<br />sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'（这条命令是用来恢复的）</div></p><p>      监视一段时间好了！唉……</p>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/671.htm</link>
<title><![CDATA[部署SQL2005群集实战总结]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Mon, 06 Feb 2006 07:36:36 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/671.htm</guid> 
<description>
<![CDATA[ 
	<p align="center"><font size="4"><strong>部署 Microsoft SQL Server 2005 群集</strong></font><br /><font size="3">——实战总结</font></p><p>      微软公司的SQL Server 2005发布已经有一段时间了，先前作了简单的测试安装，感觉确实有不小的改进，在操作上我还是有些不适应，毕竟我不是专门做数据库管理的。菜啊！</p><p>      之所以会对SQL2005感兴趣，主要是因为很多朋友都在用，而且未来我可能也会接触它。一直以来都想搞一次MDaemon的冗余方案测试，本来打算采用免费的MySQL可是发现目前的4.x版本竟然无法正常运行在MSCS上，无奈等待了有数月之久直到微软的SQL2005发布，哈哈！机器的内存也升级到1.5G，所以决定抱着勇于求知的精神开始筹备测试部署SQL2005群集，年前最后一天班下午没有太多事情就搭建了一个DC+NodeA+NodeB的群集环境，安装SQL2005还是比较顺利的，后来放入第二张盘安装便失败了，以为是因宿主性能造成（在512M内存的虚拟机中安装SQL2005群集，真的是非常得慢，我可怜的硬盘），决定年后上班搭建一个双节点群集环境来做测试，这样一来资源占用应该会小很多，毕竟撤掉一台单独的DC。</p><p>      昨天是年后的第一天班，处理完手上的工作，下午便开始搭建双节点群集环境。这样强烈使用VMware GSX来作为虚拟机软件，不像VSRV2005R2那样配置方便，但是相对来说整体的操作还是优于VSRV2005R2的，另外就是运行速度，感觉确实要快很多。新版的GSX搭建MCSC还是比较简便的，不必像网上资料中写的需要什么pln工具，直接生成固定容量磁盘后，修改虚拟机的配置文件添加参数就可以了。关于配置参数的资料可以参考：<a href="http://goxia.maytide.net/p/vmware_cluster.php">http://goxia.maytide.net/p/vmware_cluster.php</a></p><p>      本文主要总结SQL2005的群集部署，所以关于VMware下MSCS环境的搭建步骤就不再重复，直接从主题开始。</p><p>      测试环境：<br />      1、宿主机<br />           硬件配置：PIV2.4G/1.5G-DDR400/80G-PATA-7200pm/8139C-NIC<br />           操作系统：Microsoft Windows XP Pro With SP2 ENU<br />           虚拟平台：VMware GSX 3.2.1</p><p>      2、VirtualHost Microsoft Cluster NodeA<br />           硬件配置：PIV2.4G/512M/10G/vlance-NIC/vmxnet-NIC<br />           操作系统：Microsoft Windows Server 2003 EE With SP1 CHS<br />           网卡信息：vlance-NIC：10M 全速半双工/HeartBeat/IP192.168.236.250<br />                          vmxnet-NIC：1000M 全速全双工/Public/IP192.168.199.250/GW192.168.199.2/DNS192.168.199.250/WINS192.168.199.250<br />           承载服务：DC+DNS+WINS+IIS</p><p>      3、VirtualHost Microsoft Cluster NodeB<br />           硬件配置：PIV2.4G/512M/10G/vlance-NIC/vmxnet-NIC<br />           操作系统：Microsoft Windows Server 2003 EE With SP1 CHS<br />           网卡信息：vlance-NIC：10M 全速半双工/HeartBeat/IP192.168.236.251<br />                          vmxnet-NIC：1000M 全速全双工/Public/IP192.168.199.251/GW192.168.199.2/DNS192.168.199.251/WINS192.168.199.251<br />           承载服务：DC+DNS+WINS+IIS</p><p>      4、Virtual 4G Pln：Qdisk500M/Sdisk3500M<br />           注意：本次测试将仲裁盘和资源盘放在了一起，实际中最佳的做法应当单独配置一个物理磁盘作仲裁使用，为提高安全性还应该为仲裁磁盘配置RAID1。</p><p>     5、MSCS IP 192.168.199.200</p><p>     目标实现：成功部署 SQL Server 2005 群集/HostName SQL2005/IP192.168.199.201</p><p>     群集实施：<br />     1、我手上的SQL2005为企业中文版2CD。首先放入第一张盘，点击“服务器组件、工具、联机丛书和示例”开始SQL2005的群集安装，安装程序会自动检测当前是否为群集环境并为群集安装准备。小提示：MSCS默认环境下，群集组资源中缺少MSDTC组件，所以需要先添加MSDTC后再开始SQL2005的群集安装，否则会出现警告并停止！</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/1.JPG" /></p><p>     2、接受软件使用许可协议。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/2.JPG" /></p><p>      3、SQL2005在进行初始检测后开始执行安装 SQL2005 所需组件。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/3.JPG" /></p><p>     4、完成所必需组件的安装。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/4.JPG" /></p><p>     5、安装程序开始执行系统配置检查。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/5.JPG" /></p><p>     6、进入SQL2005的安装向导。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/6.JPG" /></p><p>     7、向导开始执行系统配置检查，因为是安装群集，会自动检查各节点并给出状态提示。因为虚拟机配置的是512M内存，所以这里会“最低硬件要求”的警告，可以忽略！</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/7.JPG" /></p><p>     8、选择要安装的组件，如要得到各组件的详细信息可以选择高级项。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/8.JPG" /></p><p align="center" /><p>     9、进入高级项后就来到了详细的各组件的功能选择，这里可以得到详细的组件信息。根据需要选择组件功能。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/9.JPG" /></p><p align="center" /><p>     10、“实例名”配置中选择“默认实例”。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/10.JPG" /></p><p align="center" /><p>     11、虚拟服务器名称配置中，为此群集命名为sql2005</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/11.JPG" /></p><p align="center" /><p>     12、为虚拟服务器配置IP，这里我使用Public作为公共访问，并分配一个IP192.168.199.201，添加后点击“下一步”。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/12.JPG" /></p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/12-1.JPG" /></p><p align="center" /><p>     13、在“选择群集组”中选择可以得群集组，因为这里我只有一个默认的群集组，所以点击“下一步”继续。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/13.JPG" /></p><p align="center" /><p>     14、弹出警告，提示我此群集组包含仲裁资源，这是因为我之前配置了一块Pln磁盘并分配两个逻辑分区来做群集，因此在这里会提示警告，可以直接忽略。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/14.JPG" /></p><p align="center" /><p>     15、群集节点配置中，选择可用的节点，因为我当前是双节点群集环境，所以安装向导自动为我选择了NodeA节点。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/15.JPG" /></p><p align="center" /><p>     16、配置远程安装的帐户，这里的帐户必须是各节点上有效的管理员帐户。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/16.JPG" /></p><p align="center" /><p>     17、为服务配置帐户，之前我已经添加了一个名为sql2005的域用户作为SQL服务帐户，所以这里填写上正确的信息。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/17.JPG" /></p><p align="center" /><p>     18、配置群集服务的域组，这里其实我到现在还没有彻底搞明白是什么意思，参看帮助文件，便在域中为每个SQL服务创建对应的全局组。（希望达人能够帮我解答一下此处的意义！）</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/18.JPG" /></p><p align="center" /><p>     19、身份验证模式中，选择“混合模式”这和SQL2000的感念是一样的。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/19.JPG" /></p><p align="center" /><p>     20、排序规则我是按照默认选择的。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/20.JPG" /></p><p align="center" /><p>     21、这里我没有选择微软提供的跟踪服务功能。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/21.JPG" /></p><p align="center" /><p>     22、前期的安装配置完成后就准备开始执行正式的文件安装，激动啊！</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/22.JPG" /></p><p align="center" /><p>     23、SQL2005的群集安装进度还是很人性化的，这里你可以切换每个节点来监视安装进度。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/23.JPG" /></p><p align="center" /><p>     到这里就是一个漫长的等待了，真是心疼我的硬盘。不过结果很悲惨，在CD1安装完毕后，系统提示我插入CD2，记得年前的测试也是在这里出现问题的，感觉会不会是因为磁盘写延迟，导致另外一个节点没有安装完，我就放入第二张CD造成的呢？抱着幻想我就一直等待，并且监视两台节点的日志，直到节点的硬盘和网卡没有强烈的提示后，我才放入CD2，点击了确定。谁知道接下来就出现了之前测试相同的错误，安装终止并结束了。郁闷！这是怎么回事？检查系统发现SQL2005的服务已经是启动了，这么说服务的安装时成功的。于是进入添加删除程序中，使用更改方式检查SQL2005的安装，发现这里只有添加节点和卸载SQL2005群集两个选择。</p><p>     重新执行光盘，发现CD2原来是“工具、联机丛书和示例”的安装盘。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/28.JPG" /></p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/29.JPG" /></p><p align="center">     <img src="http://goxia.maytide.net/up/sql2k5cluster/30.JPG" /></p><p>     于是再次执行安装程序，哈哈，记起来了！之前也重新执行过安装不过放入的是CD1，所以组件选中服务项等都是不安装，我以为红叉代表删除，所以就没敢继续，如果当时直接从CD2执行安装估计也就成功了。</p><p>     我个人认为，SQL2005的管理工具等组件应该在群集安装后再单独为每个节点安装才是最佳的做法。至于为什么之前会失败只能靠其他达人来做试验来验证了！</p><p>     完成了管理工具等组件的安装，怀着兴奋的心情打开了全新的SQL2005管理工具，默认启动后显示的是连接到服务器的配置页面，这里配置好登录后，可以在管理工具的选项中修改初始打开页面。在“已注册的服务器”窗体中打开SQL2005服务器。</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/24.JPG" /></p><p align="center" /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p>     哈哈，SQL2005的群集算是安装完成了。真是令人兴奋！  </p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/25.JPG" /></p><p align="center" /><p>     进入“群集管理器”中检查SQL2005群集的安装，发现没有问题。心理已经非常激动了！</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/26.JPG" /></p><p align="center" /><p>     最后来验证一下群集是否真的开始正常工作了，我将NodeB节点关闭后，在NodeA上打开“群集管理器”发现SQL2005的群集资源已经自动并成功地从NodeB上转移到了NodeA，在NodeA上打开SQL2005的管理工具进行服务器连接测试，成功！</p><p align="center"><img src="http://goxia.maytide.net/up/sql2k5cluster/27.JPG" /></p><p align="center" /><p>     至此，SQL2005的群集算是圆满测试成功了。其间也是走了不少弯路，不过最后总算是成功了，心理也得到了安慰。其实SQL2005的群集还是非常简单的，只不过CD2的安装出错到底是因为其本身不支持群集安装还是因为其他原因目前还不知晓，只能等权威的解释了！另外，SQL2005的群集安装需要在拥有活动资源的节点上进行安装。</p><p>     总算是把文章写完了，今天狂停电，真郁闷！害死我了。最后算是一边写一边发布再编辑，真是费神。此实战总结为个人观点，其中有不足或错误之处还希望大家多多指正！</p><p>     作者：gOxiA<br />     日期：2006年2月6日<br />     Blog：<a href="http://goxia.maytide.net/">http://goxia.maytide.net</a><br />     社区：http://forum.maytide.net</p><p>     转载请注明出处和作者，多谢！！~~~~~</p>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/457.htm</link>
<title><![CDATA[SQL2005群集测试失败]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Sun, 05 Feb 2006 01:35:24 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/457.htm</guid> 
<description>
<![CDATA[ 
	<p>      放假前最后一天，坚守阵地剩余时间便开始做SQL2005的群集测试，群集环境的搭建很顺利，SQL2005的群集安装前几个步骤都很顺利可最好开始安装客户端工具的时候出现错误并中断，不过在这期间我监视日志发现心跳线路总是中断，今天上班第一天打开虚拟机准备开始继续试验发现之前安装的SQL是彻底失败了，服务就起不来。估计是虚拟机性能造成的，虽然宿主内存达到1.5G，可是这次我是1DC+2Node，内存分配还都非常大，SQL2005又比较占用资源才会导致最终的失败，决定今天把系统重新作了，毕竟现在系统上的n多软件耗费了我宝贵的性能资源，然后重新部署双节点群集来做SQL2005群集测试。</p><p>      新年新气象！放假中的几天就不再作记录。</p>
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/775.htm</link>
<title><![CDATA[关于MS SQL日志清除的办法]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Sat, 25 Sep 2004 00:30:41 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/775.htm</guid> 
<description>
<![CDATA[ 
	清空日志：dump transaction 库名 with no_log<br />截断日志：backup log 库名 with no_log<br />压缩日志：DBCC thrinkfill (库名)<br /><br />补充：<br />一:<br />解决SQL日志增大的办法<br />--假设test为数据库名称<br />在查询分析器中执行：<br />backup log test with NO_LOG<br />backup log test with TRUNCATE_ONLY<br />DBCC SHRINKDATABASE(test) <br /><br />将上面的语句多次执行，直到日志文件缩小。<br />exec sp_dboption 'test','autoshrink','on'<br />建立作业,每半个小时一次日志备份,每天一次完全数据库备份。<br />在Log收缩到正常大小后，将autoshrink选项设置为off。<br /><br /><br />二:<br />数据库增大是因为你的日志增大了，以前大家讨论过的，最简单可行的办法就是在你数据库属性-选项-故障还原里面选成简单模式(缺省为完全模式)，然后选收缩数据库进行一次收缩，以后你的数据库基本就不怎么会增长了 <br /><br />三:<br />1、进入企业管理器，选中数据库，比如test<br />2、所有任务-分离数据库<br />3、到数据库文件的存放目录，将test_log.LDF文件删除，你怕S的话可以拷出去<br />4、企业管理器;附加数据库，选test，这个时候你会看见日志文件这项是一个叉，不要紧继续，此时数据库就会提示你该数据库无日志是否创建一个新的，确定就是了。<br />5、记得数据库重新附加后用户要重新设置一下。 
]]>
</description>
</item><item>
<link>http://goxia.maytide.net/read.php/776.htm</link>
<title><![CDATA[防范SQL注入式攻击 ]]></title> 
<author>gOxiA &lt;goxia@live.cn&gt;</author>
<category><![CDATA[SQL Server]]></category>
<pubDate>Wed, 08 Sep 2004 08:26:43 +0000</pubDate> 
<guid>http://goxia.maytide.net/read.php/776.htm</guid> 
<description>
<![CDATA[ 
	SQL注入式攻击是利用是指利用设计上的漏洞，在目标服务器上运行Sql命令以及进行其他方式的攻击<br/>动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。<br/>比如：<br/> 如果你的查询语句是select * from admin where username='\&quot;&amp;user&amp;\&quot;' and password='\&quot;&amp;pwd&amp;\&quot;'\&quot;<br/><br/> 那么，如果我的用户名是：1' or '1'='1<br/> 那么，你的查询语句将会变成：<br/> select * from admin where username='1 or '1'='1' and password='\&quot;&amp;pwd&amp;\&quot;'\&quot;<br/> 这样你的查询语句就通过了，从而就可以进入你的管理界面。<br/><br/>所以防范的时候需要对用户的输入进行检查。特别式一些特殊字符，比如单引号，双引号，分号，逗号，冒号，连接号等进行转换或者过滤。<br/><br/>需要过滤的特殊字符及字符串有：<br/>　　<div class="code">net user<br/>　　 xp_cmdshell<br/>　　 /add<br/>　　 exec master.dbo.xp_cmdshell<br/>　　 net localgroup administrators<br/>　　 select<br/>　　 count<br/>　　 Asc<br/>　　 char<br/>　　 mid<br/>　　 '<br/>　　 :<br/>　　 \&quot;<br/>　　 insert<br/>　　 delete from<br/>　　 drop table<br/>　　 update<br/>　　 truncate<br/>　　 from<br/>　　 %</div><br/><br/>下面是我写的两种关于解决注入式攻击的防范代码，供大家学习参考！<br/>js版的防范SQL注入式攻击代码～：<br/><br/><div class="code">&lt;script language=\&quot;j avascript\&quot;&gt;<br/>&lt;!--<br/> var url = location.search;<br/> var re=/^\?(.*)(select%20|insert%20|delete%20from%20|count\(|drop%20table|update%20truncate%20|asc\(|mid\(|char\(|xp_cmdshell|exec%20master|net%20localgroup%20administrators|\&quot;|:|net%20user|\'|%20or%20)(.*)$/gi;<br/> var e = re.test(url);<br/> if(e) &#123;<br/> &nbsp;alert(\&quot;地址中含有非法字符～\&quot;);<br/> &nbsp;location.href=\&quot;error.asp\&quot;;<br/> &#125;<br/>//--&gt;<br/>&lt;script&gt;</div><br/><br/><br/>asp版的防范SQL注入式攻击代码～：<br/><div class="code">&lt;%<br/>On Error Resume Next<br/>Dim strTemp<br/><br/>If LCase(Request.ServerVariables(\&quot;HTTPS\&quot;)) = \&quot;off\&quot; Then<br/> strTemp = \&quot;http://\&quot;<br/>Else<br/> strTemp = \&quot;https://\&quot;<br/>End If<br/><br/>strTemp = strTemp &amp; Request.ServerVariables(\&quot;SERVER_NAME\&quot;)<br/>If Request.ServerVariables(\&quot;SERVER_PORT\&quot;) &lt;&gt; 80 Then strTemp = strTemp &amp; \&quot;:\&quot; &amp; Request.ServerVariables(\&quot;SERVER_PORT\&quot;)<br/><br/>strTemp = strTemp &amp; Request.ServerVariables(\&quot;URL\&quot;)<br/><br/>If Trim(Request.QueryString) &lt;&gt; \&quot;\&quot; Then strTemp = strTemp &amp; \&quot;?\&quot; &amp; Trim(Request.QueryString)<br/><br/>strTemp = LCase(strTemp)<br/><br/>If Instr(strTemp,\&quot;select%20\&quot;) or Instr(strTemp,\&quot;insert%20\&quot;) or Instr(strTemp,\&quot;delete%20from\&quot;) or Instr(strTemp,\&quot;count(\&quot;) or Instr(strTemp,\&quot;drop%20table\&quot;) or Instr(strTemp,\&quot;update%20\&quot;) or Instr(strTemp,\&quot;truncate%20\&quot;) or Instr(strTemp,\&quot;asc(\&quot;) or Instr(strTemp,\&quot;mid(\&quot;) or Instr(strTemp,\&quot;char(\&quot;) or Instr(strTemp,\&quot;xp_cmdshell\&quot;) or Instr(strTemp,\&quot;exec%20master\&quot;) or Instr(strTemp,\&quot;net%20localgroup%20administrators\&quot;) &nbsp;or Instr(strTemp,\&quot;:\&quot;) or Instr(strTemp,\&quot;net%20user\&quot;) or Instr(strTemp,\&quot;'\&quot;) or Instr(strTemp,\&quot;%20or%20\&quot;) then<br/> Response.Write \&quot;&lt;script language='j avascript'&gt;\&quot;<br/> Response.Write \&quot;alert('非法地址！！');\&quot;<br/> Response.Write \&quot;location.href='error.asp';\&quot;<br/> Response.Write \&quot;&lt;script&gt;\&quot;<br/>End If<br/>%&gt;</div>
]]>
</description>
</item>
</channel>
</rss>