九个简单SEO步骤使网站对搜索引擎更友好

  1. 您的网站需要把重点放在特定的位置。
  2. 你需要好好设计元标记(Meta tags)的keywords,尽管谷歌不再看重该Meta,但其他一些主要的搜索引擎仍然还在使用。
  3. 您的网站应该有主要的关键字,并使用每个网页应放5至10个关键字,紧紧集中在该特定网页的主题附近。
  4. 内容仍是主要的。写得很好,有重点内容是至关重要的。
  5. 页面标题(title)必须包括您的关键字。
  6. 网页内容应包括标题和副标题,以方便读者浏览网页。请务必这些标题中包含您的关键字。
  7. 大多数人在网络上是为了搜索信息。如果你不给他们任何有价值的内容,即使SEO做的再好,他们也会离开你的网站。
  8. 在可能的情况下链接里面包含关键词。
  9. 在不同浏览器( Firefox , Internet Explorer,等等)检查您的网站以确保显示正确。

将无分区表转换为已分区表(Convert a nonpartitioned table to a partitioned table)

前些天我曾举例说了一下如何给SQL Server 2005数据库进行分区,现在介绍一下如何将现有库的无分区表转换为已分区表。

在SQL Server中,我们可以通过以下两种方式将无分区表转换为已分区表:

一种方式是通过使用 CREATE INDEX 语句对表创建已分区聚集索引。此操作类似于对任一表创建聚集索引,因为 SQL Server 实质上将删除表并以聚集索引格式重新创建该表。如果已经对表应用了某个已分区聚集索引,则可以使用带有 DROP EXISTING = ON 子句的 CREATE INDEX 删除该索引并以某种分区方案重新生成该索引。

例如:如果前文中我们建表时没有指定表PT_Date分区,我们现在可以通过下面的SQL将其转移到Month_Scheme方案中

CREATE CLUSTERED INDEX INDEX_NAME ON PT_Date([Month]) WITH (DROP_EXISTING=ON)
ON [Month_Scheme]([Month])
 
另一种方式是使用 Transact-SQL ALTER TABLE SWITCH 语句将表中的数据切换到只有一个分区的按范围分区的表中。此已分区表在转换发生之前必须已经存在,并且该表的单个分区必须为空。

第二种方法限制多多,而且也不利于已有数据平滑过渡,这里就不把sql语句写出来了。

IIS W3C 扩展日志简单说明

W3C扩展日志文件格式是IIS(Microsoft IIS)的默认日志格式,其内容编码为默认的ASCII文本。你可以通过IIS管理器选择各种不同的字段包含在这种日志文件内,这样可以使你的日志内容更加人性化。其实系统是通过HTTP.sys句柄来处理W3C扩展日志的,W3C内容格式完全是通过读取HTTP.sys的内核缓存进行筛选获取的。

下表中列出各种可选字段(“字段标识”列为实际参数名)及其描述,并通过Default列记录该字段是否默认被‘包含’了。

字段 字段标识 描述 Default(Y/N)
日期 date 动作发生时的日期。 Y
时间 time 动作发生时的时间(默认为UTC标准)。 Y
客户端IP地址 c-ip 访问服务器的客户端IP地址。 Y
用户名 cs-username 通过身份验证的访问服务器的用户名。不包括匿名用户(用‘-’表示)。 Y
服务名 s-sitename 客户所访问的Internet服务名以及实例号。 N
服务器名 s-computername 产生日志条目的服务器的名字。 N
服务器IP地址 s-ip 产生日志条目的服务器的IP地址。 Y
服务器端口 s-port 服务端提供服务的传输层端口。 Y
方法 cs-method 客户端执行的行为(主要是GET与POST行为)。 Y
URI Stem cs-uri-stem 被访问的资源,如Default.asp等。 Y
URI Query cs-uri-query 客户端提交的参数(包括GET与POST行为)。 Y
协议状态 sc-status 用HTTP或者FTP术语所描述的、行为执行后的返回状态。 Y
Win32状态 sc-win32-status 用Microsoft Windows的术语所描述的动作状态。 N
发送字节数 sc-bytes 服务端发送给客户端的字节数。 N
接受字节数 cs-bytes 服务端从客户端接收到的字节数。 N
花费时间 time-taken 执行此次行为所消耗的时间,以毫秒为单位。 N
协议版本 cs-version 客户端所用的协议(HTTP、FTP)版本。对HTTP协议来说是HTTP 1.0或者HTTP 1.1。 N
主机 cs-host 客户端的HTTP报头(host header)信息。 N
用户代理 cs(User-Agent) 客户端所用的浏览器版本信息。 Y
Cookie cs(Cookie) 发送或者接受到的cookie内容。 N
Referrer cs(Referer) 用户浏览的前一个网址,当前网址是从该网址链接过来的。 N
协议底层状态 sc-substatus 协议底层状态的一些错误信息。 Y

关于status codes字段的更多详细资料请浏览:http://support.microsoft.com/kb/318380

谷歌资讯改版了

谷歌资讯改版了,不过除了页面居中以外没有发现有什么改动。 中国的网民看惯了新浪、搜狐,也许让谷歌也体会到了,中国网民喜欢页面居中的风格,呵呵,纯属猜测:)

世界地球日(World Earth Day)



每年的 4 月 22 日是世界地球日,今年第 40 个世界地球日的主题是 “认识地球,保障发展 —— 了解我们的家园深部”。

用 SQL 语句对一行数据拆分成多行的方法

有时候我们也许对一行数据拆分成多行的操作,例如:
Col1        COl2
----------- ------------
1 a,b,c
2 d,e
3 f
拆分成
 Col1        COl2
----------- -----
1 a
1 b
1 c
2 d
2 e
3 f
 下面给出几个经常用到的方法:
 SQL2000用辅助表:
if object_id('Tempdb..#Num') is not null
drop table #Num
go
select top 100 ID=Identity(int,1,1) into #Num from syscolumns a,syscolumns b
Select
a.Col1,COl2=substring(a.Col2,b.ID,charindex(',',a.Col2+',',b.ID)-b.ID)
from
Tab a,#Num b
where
charindex(',',','+a.Col2,b.ID)=b.ID --也可用 substring(','+a.COl2,b.ID,1)=','
SQL2005用Xml:
select
a.COl1,b.Col2
from
(select Col1,COl2=convert(xml,'<root><v>'+replace(COl2,',','</v><v>')+'</v></root>') from Tab)a
outer apply
(select Col2=C.v.value('.','nvarchar(100)') from a.COl2.nodes('/root/v')C(v))b
SQL05用CTE:

;with roy as
(select Col1,COl2=cast(left(Col2,charindex(',',Col2+',')-1) as nvarchar(100)),Split=cast(stuff(COl2+',',1,charindex(',',Col2+','),'') as nvarchar(100)) from Tab
union all
select Col1,COl2=cast(left(Split,charindex(',',Split)-1) as nvarchar(100)),Split= cast(stuff(Split,1,charindex(',',Split),'') as nvarchar(100)) from Roy where split>''
)
select COl1,COl2 from roy order by COl1 option (MAXRECURSION 0)


今天抽时间修改了一下Blogger的模板

可以说这次修改完全是为了页面SEO,把最近发表的文章都提了出来,然后把日志存档的链接也都加了进来。

不知道效果怎么样,只能慢慢等待。

这是Blogger的robots.txt文件内容:

User-agent: Mediapartners-Google
Disallow:

User-agent: *
Disallow: /search

Sitemap: http://www.cqun.com/feeds/posts/default?orderby=updated
以前用labels做网站导航,看了robots.txt文件才知道特错特错了,要是你也再用Blogger,那你就注意了。

用 VSS 解决 SQL SERVER 2005 数据库的版本控制问题

打开VS2008,

  1. 在"文件"菜单上指向"新建",再单击"项目"。
  2. 将出现"新建项目"对话框。
  3. 在"项目类型"中,展开"数据库项目"节点,然后单击"Microsoft SQL Server"。
  4. 在"模板"中,单击与要创建的数据库版本(Microsoft SQL Server 2000 或 SQL Server 2005)相对应的项目模板。
  5. 在"名称"框中,键入要赋予项目的名称。
  6. 在"位置"框中,键入项目创建位置的完整路径。还可以单击"浏览"来搜索该路径。
  7. 选中"添加到源代码管理"复选框,然后单击"确定"。

将用指定的参数创建数据库项目。当系统提示您时,按照版本控制软件的说明将项目置于版本控制之下。

此时数据库项目已置于版本控制之下,但是它可能尚未签入,具体取决于您使用的版本控制系统。

未能加载文件或程序集 system.web.extensions解决方法

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"或它的某一个依赖项。系统找不到指定的文件。

很明显的错误是缺少程序集.
解决办法:
1,如果你的程序运行在你能控制的服务器上,那么安装asp.net ajax就行了,这是System.Web.Extensions等dll做为GAC部署;
2,如果你的程序运行在虚拟主机上(无权安装程序),那么需要把System.Web.Extensions.dll和System.Web.Extensions.Design.dll
(通常在C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025目录下)2个dll复制到你的web程序的bin目录下就行了,这是应用程序级别的部署。

Power Designer 反响工程 SQL Server 2005

在使用Power Designer反向工程时,如果数据库类型选择为"SQL Server
2005"时,就无法查询到Tables列表,报错"未能准备语句SQLSTATE=37000";如果将数据库类型改选为"SQL Server
7"时,可以执行反向工程。

这个问题是怎么出现的呢?在配置ODBC的时候,连点两个"下一步"按钮后,在第3个页面中将"更改默认的数据库为"复选框选中,并从下面的数据库列表中选择你要Reverse的数据库,就会出现这个问题。

经朋友指点:如果取消"更改默认的数据库为"复选框的选中状态,问题解决!!!

今天发现我的 Blog PR 值变成 1 了

GooglePR值即PageRank,它是google搜索排名算法中的一个组成部分,级别从1到10级,10级为满分,PR值越高说明该网页在搜索排名中的地位越重要,也就是说,在其他条件相同的情况下,PR值高的网站在google搜索结果的排名中有优先权。