SPS2007数据结构分析一

本文作者通过数据库分析SPS2007(SharePoint Server 2007),探讨了列表、库、网站、网站集的数据存储位置。作者发现列表和库的数据主要存储在AllUserData表中,字段信息以XML形式存储。视图信息则存储在WebParts中的XML文件。此外,文章还涉及了附件、目录和视图的存储结构。通过对数据库的深入研究,证实了所有列表和库都基于统一的数据结构,只是配置不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间在看SPS2007的时候,我从外部感觉在SPS2007中,所有的列表、库的模型以及特征应该是完全一致的,究竟是不是这样呢?我没有时间和能力去阅读大量的文档或反编译程序来看,所以想到通过数据库分析的方式来证实这个问题。

   

首先我们打开安装SPS系统的数据库,看到情况如下:

对应上表我们可以知道凡是Share以及WSS开头的都是SPS建立的数据库。

SharedServices2_DB

  

SharedServices2_Search_DB

  

SharePoint_AdminContent_*

  

SharePoint_Config

  

WSS_Content*

所谓的WSS内容网站集数据库,每一个网站集一个数据库,在安装SPS的时候自动建立一个缺省的网站集,再建立一个个人网站集,以后每建立一个网站集就建立一个这样的数据库

WSS_Search_moss

  

   

其中WSS_Content开头的是每个门户系统单独建立的数据库,我们从这里入手,希望能找到我们需要的东西。

呵呵,其中蓝色标明的那个数据库是昨天新建立的数据库,我们从这里入手比较好办。

首先要找到网站或网站集存储在那里?

我们知道一个新建立的门户本身就是一个网站集,我们看看这个网站集下边有多少网站:

一共5个;

在数据库发现一个【Sites】的表,打开一个记录,有一个【Webs】的表打开6个记录:

报告

门户系统

文档中心

网站

新闻

搜索

对比上述的情况,原来门户系统本身就是一个网站,我们得到如下的资料:

Sites

存储网站集信息

Webs

存储网站信息

AllLists

列表信息

AllUserData

类似列表的用户数据存储

WebParts

存放以下的内容:

1、安装到页面的webpart以及list产生的webpart

2list的视图也记录到了这里。

  

Workflow

工作流实例信息

WorkflowAssociation

工作流流程信息

   

为了验证刚才的分析

我们先建立一个网站看看情况:的确如此,Webs增加了一条记录。

新建立一个网站集,也在Sites中找到一个记录。其中有一个字段设置了启动网站。

我们记录下刚才新建立的网站的id为【30e95f81-889a-457f-9e79-3022d2e70262】

因为作这个分析的初衷是分析列表的情况,所以我们要先找到列表在那里存储的。

发现一个【Lists】的表

新建立一个【胡涛的自定义列表】也找到了这个记录,由于这是分析重点,所以我们提出其字段来分析:

我们记录下这个列表的id【d8777117-b1b5-46c3-a483-29bd6c6000c8】

字段名

类型

为空

说明

tp_WebId

uniqueidentifier

Unchecked

网站id

tp_ID

uniqueidentifier

Unchecked

列表id

tp_Title

nvarchar(255)

Unchecked

列表说明

tp_Created

datetime

Unchecked

创建时间

tp_Modified

datetime

Unchecked

最后修改时间

tp_LastDeleted

datetime

Unchecked

  

tp_DeleteCount

int

Unchecked

  

tp_LastSecurityChange

datetime

Unchecked

  

tp_Version

int

Unchecked

  

tp_Author

int

Checked

  

tp_BaseType

int

Unchecked

  

tp_FeatureId

uniqueidentifier

Checked

  

tp_ServerTemplate

int

Unchecked

  

tp_RootFolder

uniqueidentifier

Unchecked

  

tp_Template

uniqueidentifier

Checked

  

tp_ImageUrl

nvarchar(255)

Unchecked

  

tp_ReadSecurity

int

Unchecked

  

tp_WriteSecurity

int

Unchecked

  

tp_Subscribed

bit

Unchecked

  

tp_Direction

int

Checked

  

tp_Flags

bigint

Unchecked

  

tp_ThumbnailSize

int

Checked

  

tp_WebImageWidth

int

Checked

  

tp_WebImageHeight

int

Checked

  

tp_ItemCount

int

Unchecked

  

tp_NextAvailableId

int

Unchecked

  

tp_Description

ntext

Unchecked

列表说明

tp_EmailInsertsFolder

nvarchar(255)

Checked

  

tp_EmailInsertsLastSyncTime

nvarchar(50)

Checked

  

tp_EmailAlias

nvarchar(128)

Checked

  

tp_DeleteTransactionId

varbinary(16)

Unchecked

  

tp_ScopeId

uniqueidentifier

Unchecked

  

tp_HasFGP

bit

Unchecked

  

tp_HasInternalFGP

bit

Unchecked

  

tp_EventSinkAssembly

nvarchar(255)

Checked

  

tp_EventSinkClass

nvarchar(255)

Checked

  

tp_EventSinkData

nvarchar(255)

Checked

  

tp_MaxRowOrdinal

int

Unchecked

  

tp_Fields

ntext

Checked

基于XML的列表字段描述

tp_ContentTypes

ntext

Checked

  

tp_AuditFlags

int

Checked

  

tp_InheritAuditFlags

int

Checked

  

tp_SendToLocation

nvarchar(512)

Checked

  

tp_ListDataDirty

int

Unchecked

  

tp_CacheParseId

uniqueidentifier

Checked

  

tp_MaxMajorVersionCount

int

Checked

  

tp_MaxMajorwithMinorVersionCount

int

Checked

  

tp_DefaultWorkflowId

uniqueidentifier

Checked

  

那么,下一个问题就是列表的定义存在什么地方的呢?

发现一个AllUserData的表,在其中发现了这个数据的存储,可以明确列表数据是存储在AllUserData中的。

那么列表的字段说明在那里呢?呵呵,利用XML文件存储的描述。

如:

   

   

<FieldRef Name="ContentTypeId"/><Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Type="Text" Name="Title" DisplayName="项目" Required="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Title" FromBaseType="TRUE" ColName="nvarchar1" IMEMode="" MaxLength="255" Version="1" RowOrdinal="0">

<Default/>

</Field><FieldRef Name="_ModerationComments" ColName="ntext1"/><FieldRef Name="File_x0020_Type" ColName="nvarchar2"/><Field Type="Note" DisplayName="说明" Required="FALSE" NumLines="6" RichText="TRUE" RichTextMode="Compatible" Sortable="FALSE" IMEMode="inactive" ID="{e762be22-ce63-4f35-93c0-03fd776d0b64}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x8bf4__x660e_" Name="_x8bf4__x660e_" ColName="ntext2" RowOrdinal="0" Version="1"/><Field Type="DateTime" DisplayName="日期1" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{d1ca0850-6c1a-4ef3-9058-5c798b3fbc49}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_1" Name="_x65e5__x671f_1" ColName="datetime1" RowOrdinal="0" Version="1">

<Default>[today]</Default>

</Field><Field Type="DateTime" DisplayName="日期2" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{42d37052-8b65-448a-8711-0b0bfca372f9}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_2" Name="_x65e5__x671f_2" ColName="datetime2" RowOrdinal="0" Version="1">

<Default>[today]</Default>

</Field><Field Type="DateTime" DisplayName="日期3" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{c778523e-0da6-4a3b-b5de-c537938d63c4}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_3" Name="_x65e5__x671f_3" ColName="datetime3" RowOrdinal="0" Version="1">

<Default>[today]</Default>

</Field><Field Type="DateTime" DisplayName="日期4" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{892ddce7-b9d0-4cd1-a07b-d98f8031c4e1}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_4" Name="_x65e5__x671f_4" ColName="datetime4" RowOrdinal="0" Version="1">

<Default>[today]</Default>

</Field><Field Type="DateTime" DisplayName="日期5" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{26d8e9df-b5b1-4807-bb2c-547c79f9e0fb}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_5" Name="_x65e5__x671f_5" ColName="datetime5" RowOrdinal="0" Version="1">

<Default>[today]</Default>

</Field><Field Type="DateTime" DisplayName="日期6" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{20672267-48a5-4aa2-8574-f8906646278b}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_6" Name="_x65e5__x671f_6" ColName="datetime6" RowOrdinal="0" Version="1">

<Default>[today]</Default>

</Field><Field Name="_x65e5__x671f_7" FromBaseType="FALSE"

Type="DateTime" DisplayName="日期7" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{936061e8-8bf8-4be4-8781-38c858263b51}" Version="2" StaticName="_x65e5__x671f_7" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" ColName="datetime7" RowOrdinal="0">

<Default>[today]</Default>

</Field><Field Type="DateTime" DisplayName="日期8" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{cf96fcce-0ab4-45b8-85d4-54b3fbd047c4}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_8" Name="_x65e5__x671f_8" ColName="datetime8" RowOrdinal="0" Version="1">

<Default>[today]</Default>

</Field><Field Type="DateTime" DisplayName="日期9" Required="FALSE" Format="DateOnly" IMEMode="inactive" ID="{529799a1-8a04-49fb-848b-1fabeca94742}" SourceID="{d8777117-b1b5-46c3-a483-29bd6c6000c8}" StaticName="_x65e5__x671f_9" Name="_x65e5__x671f_9" ColName="datetime1" RowOrdinal="1" Version="1">

<Default>[today]</Default>

</Field><Field ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" ReadOnly="TRUE" Type="Computed" Name="LinkTitleNoMenu" DisplayName="项目" Dir="" DisplayNameSrcField="Title" AuthoringInfo="(链接到项目)" EnableLookup="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitleNoMenu" FromBaseType="TRUE">

<FieldRefs>

<FieldRef Name="Title"/>

<FieldRef Name="LinkFilenameNoMenu"/>

</FieldRefs>

<DisplayPattern>

<IfEqual>

<Expr1>

<LookupColumn Name="FSObjType"/>

</Expr1>

<Expr2>1</Expr2>

<Then>

<Field Name="LinkFilenameNoMenu"/>

</Then>

<Else>

<HTML><![CDATA[<a οnfοcus="OnLink(this)" href="]]></HTML>

<URL/>

<HTML><![CDATA[" ONCLICK="GoToLink(this);return false;" target="_self">]]></HTML>

<Column HTMLEncode="TRUE" Name="Title" Default="(无标题)"/>

<IfEqual>

<Expr1>

<GetVar Name="ShowAccessibleIcon"/>

</Expr1>

<Expr2>1</Expr2>

<Then>

<HTML><![CDATA[<img src="http://www.agilelabs.cn/_layouts/images/blank.gif" mce_src="http://www.agilelabs.cn/_layouts/images/blank.gif" class="ms-hidden" border=0 width=1 height=1 alt="]]></HTML>

<HTML>使用 Shift+Enter 可打开菜单(新窗口)。</HTML>

<HTML><![CDATA[">]]></HTML>

</Then>

</IfEqual>

<HTML><![CDATA[</a>]]></HTML>

<IfNew>

<HTML><![CDATA[<IMG src="http://www.agilelabs.cn/_layouts/2052/images/new.gif" mce_src="http://www.agilelabs.cn/_layouts/2052/images/new.gif" alt="]]></HTML>

<HTML>新建</HTML>

<HTML><![CDATA[">]]></HTML>

</IfNew>

</Else>

</IfEqual>

</DisplayPattern>

</Field><Field ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" ReadOnly="TRUE" Type="Computed" Name="LinkTitle" DisplayName="项目" DisplayNameSrcField="Title" ClassInfo="Menu" AuthoringInfo="(链接到带编辑菜单的项目)" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitle" FromBaseType="TRUE">

<FieldRefs>

<FieldRef Name="Title"/>

<FieldRef Name="LinkTitleNoMenu"/>

<FieldRef Name="_EditMenuTableStart"/>

<FieldRef Name="_EditMenuTableEnd"/>

</FieldRefs>

<DisplayPattern>

<FieldSwitch>

<Expr>

<GetVar Name="FreeForm"/>

</Expr>

<Case Value="TRUE">

<Field Name="LinkTitleNoMenu"/>

</Case>

<Default>

<Field Name="_EditMenuTableStart"/>

<SetVar Name="ShowAccessibleIcon" Value="1"/>

<Field Name="LinkTitleNoMenu"/>

<SetVar Name="ShowAccessibleIcon" Value="0"/>

<Field Name="_EditMenuTableEnd"/>

</Default>

</FieldSwitch>

</DisplayPattern>

</Field>

   

AllData表有一个非常有意思的事情,就是针对SPS要使用的数据类型,针对一种类型预算设置了很多的字段,比如日期型设置了8个,如果超过了8个,则采用复制一条记录的方式来处理,第二个字段就存储的第二个记录的第一个字段里边。即使删除多的字段,扩展的记录也不会消失了。

   

现在可以看看,附件在什么地方?看到一个【AllDocs】目录,新增加附件以后,确实是存放到这里的。

   

在列表中可以建立目录,目录数据存放在那里呢?还是存放在AllUserData中的。

下一个重要的问题就是视图,视图存放在那里呢?

增加一个名为【new】只有一个字段的视图,按照刚才的分析,可能是采用XML方式存储的,在那里呢?发现文档库表增加了一个名为【new.aspx】的记录,但是比较new.aspx和allitem.aspx发现内容是一样的,仅仅是页面的框架描述。

那么视图存放在什么地方呢?呵呵,通过张文韬的分析,原来发现在【WebParts】里边存储的XML文件,事例如下:

<ViewFields>

<FieldRef Name="Attachments"/>

<FieldRef Name="DocIcon"/>

<FieldRef Name="LinkTitle"/>

<FieldRef Name="_x8bf4__x660e_"/>

<FieldRef Name="_x65e5__x671f_1"/>

<FieldRef Name="_x65e5__x671f_2"/>

<FieldRef Name="_x65e5__x671f_3"/>

<FieldRef Name="_x65e5__x671f_4"/>

<FieldRef Name="_x65e5__x671f_5"/>

<FieldRef Name="_x65e5__x671f_6"/>

<FieldRef Name="_x65e5__x671f_7"/>

<FieldRef Name="_x65e5__x671f_8"/>

</ViewFields>

   

<ViewFields>

<FieldRef Name="DocIcon"/>

</ViewFields><Query/><Aggregations Value="Off"/><RowLimit Paged="TRUE">100</RowLimit>

   

本来没有太多的信心继续,这样可以继续完成所谓的《SPS2007列表体系分析了》

   

我们去分析一下一个新建立的网站集在【WebParts】中有那些记录?

通过SQL查询,看到21个记录,我去网站集新建立一个网站看看情况。新建立网站后,记录变成了26个。

删除主页上缺省的图象Pasrt记录没有变化,增加一个Part,增加了一个记录。

肯定的一个WebPart要放到一个页面上,这个表中也有tp_PageUrlID,我们通过对比发现这个网站的主页的id值为"A8E8C4DA-1996-4F68-BC73-A54B6D4023CE",这又是那个表的id呢?从昨天的分析来看应该是Alldocs,去看看。确实找到了这个记录,说明问题了。

我们搜索的范围更加减小了。

通过搜索,确实主页上存在过3个webpart,所以有三个记录

   

通过关闭已经添加的webprt,我们发现tp_IsIncluded字段的作用,0表示没有不显示在页面上,1表示显示在页面上,如果一个WebPart添加到页面在关闭掉就是这样处理的,关闭掉以后的记录应该是永远都存在。

   

现在我们要做的是增加一个自定义列表,看看webparts的记录变化情况。

发现新增4个记录,分别是怎么回事呢?找出这4条记录,找到这四个记录,经过分析,这四个记录是一般自定义列表的新增,编辑,显示和所有内容列表的内容。

   

现在把这个列表放到主页上,看看WebParts的记录变化情况。

增加了一个记录,我们再次添加这个列表看看情况。

修改其中一个的当前视图,发现tp_view字段有内容了。

更改另外一个部件的视图为简要视图,其tp_view字段也有内容了,如果选择所有项目视图,结果这个字段的内容由为空了。

   

为了加快进度,赶快作一个讨论来研究一下吧

新建立一个讨论,发现这个网站集下的在AllLists中的记录增加一个。

在AllDocs中增加了10个记录:

内容为文件夹以及aspx页面(6个aspx文件,4个目录)。

   

在webparts中有针对这个讨论列表的6个记录,3个为列表视图,3个操作视图。

   

现在需要观察AllListData表了

查询基于这个讨论的内容,记录为0。

增加一个讨论,发现1个记录,增加一个回复,有两个记录,发现一些内容,不过不过瘾,在针对答复给一个答复。

   

这是tp_ThreadIndex字段的情况

0x01C92A31423C1843B1D1B3F344C4A1C989F5047C4E7D

0x01C92A31423C1843B1D1B3F344C4A1C989F5047C4E7D0000133CC6

0x01C92A31423C1843B1D1B3F344C4A1C989F5047C4E7D0000133CC60000273FEC

从这里可以发现另外一种树型结构的数据设计方式,是否有意义就不知道了。

呵呵,和卢彦、吴庆伟讨论这个事情,说是这样的设计方式在程序编制的时候非常方便,但是问题是如果使用不同的数据库,可能就麻烦了,如果有的数据库不支持取字符串的函数,就不得行了。同时这样的方式可能导致大量的全表扫描。

   

   

再增加一个新的讨论【毛泽东是大救星】发现Alldocs中也有相应的记录,讨论的主题是建立一个一个目录,为什么是这样设计呢?

查询自定义列表也有这样的问题,联想到前两天分析的自定义列表等可以建立子目录,可能这样作就形成了一个有效的目录体系。

   

附件存放在那里?

为自定义列表增加一个附件,发现AllDocs增加了2个记录,一个是新建立的目录,一个是上传的文件。在增加一个附件,增加一个记录。

为没有附件的自定义列表项目增加附件,AllDocs增加了2个记录,一个是新建立的目录,一个是上传的文件。

为自定义列表项目增加附件增加同名附件出错,这点从数据结构是可以看到的。

   

建立一个文档库来分析一下情况。

AllLists增加了一条记录。

AllListData没有增加记录

AllDocs增加内容 如下:

sites/hts/oldht

DocLib

1

sites/hts/oldht/DocLib

Forms

1

sites/hts/oldht/DocLib/Forms

AllItems.aspx

0

sites/hts/oldht/DocLib/Forms

Combine.aspx

0

sites/hts/oldht/DocLib/Forms

DispForm.aspx

0

sites/hts/oldht/DocLib/Forms

Document

1

sites/hts/oldht/DocLib/Forms

EditForm.aspx

0

sites/hts/oldht/DocLib/Forms

repair.aspx

0

sites/hts/oldht/DocLib/Forms

template.doc

0

sites/hts/oldht/DocLib/Forms

Upload.aspx

0

sites/hts/oldht/DocLib/Forms

WebFldr.aspx

0

为文档库上载一个文档

AllListData增加一个记录

AllListdocs增加一个记录

   

到这里,不管以前SPS2003是怎么设计的,在SPS2007中,确实正如我前段时间设想的那样,所有的列表和库都是一种列表和库的表现体,只是结构、规则不一样而已。

大家可以对比一下下表和实际看到的目录情况,不难发现SPS2007就是利用AllDocs构建了一个资源目录体系。

sites/hts

oldht

2

sites/hts/oldht

_catalogs

1

sites/hts/oldht

_private

1

sites/hts/oldht

_vti_pvt

1

sites/hts/oldht

default.aspx

0

sites/hts/oldht

DocLib

1

sites/hts/oldht

images

1

sites/hts/oldht

Lists

1

sites/hts/oldht

m

1

sites/hts/oldht/_catalogs

masterpage

1

sites/hts/oldht/_catalogs/masterpage

default.master

0

sites/hts/oldht/_catalogs/masterpage

Forms

1

sites/hts/oldht/_catalogs/masterpage/Forms

AllItems.aspx

0

sites/hts/oldht/_catalogs/masterpage/Forms

DispForm.aspx

0

sites/hts/oldht/_catalogs/masterpage/Forms

EditForm.aspx

0

sites/hts/oldht/_catalogs/masterpage/Forms

MasterPage

1

sites/hts/oldht/_catalogs/masterpage/Forms

Upload.aspx

0

sites/hts/oldht/DocLib

Forms

1

sites/hts/oldht/DocLib

无标题.jpg

0

sites/hts/oldht/DocLib/Forms

AllItems.aspx

0

sites/hts/oldht/DocLib/Forms

Combine.aspx

0

sites/hts/oldht/DocLib/Forms

DispForm.aspx

0

sites/hts/oldht/DocLib/Forms

Document

1

sites/hts/oldht/DocLib/Forms

EditForm.aspx

0

sites/hts/oldht/DocLib/Forms

repair.aspx

0

sites/hts/oldht/DocLib/Forms

template.doc

0

sites/hts/oldht/DocLib/Forms

Upload.aspx

0

sites/hts/oldht/DocLib/Forms

WebFldr.aspx

0

sites/hts/oldht/Lists

aaaa

1

sites/hts/oldht/Lists

List

1

sites/hts/oldht/Lists

List1

1

sites/hts/oldht/Lists/aaaa

1_.000

0

sites/hts/oldht/Lists/aaaa

2_.000

0

sites/hts/oldht/Lists/aaaa

AllItems.aspx

0

sites/hts/oldht/Lists/aaaa

Attachments

1

sites/hts/oldht/Lists/aaaa

DispForm.aspx

0

sites/hts/oldht/Lists/aaaa

EditForm.aspx

0

sites/hts/oldht/Lists/aaaa

Item

1

sites/hts/oldht/Lists/aaaa

NewForm.aspx

0

sites/hts/oldht/Lists/aaaa/Attachments

1

1

sites/hts/oldht/Lists/aaaa/Attachments

2

1

sites/hts/oldht/Lists/aaaa/Attachments/1

256406545.jpg

0

sites/hts/oldht/Lists/aaaa/Attachments/1

无标题.jpg

0

sites/hts/oldht/Lists/aaaa/Attachments/2

无标题.jpg

0

sites/hts/oldht/Lists/List

1_.000

0

sites/hts/oldht/Lists/List

2_.000

0

sites/hts/oldht/Lists/List

3_.000

0

sites/hts/oldht/Lists/List

Attachments

1

sites/hts/oldht/Lists/List

DispForm.aspx

0

sites/hts/oldht/Lists/List

EditForm.aspx

0

sites/hts/oldht/Lists/List

Item

1

sites/hts/oldht/Lists/List

NewForm.aspx

0

sites/hts/oldht/Lists/List

nnn.aspx

0

sites/hts/oldht/Lists/List1

AllItems.aspx

0

sites/hts/oldht/Lists/List1

Attachments

1

sites/hts/oldht/Lists/List1

Discussion

1

sites/hts/oldht/Lists/List1

DispForm.aspx

0

sites/hts/oldht/Lists/List1

EditForm.aspx

0

sites/hts/oldht/Lists/List1

Flat.aspx

0

sites/hts/oldht/Lists/List1

Message

1

sites/hts/oldht/Lists/List1

NewForm.aspx

0

sites/hts/oldht/Lists/List1

Threaded.aspx

0

sites/hts/oldht/Lists/List1

毛泽东是大救星

1

sites/hts/oldht/Lists/List1

胡涛是好人

1

sites/hts/oldht/Lists/List1/胡涛是好人

2_.000

0

sites/hts/oldht/Lists/List1/胡涛是好人

3_.000

0

sites/hts/oldht/m

default.aspx

0

   

   

到这里,基于开头提出的设想得到了证实,这些分析内容在以后的分析中肯定就有用了。

   

   

我拷,WSS网站集数据库中70多张表居然没有一个关系。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值