惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - 寒蝉

ArcGIS Geodatabase版本控制机制的学习总结 ARCGIS 10.1 发布服务问题以及注意事项汇总 关于项目外包的一些总结 ArcGIS与SuperMap的使用比较(1) 信息系统项目管理师之论文备考 信息系统项目管理师之选择题、案例分析题备考 信息系统项目管理师备考指南 把时间当作朋友(第一版)笔记 绩效管理培训总结 如何部署互动百科的开源wiki建站系统 如何更好的认识并改造自己 成功软件项目管理的奥秘—读书笔记(入门篇与设定目标) - 寒蝉 写在开博3年之际 [转]生命是一种长期而持续的积累过程 - 寒蝉 [GIS平台-MapGuide] 学习链接 - 寒蝉 [EPANET][翻译]使用EPANET开发包(1):开发库使用流程与导入文件格式介绍 [EPANET][翻译]如何使用EPANET软件进行简单的水力分析 - 寒蝉 [EPANET][翻译]认识EPANET对象集与度量衡 管网水力建模资料汇集 - 寒蝉
ARCGIS10.1 GeoDatabase深入理解:客户端连接与退出地理数据库时系统表的初始化
寒蝉 · 2014-03-19 · via 博客园 - 寒蝉

平台软件:ARCIGS10.1 ,SQL Server2008R2

目的:了解客户端在连接arcgis 空间地理数据库后,地理数据库会做些什么样的初始化工作

准备工作:

1.准备好数据库日志文件查看工具,通过日志查看工具可以查看对数据库的详细加载过程,本文采用ApexSQL Log 2013工具,目前该工具有试用版,挺好用的。这个

工具可以用来做数据库恢复。

2.准备好一份空间数据库

前提条件:

1.本测试没有包含采用版本机制的情况

2.为了尽量保证测试的单纯性,数据库全部放在本地,没有其他任何人连接。

3.测试连接采用了winform的桌面客户端,没有测试WEB端或手机端的连接,这个以后再测。

步骤:

启动过程:


1.启动一个客户端,并连接地理数据库,通过ApexSQL Log分析数据库的.ldf文件,得出如下记录:(客户端登录连接时间为15:41分)

image

通过上述操作列表可以看出,地理数据库后台先后操作了SDE_object_ids、SDE_process_information、SDE_state_locks、SDE_table_locks四张表。分别执行Update与Insert操作,这些操作

可以理解为:创建连接——保存连接信息——初始化状态表——初始化要素加载表

这四张表在ARCGIS的帮助文档中可以看到其主要含义:(http://help.arcgis.com/zh-cn/arcgisserver/10.0/help/arcgis_server_java_help/index.html#//002p00000085000000

在本次测试中,当发生连接时这四张表的数据如下:

image

此处,数据库中插入的记录为:

image

可以看到类型为connection

image

这张表主要记录连接者的信息,在退出后,对应的记录将会被删除

image

数据库中的记录为:

image

image

image

可以看出四个地理要素都是共享模式(S)

通过registration_id字段,可以在sde_table_registry中查出初始化了哪些地理要素,在这里10,23,24,25都是对应的地理要素的ID

image

从这个表可以详细看出加载了哪些图层。

退出过程:


image

从退出来看,执行了逆向的删除操作,从表锁定记录中、状态记录中、客户端进程中删除已经断开的连接信息。

只有SDE_object_ids表中的数据没有删除,每次只执行了更新操作。

总结


通过对加载过程与退出过程的了解,知道了地理数据库的几张表的协同关系以及他们所起的作用。