﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Felix Woo &#187; SQLServer</title>
	<atom:link href="http://www.felixwoo.com/tag/sqlserver/feed" rel="self" type="application/rss+xml" />
	<link>http://www.felixwoo.com</link>
	<description>世界因我存在</description>
	<lastBuildDate>Thu, 10 Nov 2011 11:54:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Sql Server 2005自定义分页</title>
		<link>http://www.felixwoo.com/archives/123</link>
		<comments>http://www.felixwoo.com/archives/123#comments</comments>
		<pubDate>Sat, 21 Jan 2006 22:14:14 +0000</pubDate>
		<dc:creator>Felix</dc:creator>
				<category><![CDATA[开发技术]]></category>
		<category><![CDATA[SQLServer]]></category>
		<category><![CDATA[微软]]></category>

		<guid isPermaLink="false">http://219.234.88.162:81/?p=123</guid>
		<description><![CDATA[　　在sql server 2000中,要实现显示某一页,就返回那一页数据的效果的方法实在不尽人意.网上很多通用的分页存储过程,但看着就头大.如果使用我前面提到的使用in,not in,top来进行返回特定页,特殊的限制又会比较多(比如ID要递增).现在Sql Server 2005中提供了一个函数ROW_NUMBER(),可以使自定义分页变得简单许多. 我们先来看看ROW_NUMBER()是干什么的.执行下面这段SQL语句: SELECT [ReportID],[UserName], [ReportID], [TimeStart], [TimeEnd],ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo FROM [ExecutionLog] 执行结果如下图所示: 很简单,ROW_NUMBER() 就是生成一个顺序的行号,而他生成顺序的标准,就是后面紧跟的OVER(ORDER BY ReportID).现在,你看到了自定义分页的影子了吗?:)下面,我们看看怎么具体应用这个RowNo进行分页. 现在,假设我每一页的数据是10条,我们就可以使用如下所示的SQL语句返回指定页的数据: @&#34; SELECT TOP 10 * FROM ( SELECT top 10 [InstanceName], [UserName], [ReportID], [TimeStart], [TimeEnd],ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo FROM [ExecutionLog] ) AS A WHERE RowNo &#62; [...]]]></description>
			<content:encoded><![CDATA[<p>　　在sql server 2000中,要实现显示某一页,就返回那一页数据的效果的方法实在不尽人意.网上很多通用的分页存储过程,但看着就头大.如果使用我前面提到的使用in,not in,top来进行返回特定页,特殊的限制又会比较多(比如ID要递增).现在Sql Server 2005中提供了一个函数ROW_NUMBER(),可以使自定义分页变得简单许多.<br />    我们先来看看ROW_NUMBER()是干什么的.执行下面这段SQL语句:<br />    SELECT [ReportID],[UserName], [ReportID], <br />    [TimeStart], [TimeEnd],ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo <br />    FROM [ExecutionLog]<br />    执行结果如下图所示:<br />    <a href="http://www.felixwoo.com/wp-content/uploads/attachments/200601/21_221728_.jpg" target="_blank"><img src="http://www.felixwoo.com/wp-content/uploads/attachments/200601/21_221728_.jpg" alt="http://www.felixwoo.com/wp-content/uploads/attachments/200601/21_221728_.jpg" /></a><br />     很简单,ROW_NUMBER() 就是生成一个顺序的行号,而他生成顺序的标准,就是后面紧跟的OVER(ORDER BY ReportID).现在,你看到了自定义分页的影子了吗?:)下面,我们看看怎么具体应用这个RowNo进行分页.<br />    现在,假设我每一页的数据是10条,我们就可以使用如下所示的SQL语句返回指定页的数据:<br />    @&quot;<br />      SELECT TOP 10 * <br />      FROM<br />      (<br />       SELECT top 10 [InstanceName], [UserName], [ReportID], <br />       [TimeStart], [TimeEnd],ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo <br />       FROM [ExecutionLog] <br />      ) AS A<br />      WHERE RowNo &gt; &quot; + pageIndex*10<br />    pageIndex就是我们需要数据的页数.很简单,不是吗?并且,这种方式几乎没有什么限制,因为他相当于对于任何检索,都生成了一个新的排序列.我们就可以使用该列进行自定义分页.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felixwoo.com/archives/123/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>保护 SQL Server 的十个步骤</title>
		<link>http://www.felixwoo.com/archives/22</link>
		<comments>http://www.felixwoo.com/archives/22#comments</comments>
		<pubDate>Fri, 16 Jul 2004 23:21:00 +0000</pubDate>
		<dc:creator>Felix</dc:creator>
				<category><![CDATA[开发技术]]></category>
		<category><![CDATA[SQLServer]]></category>
		<category><![CDATA[微软]]></category>

		<guid isPermaLink="false">http://219.234.88.162:81/?p=22</guid>
		<description><![CDATA[&#60;STRONG&#62;1.安装最新的服务包。&#60;/STRONG&#62;&#160; &#60;BR&#62;　　为了提高服务器安全性，最有效的一个方法就是升级到&#160;SQL&#160;Server&#160;2000&#160;Service&#160;Pack&#160;3a&#160;(SP3a)。 &#60;BR&#62;　　另外，您还应该安装所有已发布的安全更新。 &#60;BR&#62;&#160; &#60;BR&#62;&#60;STRONG&#62;2.使用&#160;Microsoft&#160;基线安全性分析器（MBSA）来评估服务器的安全性。&#60;/STRONG&#62; &#60;BR&#62;　　MBSA&#160;是一个扫描多种&#160;Microsoft&#160;产品的不安全配置的工具，包括&#160;SQL&#160;Server&#160;和&#160;Microsoft&#160;SQL&#160;Server&#160;2000&#160;Desktop&#160;Engine&#160;(MSDE&#160;2000)。它可以在本地运行，也可以通过网络运行。该工具针对下面问题对&#160;SQL&#160;Server&#160;安装进行检测： &#60;BR&#62;1)&#160;&#160;&#160;过多的sysadmin固定服务器角色成员。&#160; &#60;BR&#62;2)&#160;&#160;&#160;授予sysadmin以外的其他角色创建&#160;CmdExec&#160;作业的权利。&#160; &#60;BR&#62;3)&#160;&#160;&#160;空的或简单的密码。&#160; &#60;BR&#62;4)&#160;&#160;&#160;脆弱的身份验证模式。&#160; &#60;BR&#62;5)&#160;&#160;&#160;授予管理员组过多的权利。&#160; &#60;BR&#62;6)&#160;&#160;&#160;SQL&#160;Server数据目录中不正确的访问控制表(ACL)。&#160; &#60;BR&#62;7)&#160;&#160;&#160;安装文件中使用纯文本的sa密码。&#160; &#60;BR&#62;8)&#160;&#160;&#160;授予guest帐户过多的权利。&#160; &#60;BR&#62;9)&#160;&#160;&#160;在同时是域控制器的系统中运行SQL&#160;Server。&#160; &#60;BR&#62;10)&#160;&#160;所有人（Everyone）组的不正确配置，提供对特定注册表键的访问。&#160; &#60;BR&#62;11)&#160;&#160;SQL&#160;Server&#160;服务帐户的不正确配置。&#160; &#60;BR&#62;12)&#160;&#160;没有安装必要的服务包和安全更新。 &#60;BR&#62;&#160; &#60;BR&#62;Microsoft&#160;提供&#160;MBSA&#160;的免费下载。 &#60;BR&#62;&#160; &#60;BR&#62;&#60;STRONG&#62;3.使用&#160;Windows&#160;身份验证模式。&#60;/STRONG&#62; &#60;BR&#62;　　在任何可能的时候，您都应该对指向&#160;SQL&#160;Server&#160;的连接要求&#160;Windows&#160;身份验证模式。它通过限制对Microsoft&#160;Windows&#174;用户和域用户帐户的连接，保护&#160;SQL&#160;Server&#160;免受大部分&#160;Internet&#160;的工具的侵害，而且，您的服务器也将从&#160;Windows&#160;安全增强机制中获益，例如更强的身份验证协议以及强制的密码复杂性和过期时间。另外，凭证委派（在多台服务器间桥接凭证的能力）也只能在&#160;Windows&#160;身份验证模式中使用。在客户端，Windows&#160;身份验证模式不再需要存储密码。存储密码是使用标准&#160;SQL&#160;Server&#160;登录的应用程序的主要漏洞之一。 &#60;BR&#62;要在&#160;SQL&#160;Server&#160;的&#160;Enterprise&#160;Manager&#160;安装&#160;Windows&#160;身份验证模式，请按下列步骤操作： &#60;BR&#62;1)&#160;展开服务器组。&#160; &#60;BR&#62;2)&#160;右键点击服务器，然后点击属性。&#160; &#60;BR&#62;3)&#160;在安全性选项卡的身份验证中，点击仅限&#160;Windows。&#160; &#60;BR&#62;&#160; &#60;BR&#62;&#60;STRONG&#62;4.隔离您的服务器，并定期备份。&#60;/STRONG&#62; &#60;BR&#62;　　物理和逻辑上的隔离组成&#160;了SQL&#160;Server&#160;安全性的基础。驻留数据库的机器应该处于一个从物理形式上受到保护的地方，最好是一个上锁的机房，配备有洪水检测以及火灾检测/消防系统。数据库应该安装在企业内部网的安全区域中，不要直接连接到&#160;Internet。定期备份所有数据，并将副本保存在安全的站点外地点。 &#60;BR&#62;&#160; &#60;BR&#62;&#60;STRONG&#62;5.分配一个强健的sa密码。&#60;/STRONG&#62; &#60;BR&#62;　　sa帐户应该总拥有一个强健的密码，即使在配置为要求&#160;Windows&#160;身份验证的服务器上也该如此。这将保证在以后服务器被重新配置为混合模式身份验证时，不会出现空白或脆弱的sa。 &#60;BR&#62;要分配sa密码，请按下列步骤操作： &#60;BR&#62;1)&#160;展开服务器组，然后展开服务器。&#160; &#60;BR&#62;2)&#160;展开安全性，然后点击登录。&#160; &#60;BR&#62;3)&#160;在细节窗格中，右键点击SA，然后点击属性。&#160; &#60;BR&#62;4)&#160;在密码方框中，输入新的密码。&#160; &#60;BR&#62;&#160; &#60;BR&#62;&#60;STRONG&#62;6.限制&#160;SQL&#160;Server服务的权限。&#60;/STRONG&#62; &#60;BR&#62;　　SQL&#160;Server&#160;2000&#160;和&#160;SQL&#160;Server&#160;Agent&#160;是作为&#160;Windows&#160;服务运行的。每个服务必须与一个&#160;Windows&#160;帐户相关联，并从这个帐户中衍生出安全性上下文。SQL&#160;Server允许sa&#160;登录的用户（有时也包括其他用户）来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了，那么这些操作系统调用可能被利用来向其他资源进行攻击，只要所拥有的过程（SQL&#160;Server服务帐户）可以对其进行访问。因此，为&#160;SQL&#160;Server&#160;服务仅授予必要的权限是十分重要的。 &#60;BR&#62;我们推荐您采用下列设置： &#60;BR&#62;&#60;BR&#62;1)&#160;SQL&#160;Server&#160;Engine/MSSQLServer &#60;BR&#62;&#60;BR&#62;　　如果拥有指定实例，那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的Windows&#160;域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。 &#60;BR&#62;&#60;BR&#62;2)&#160;SQL&#160;Server&#160;Agent&#160;Service/SQLServerAgent&#160; &#60;BR&#62;&#60;BR&#62;　　如果您的环境中不需要，请禁用该服务；否则请作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。&#160; &#60;BR&#62;重点：&#160;如果下列条件之一成立，那么&#160;SQL&#160;Server&#160;Agent&#160;将需要本地&#160;Windows管理员权限：&#160; &#60;BR&#62;　　　SQL&#160;Server&#160;Agent&#160;使用标准的&#160;SQL&#160;Server&#160;身份验证连接到SQL&#160;Server（不推荐）。&#160; &#60;BR&#62;　　　SQL&#160;Server&#160;Agent&#160;使用多服务器管理主服务器（MSX）帐户，而该帐户使用标准&#160;SQL&#160;Server&#160;身份验证进行连接。&#160; &#60;BR&#62;　　　SQL&#160;Server&#160;Agent&#160;运行非sysadmin固定服务器角色成员所拥有的&#160;Microsoft&#160;ActiveX&#174;脚本或&#160;CmdExec&#160;作业。&#160; &#60;BR&#62;&#60;BR&#62;　　如果您需要更改与&#160;SQL&#160;Serve&#160;r服务相关联的帐户，请使用&#160;SQL&#160;Server&#160;Enterprise&#160;Manager。Enterprise&#160;Manager&#160;将为&#160;SQL&#160;Server&#160;所使用的文件和注册表键设置合适的权限。不要使用&#160;Microsoft&#160;管理控制台的&#34;服务&#34;（在控制面板中）来更改这些帐户，因为这样需要手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft&#160;Windows用户权限。 &#60;BR&#62;　　帐户信息的更改将在下一次服务启动时生效。如果您需要更改与&#160;SQL&#160;Server&#160;以及&#160;SQL&#160;Server&#160;Agent&#160;相关联的帐户，那么您必须使用&#160;Enterprise&#160;Manager&#160;分别对两个服务进行更改。 &#60;BR&#62;&#160; &#60;BR&#62;&#60;STRONG&#62;7.在防火墙上禁用&#160;SQL&#160;Server&#160;端口。 &#60;BR&#62;&#60;/STRONG&#62;　　SQL&#160;Server&#160;的默认安装将监视&#160;TCP&#160;端口&#160;1433&#160;以及UDP端口&#160;1434。配置您的防火墙来过滤掉到达这些端口的数据包。而且，还应该在防火墙上阻止与指定实例相关联的其他端口。 [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;STRONG&gt;1.安装最新的服务包。&lt;/STRONG&gt;&nbsp; &lt;BR&gt;　　为了提高服务器安全性，最有效的一个方法就是升级到&nbsp;SQL&nbsp;Server&nbsp;2000&nbsp;Service&nbsp;Pack&nbsp;3a&nbsp;(SP3a)。 &lt;BR&gt;　　另外，您还应该安装所有已发布的安全更新。 &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;2.使用&nbsp;Microsoft&nbsp;基线安全性分析器（MBSA）来评估服务器的安全性。&lt;/STRONG&gt; &lt;BR&gt;　　MBSA&nbsp;是一个扫描多种&nbsp;Microsoft&nbsp;产品的不安全配置的工具，包括&nbsp;SQL&nbsp;Server&nbsp;和&nbsp;Microsoft&nbsp;SQL&nbsp;Server&nbsp;2000&nbsp;Desktop&nbsp;Engine&nbsp;(MSDE&nbsp;2000)。它可以在本地运行，也可以通过网络运行。该工具针对下面问题对&nbsp;SQL&nbsp;Server&nbsp;安装进行检测： &lt;BR&gt;1)&nbsp;&nbsp;&nbsp;过多的sysadmin固定服务器角色成员。&nbsp; &lt;BR&gt;2)&nbsp;&nbsp;&nbsp;授予sysadmin以外的其他角色创建&nbsp;CmdExec&nbsp;作业的权利。&nbsp; &lt;BR&gt;3)&nbsp;&nbsp;&nbsp;空的或简单的密码。&nbsp; &lt;BR&gt;4)&nbsp;&nbsp;&nbsp;脆弱的身份验证模式。&nbsp; &lt;BR&gt;5)&nbsp;&nbsp;&nbsp;授予管理员组过多的权利。&nbsp; &lt;BR&gt;6)&nbsp;&nbsp;&nbsp;SQL&nbsp;Server数据目录中不正确的访问控制表(ACL)。&nbsp; &lt;BR&gt;7)&nbsp;&nbsp;&nbsp;安装文件中使用纯文本的sa密码。&nbsp; &lt;BR&gt;8)&nbsp;&nbsp;&nbsp;授予guest帐户过多的权利。&nbsp; &lt;BR&gt;9)&nbsp;&nbsp;&nbsp;在同时是域控制器的系统中运行SQL&nbsp;Server。&nbsp; &lt;BR&gt;10)&nbsp;&nbsp;所有人（Everyone）组的不正确配置，提供对特定注册表键的访问。&nbsp; &lt;BR&gt;11)&nbsp;&nbsp;SQL&nbsp;Server&nbsp;服务帐户的不正确配置。&nbsp; &lt;BR&gt;12)&nbsp;&nbsp;没有安装必要的服务包和安全更新。 &lt;BR&gt;&nbsp; &lt;BR&gt;Microsoft&nbsp;提供&nbsp;MBSA&nbsp;的免费下载。 &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;3.使用&nbsp;Windows&nbsp;身份验证模式。&lt;/STRONG&gt; &lt;BR&gt;　　在任何可能的时候，您都应该对指向&nbsp;SQL&nbsp;Server&nbsp;的连接要求&nbsp;Windows&nbsp;身份验证模式。它通过限制对Microsoft&nbsp;Windows&reg;用户和域用户帐户的连接，保护&nbsp;SQL&nbsp;Server&nbsp;免受大部分&nbsp;Internet&nbsp;的工具的侵害，而且，您的服务器也将从&nbsp;Windows&nbsp;安全增强机制中获益，例如更强的身份验证协议以及强制的密码复杂性和过期时间。另外，凭证委派（在多台服务器间桥接凭证的能力）也只能在&nbsp;Windows&nbsp;身份验证模式中使用。在客户端，Windows&nbsp;身份验证模式不再需要存储密码。存储密码是使用标准&nbsp;SQL&nbsp;Server&nbsp;登录的应用程序的主要漏洞之一。 &lt;BR&gt;要在&nbsp;SQL&nbsp;Server&nbsp;的&nbsp;Enterprise&nbsp;Manager&nbsp;安装&nbsp;Windows&nbsp;身份验证模式，请按下列步骤操作： &lt;BR&gt;1)&nbsp;展开服务器组。&nbsp; &lt;BR&gt;2)&nbsp;右键点击服务器，然后点击属性。&nbsp; &lt;BR&gt;3)&nbsp;在安全性选项卡的身份验证中，点击仅限&nbsp;Windows。&nbsp; &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;4.隔离您的服务器，并定期备份。&lt;/STRONG&gt; &lt;BR&gt;　　物理和逻辑上的隔离组成&nbsp;了SQL&nbsp;Server&nbsp;安全性的基础。驻留数据库的机器应该处于一个从物理形式上受到保护的地方，最好是一个上锁的机房，配备有洪水检测以及火灾检测/消防系统。数据库应该安装在企业内部网的安全区域中，不要直接连接到&nbsp;Internet。定期备份所有数据，并将副本保存在安全的站点外地点。 &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;5.分配一个强健的sa密码。&lt;/STRONG&gt; &lt;BR&gt;　　sa帐户应该总拥有一个强健的密码，即使在配置为要求&nbsp;Windows&nbsp;身份验证的服务器上也该如此。这将保证在以后服务器被重新配置为混合模式身份验证时，不会出现空白或脆弱的sa。 &lt;BR&gt;要分配sa密码，请按下列步骤操作： &lt;BR&gt;1)&nbsp;展开服务器组，然后展开服务器。&nbsp; &lt;BR&gt;2)&nbsp;展开安全性，然后点击登录。&nbsp; &lt;BR&gt;3)&nbsp;在细节窗格中，右键点击SA，然后点击属性。&nbsp; &lt;BR&gt;4)&nbsp;在密码方框中，输入新的密码。&nbsp; &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;6.限制&nbsp;SQL&nbsp;Server服务的权限。&lt;/STRONG&gt; &lt;BR&gt;　　SQL&nbsp;Server&nbsp;2000&nbsp;和&nbsp;SQL&nbsp;Server&nbsp;Agent&nbsp;是作为&nbsp;Windows&nbsp;服务运行的。每个服务必须与一个&nbsp;Windows&nbsp;帐户相关联，并从这个帐户中衍生出安全性上下文。SQL&nbsp;Server允许sa&nbsp;登录的用户（有时也包括其他用户）来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了，那么这些操作系统调用可能被利用来向其他资源进行攻击，只要所拥有的过程（SQL&nbsp;Server服务帐户）可以对其进行访问。因此，为&nbsp;SQL&nbsp;Server&nbsp;服务仅授予必要的权限是十分重要的。 &lt;BR&gt;我们推荐您采用下列设置： &lt;BR&gt;&lt;BR&gt;1)&nbsp;SQL&nbsp;Server&nbsp;Engine/MSSQLServer &lt;BR&gt;&lt;BR&gt;　　如果拥有指定实例，那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的Windows&nbsp;域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。 &lt;BR&gt;&lt;BR&gt;2)&nbsp;SQL&nbsp;Server&nbsp;Agent&nbsp;Service/SQLServerAgent&nbsp; &lt;BR&gt;&lt;BR&gt;　　如果您的环境中不需要，请禁用该服务；否则请作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。&nbsp; &lt;BR&gt;重点：&nbsp;如果下列条件之一成立，那么&nbsp;SQL&nbsp;Server&nbsp;Agent&nbsp;将需要本地&nbsp;Windows管理员权限：&nbsp; &lt;BR&gt;　　　SQL&nbsp;Server&nbsp;Agent&nbsp;使用标准的&nbsp;SQL&nbsp;Server&nbsp;身份验证连接到SQL&nbsp;Server（不推荐）。&nbsp; &lt;BR&gt;　　　SQL&nbsp;Server&nbsp;Agent&nbsp;使用多服务器管理主服务器（MSX）帐户，而该帐户使用标准&nbsp;SQL&nbsp;Server&nbsp;身份验证进行连接。&nbsp; &lt;BR&gt;　　　SQL&nbsp;Server&nbsp;Agent&nbsp;运行非sysadmin固定服务器角色成员所拥有的&nbsp;Microsoft&nbsp;ActiveX&reg;脚本或&nbsp;CmdExec&nbsp;作业。&nbsp; &lt;BR&gt;&lt;BR&gt;　　如果您需要更改与&nbsp;SQL&nbsp;Serve&nbsp;r服务相关联的帐户，请使用&nbsp;SQL&nbsp;Server&nbsp;Enterprise&nbsp;Manager。Enterprise&nbsp;Manager&nbsp;将为&nbsp;SQL&nbsp;Server&nbsp;所使用的文件和注册表键设置合适的权限。不要使用&nbsp;Microsoft&nbsp;管理控制台的&quot;服务&quot;（在控制面板中）来更改这些帐户，因为这样需要手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft&nbsp;Windows用户权限。 &lt;BR&gt;　　帐户信息的更改将在下一次服务启动时生效。如果您需要更改与&nbsp;SQL&nbsp;Server&nbsp;以及&nbsp;SQL&nbsp;Server&nbsp;Agent&nbsp;相关联的帐户，那么您必须使用&nbsp;Enterprise&nbsp;Manager&nbsp;分别对两个服务进行更改。 &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;7.在防火墙上禁用&nbsp;SQL&nbsp;Server&nbsp;端口。 &lt;BR&gt;&lt;/STRONG&gt;　　SQL&nbsp;Server&nbsp;的默认安装将监视&nbsp;TCP&nbsp;端口&nbsp;1433&nbsp;以及UDP端口&nbsp;1434。配置您的防火墙来过滤掉到达这些端口的数据包。而且，还应该在防火墙上阻止与指定实例相关联的其他端口。 &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;8.使用最安全的文件系统。&lt;/STRONG&gt; &lt;BR&gt;　　NTFS&nbsp;是最适合安装&nbsp;SQL&nbsp;Server&nbsp;的文件系统。它比&nbsp;FAT&nbsp;文件系统更稳定且更容易恢复。而且它还包括一些安全选项，例如文件和目录&#038;nbsp<br />
;ACL&nbsp;以及文件加密（EFS）。在安装过程中，如果侦测到&nbsp;NTFS，SQL&nbsp;Server&nbsp;将在注册表键和文件上设置合适的&nbsp;ACL。不应该去更改这些权限。&nbsp; &lt;BR&gt;　　通过&nbsp;EFS，数据库文件将在运行&nbsp;SQL&nbsp;Server&nbsp;的帐户身份下进行加密。只有这个帐户才能解密这些文件。如果您需要更改运行&nbsp;SQL&nbsp;Server&nbsp;的帐户，那么您必须首先在旧帐户下解密这些文件，然后在新帐户下重新进行加密。 &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;9.删除或保护旧的安装文件。&lt;/STRONG&gt; &lt;BR&gt;　　SQL&nbsp;Server&nbsp;安装文件可能包含由纯文本或简单加密的凭证和其他在安装过程中记录的敏感配置信息。这些日志文件的保存位置取决于所安装的SQL&nbsp;Server版本。在&nbsp;SQL&nbsp;Server&nbsp;2000&nbsp;中，下列文件可能受到影响：默认安装时&lt;systemdrive&gt;:\Program&nbsp;Files\Microsoft&nbsp;SQL&nbsp;Server\MSSQL\Install文件夹中，以及指定实例的&lt;systemdrive&gt;:\Program&nbsp;Files\Microsoft&nbsp;SQL&nbsp;Server\&nbsp;MSSQL$&lt;Instance&nbsp;Name&gt;\Install文件夹中的sqlstp.log,&nbsp;sqlsp.log和setup.iss &lt;BR&gt;　　如果当前的系统是从&nbsp;SQL&nbsp;Server&nbsp;7.0&nbsp;安装升级而来的，那么还应该检查下列文件：%Windir%&nbsp;文件夹中的setup.iss以及Windows&nbsp;Temp文件夹中的sqlsp.log。 &lt;BR&gt;　　Microsoft发布了一个免费的实用工具&nbsp;Killpwd，它将从您的系统中找到并删除这些密码。 &lt;BR&gt;&nbsp; &lt;BR&gt;&lt;STRONG&gt;10.审核指向&nbsp;SQL&nbsp;Server&nbsp;的连接。 &lt;BR&gt;&lt;/STRONG&gt;　　SQL&nbsp;Server&nbsp;可以记录事件信息，用于系统管理员的审查。至少您应该记录失败的&nbsp;SQL&nbsp;Server&nbsp;连接尝试，并定期地查看这个日志。在可能的情况下，不要将这些日志和数据文件保存在同一个硬盘上。 &lt;BR&gt;要在&nbsp;SQL&nbsp;Server&nbsp;的&nbsp;Enterprise&nbsp;Manager&nbsp;中审核失败连接，请按下列步骤操作： &lt;BR&gt;1)&nbsp;展开服务器组。&nbsp; &lt;BR&gt;2)&nbsp;右键点击服务器，然后点击属性。&nbsp; &lt;BR&gt;3)&nbsp;在安全性选项卡的审核等级中，点击失败。&nbsp; &lt;BR&gt;4)&nbsp;要使这个设置生效，您必须停止并重新启动服务器。&lt;div align=right class=eng style=color:#cccccc&gt;[Edit on 2004-7-16 23:23:39 By Felix]&lt;/div&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felixwoo.com/archives/22/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

