中国地图
GIS探索者
遥感影像纠正
GIS论坛
网站首页| GIS论坛 |新闻动态 | 技术专栏 | GIS书籍 | 资源下载 | 求职招聘 | 研究生考试 | GIS博客 | GIS空间站
欢迎光临GIS空间站!   网站地图
  专栏导航:| ArcGIS | MapInfo | TopMap | 地理信息 | 遥感 | GPS | 测绘 | WebGIS | LBS | 前沿 | 数据库 | 开发 | 行业应用
  推荐栏目:| AO开发 | 业界动态 | GIS资源 | 招聘信息 | 求职简历 | 共享软件 | 电子书籍 | 研究生考题 | 电子期刊 | GIS论文
您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> 文章正文

ArcSDE空间数据库恢复简要说明

作者:3echo    文章来源:http://www.cnblogs.com/3echo/    点击数:    更新时间:2007-3-2
TopMap活动

注:此简要说明仅适合于ArcSDE同版本之间的数据库恢复;

先决条件:已备份了原有SDE空间数据库。如备份Sql Server2000ArcSDE9.1版本的SDE数据库文件(sdedata.mdfsdelog.ldf)。

重装ArcSDE for SQLServer后,需将它恢复过来。操作步骤如下:

1、分离SDE数据库:

2、附加SDE数据库:

选择备份的数据文件,如先前备份的sdedata.mdfsdelog.ldf,指定数据库所有者为sa

3、统一SDE用户登录映射

A. 两个服务器上都有SDE用户,但是两者的SDE用户具有不同的标识

当恢复SDE数据库至新的服务器后,sde数据库中的sde用户的SIDmaster数据库中dbo.sysxlogins表中的sde登录名的SID不同,比如:

Use sde

go

Select SID from sysusers where name = 'sde'

Use master

go

select SID from sysxlogins where name = 'sde'

 

SID

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

0x76695419BFAED41184FD00C04F8D0451

1 rows affected

SID

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

0xEDDFCA8E56B0D411850000C04F8D0451

1 rows affected

此时必须统一两个表中sde用户的SID标识,运行"sp_change_users_login" 存储过程,示例如下:

Use sde

go

sp_change_users_login 'update_one','sde','sde'

运行上述的SID查询来验证修改结果:

0xEDDFCA8E56B0D411850000C04F8D0451

0xEDDFCA8E56B0D411850000C04F8D0451

可以看出修改后两个表中sde用户的SID标识完全一致,此时就可以启动ArcSDE for SQLServer的服务来使用了。

B. 目标服务器上还没有SDE用户

这种情形是指目标服务器上还没有sde登录用户,此时执行上述的SID查询,结果如下:

Use sde

go

Select SID from sysusers where name = 'sde'

Use master

go

select SID from sysxlogins where name = 'sde'

 

SID

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

0x76695419BFAED41184FD00C04F8D0451

1 rows affected

SID

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

0 rows affected

要矫正这种情况,需要首先到目标服务器中添加sde登录用户,但是不要将sde数据库的权限授予sde用户。添加登录用户,使用"sp_addlogin"存储过程和在企业管理器中使用登录管理工具。比如:

sp_addlogin 'sde','go','sde'

然后需要运行 "sp_change_users_login" 存储过程来统一masterdbo.sysxlogins表和恢复后用户数据库内sysusers表中的sde用户SID标识。

use sde

go

sp_change_users_login 'update_one','sde','sde'

最后,可以执行SID查询来验证SID的一致性:

Use sde

Go

Select SID from sysusers where name = 'sde'

Use master

Go

select SID from sysxlogins where name = 'sde'

 

SID

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

0xF6DFCA8E56B0D411850000C04F8D0451

1 rows affected

SID

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

0xF6DFCA8E56B0D411850000C04F8D0451

1 rows affected

 

经过SDE用户的SID的统一之后,就可以启动ArcSDE服务或者使用直接连接(direct connection)方式使用恢复后的空间数据了。

文章录入:gissky    责任编辑:gissky  发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
■■相 关 图 书:
■■相 关 文 章:
  • ArcSDE栅格数据存储模型及命令行管理举例

  • ArcGIS Online Services简介

  • ArcGIS数据生产管理和地图生产解决方案—PLTS

  • ArcGIS以工作流的方式处理GIS到CAD格式的数据转换

  • ArcGIS 9.2中时态GIS的应用

  • 坐标系统和投影变换基础知识及其在ArcGIS桌面产品中的应用

  • 易康-eCogntion最新版本培训资料

  • 上一篇文章:

  • 下一篇文章:
  •  
    GIS博客精华
    热点文章
    热门资源
     
    关于我们 | 联系我们 | 广告服务 | 友情链接 | 申请链接 | 合作联盟 | 诚聘英才
      GIS空间站(GISSky.Net)版权所有 站长:兔八哥