ArcSDE for SQL Server管理

以前博客里面关于ArcSDE for Oracle管理的非常多,这是因为在国内用户中Oracle的数据库至少可以占到70%+,但是SQL Server数据库也是国内的另一大数据库使用对象,但是这块的内容就比较少,下面就简单交流一下ArcSDE for SQL Server管理方面的内容。


不可否认,随着Esri的ArcGIS系列产品的不断升级,或者说ArcSDE产品的的不断演化,ArcSDE软件对不同数据库的区别就越来越少了,除了数据库本身本质的差异意外,在ArcSDE身上已经找不到明显针对不同数据库的区别了,所以说,我们说的管理更多的是针对数据库本身的差异的一些内容,很多东西我会以Oracle做相关对比,这样我们对SQLServer来说的特点就更加的明显。


声明一下:我对SQL server的研究比较少,更多的仅限于ArcSDE for SQL Server方面的知识,如果有内容的偏颇,尽请指正!

系统需求:

每次安装ArcSDE都需要注意系统需求

比如:

  • ArcSDE9.3.1是最后一个支持SQLServer2000和Windows2000
  • ArcSDE9.3.1完全支持SQL Server 2008
  • ArcSDE10.1可以有限度的支持SQL Server2012等

ArcSDE版本支持的SQL Server数据库有的需要SQL Server打上相关的SP补丁

怎么查看补丁:http://blog.csdn.net/linghe301/article/details/6712544

系统需求:ArcSDE10.1 http://resources.arcgis.com/en/help/system-requirements/10.1/index.html#/Microsoft_SQL_Server_Database_Requirements/015100000070000000/


Personal ArcSDE

提起SQLServer,不由要说明一下,桌面自带的ArcSDE,那个需要的SQL Server Express版本这个以前也进行了介绍可以参考:

http://blog.csdn.net/linghe301/article/details/6756766

 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------


ArcSDE安装

关于安装方面,在ArcSDE10.1之后所有数据库基本类似了,但是在以前的版本,不由自主的就会碰到一个界面令用户纠结:

ArcSDE for SQL Server管理_第1张图片


性能或功能方面,两种地理数据库方案类型并没有区别。但两者各有优缺点。请选择最适合于您的系统的用户。


以下是对两种方案类型的比较:
如果在仅支持 Windows身份验证的服务器上运行,那么,创建 dbo 方案地理数据库会大大简化 ArcSDE 的设置和管理,因为将无需专门配置 Windows sde 登录账户。另外,在数据库中映射成 dbo 用户的任何用户都可以执行 ArcSDE 管理任务(如压缩)。


如果您具有限制较为严格的安全模型,则可能需要配置 sde 方案地理数据库。与在服务器范围内通常可以访问到所有数据库的 dbo 用户不同,sde 用户可以被限制为只在特定数据库中具有少量语句权限。
 
dbo 方案地理数据库只能与单一空间数据库模型一同使用。单一空间数据库模型将所有地理数据库表(系统表和用户表)保存在一个数据库中。SQL Server 中的地理数据库推荐使用此模型。不过,它仍支持多重空间数据库实例。此类型地理数据库需要您使用sde 方案地理数据库。


那么什么是单一空间数据库,什么是多重空间数据库呢?

ArcSDE for SQL Server管理_第2张图片

通过上面的图很容易看到,单一空间数据库,就是用户的数据以及SDE的结构在一个database里面,或者说,当一个新的实例下只有一个数据库(SDE),那么这个SDE数据库里面是SDE的Schema,那么用户的数据导入到sde用户下,也就是就一个用户,一个库。


那么多重空间数据库就是分开来存储了,用户可以将自己的数据放在一个新的数据库中,但是相关的信息会在SDE库里面进行注册。


说说单一空间数据库的优点:

•备份和恢复简单
-一次操作备份整个数据库
-只需要恢复一个数据库
•简化了安全管理和用户管理
-对象的安全控制是在数据库层次实现的
-在单个数据库里更容易跟踪用户的授权


看到这大家应该比较熟悉,尤其是经常搞oracle的朋友会特别容易接受,我就是将自己的数据放在另外一个表空间中。是的,Oracle数据库我们鼓励这样做,但是SQlServer数据库我们建议使用第一种也就是单一空间数据库,因为早在ArcGIS9.3版本,Esri官方已经明确说明,单一数据库的性能要比多重数据库的性能要高。


所以,如果非要说明这两个Schema推荐使用哪个?我的建议是sde Schema,没有理由!



 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------


现在好了,ArcSDE10.1建库就没有这个纠结的选项了,用户往往默认的使用sde Schema了(默认勾选,如果想使用dbo,钩掉勾选下,输入相关dbo架构的用户即可)

ArcSDE for SQL Server管理_第3张图片


之所以有上面的区别,这个跟SQL Server数据库与Oracle数据库有本质的区别,因为SQL Server数据库(1)是一个实例下可以有多个数据库(2)

特别说明,(1)和(2)都叫数据库,表明的意思不一样,(1)泛指数据库,如Oracle数据库,DB2数据库,(2)指的是下面的一个一个数据库对象

ArcSDE for SQL Server管理_第4张图片


,而Oracle数据库是一个实例,一个库,不过可以有N个表空间,所以在ArcSDE连接的时候,如果选择SQLServer数据库(PostgreSQL、DB2等)都需要填写database内容。


在ArcSDE9.x经常会碰到的一个错误是:Database user name and current user schema do not match

这个可以参考:http://blog.csdn.net/linghe301/article/details/6423755


SQL Server2008之后,在安装过程中最常见的问题就是密码复杂度的问题,密码需要包含:字母开头、数字、大小写等信息


ArcSDE连接

我们有时候连接ArcSDE往往或看到如下对象:


我们可以看到sde102.DBO.pt,这个是database.Schema.Featureclass

那么什么时候会出现DBO,什么时候会出现SDE呢,也就是通过Sde用户连接的就是SDE Schema,通过sa用户或者操作系统验证的用户登录的都是DBO的架构,还是那句话,本身没有什么区别。

 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------


ArcSDE备份迁移

这里面的方法,我特指的是数据库的方法。

其实关于数据备份恢复容易,迁移比较困难。一般情况下,备份恢复是在同一个环境下,那么迁移是在不同的环境下,不同环境下的对各个方面要求都很高,一点不注意都会有问题,这里我只说明一个小点,就是关于SQLServer数据库一个特点,关于login和user.


ArcSDE for SQL Server管理_第5张图片


我们知道关于SQL Server数据库有一个Login,这个是连接SQL Server实例的名字,还有一个user,这个是连接database的用户,login是认证,user是授权,user必须是login,login不一定是user.

关于SQL Server的备份恢复可以参考:http://blog.csdn.net/linghe301/article/category/773130


SQL Server的实例:

SQLServer分为默认实例和命名实例,在SQL Server安装的界面会有选择

ArcSDE for SQL Server管理_第6张图片

默认实例的名称一般都是:MSSQLSERVER

所以说明这个,大家在直连SQLServer数据库的时候会有需要注意的

ArcSDE10.1之前:

连接对话框实例一项输入:

连接默认实例:sde:sqlserver:<Server Name>

连接命名实例:sde:sqlserver:<Server Name>/<Instance Name>


ArcSDE10.1包含之后

连接对话框实例一项输入:

连接默认实例:<Server Name>

连接命名实例:<Server Name>/<Instance Name>

 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------


ArcSDE SQL操作:

使用Oracle的用户都知道,可以使用Esri提供的空间操作函数来直接使用SQL语句对存储在Oracle的空间数据津操作,这种方法非常简单易懂,那么对SQL Server用户来说也是可以了,但是至少是SQLServer2008 版本之后,以Geometry和geography进行存储才可以,而且相关提供的操作符是微软提供的,所以相关帮助需要查找MSDN了。

相关参考:http://blog.csdn.net/linghe301/article/details/6315712


ArcSDE性能方面:

Esri提供的关于性能方面的文件可以参考

最大程度缓解 SQL Server 中的磁盘 I/O 争用情况
http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/002q00000021000000/ 


将数据文件和日志文件以及临时数据库放在不同的磁盘,并且不要和操作系统的页面交换文件放在同一个磁盘
增加数据文件(data file)初始化尺寸,同时增大数据库文件和日志文件(log file)的递增尺寸   
使用RAID技术和硬件
RAID技术将对磁盘的访问由串行变成了并行
不同的RAID技术是数据安全性和磁盘利用性的折中
增加网络数据包(network packet)的大小
在客户端和SQL Server引擎间传输Image data type数据使用
SQLServer默认的是4K,而SDE默认的是8K
优化TEXT_IN_ROW设置
设为大约80% 的Image data字段数据大小

---------------------------------------------------------------------------------

打开

AUTO_CREATE_STATISTICS

AUTO_UPDATE_STATISTICS

允许SQL Server自动生成和更新统计信息,提高数据库的性能

•关闭

AUTOSHRINK

当25%的数据文件包含了没有用的空间时,SQL Server会自动压缩,阻止这种自动操作,在合适的候,手工压缩

AUTOCLOSE

当最后一个用户断开连接的时候,SQL Server会自动关闭数据库。

阻止这种操作。一方面该进程会消耗资源,另一方面当SDE连接频繁连接和断开时,会严重影响性能。




SQL Server 中的内存调整
http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/002q00000022000000/


不过大家也可以参考关于ArcSDE for SQL Server的分区设置:http://blog.csdn.net/linghe301/article/details/8126653


使用SQL Server Profiler监听ArcSDE查询

http://blog.csdn.net/linghe301/article/details/6669138


 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------



你可能感兴趣的:(ArcSDE for SQL Server管理)