sybase数据库经验总结_第1页
sybase数据库经验总结_第2页
sybase数据库经验总结_第3页
sybase数据库经验总结_第4页
sybase数据库经验总结_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品sybase 数据库维护经验总结1 、在 sybase 中如何重新设置用户的口令为空:使用 sa 登录 server :isql -usa -psa_password -sserver_name记录当前版本号(以当前版本号12000 为例) :sp_configure upgrade versiongo修改当前值为 492 :sp_configure upgrade version,492go将某用户口令设置为 null (以 sa 为例,当前口令为 123456 ) :sp_password 123456,null,sago重新设置当前版本号:sp_configure upgrade v

2、ersion,12000go2 、如何启动和关闭 server 的服务:一:启动 ase serverunix :以 sybase 用户登录11 .x 版本 : cd $sybase/install12 .x 版本 : cd $sybase_ase/install- 可编辑 -startserver -f run_sybase ( 启动sql server)startserver -f run_sybase_back (启动 back server)startserver -f run_sybase_mon (启动 monitor server)nt:通过 sybase central通过 c

3、ontrol panalcontrol panal/service/sybase sqlserver - start (启动 sql server)control panal/service/sybase bckserver - start (启动 back server)control panal/service/sybase monserver - start (启动 monitor server)二:关闭 ase serverunix :sybase 用户登录isql -usa -pshutdown syb_backupgoshutdowngoisql -usa -p -ssybase_

4、monsms_shutdowngont:通过 sybase central启动 sql server)启动 back server)启动 monitor server)通过 control panalcontrol panal/service/sybase sqlserver - stop (control panal/service/sybase bckserver - stop (control panal/service/sybase monserver - stop ( 3 、如何查找数据库启动的失败原因:在实际环境中,数据库server 无法启动的原因很多,下面仅列出了几种常见的情况

5、,供您分” 参考。首先, 应检查 server 的日志文件。 不同版本缺省的日志文件如下 (其中 为 sybase server 的名称:unix:11.0*: $sybase/install/errorlog11.5* 或 11.9*: $sybase/install/.log 12.0*: $sybase_ase/install/.lognt:11.0* 11.5* 或 11.9*: $sybaseinstallerrorlog12.0*: $sybasease-12_0installerrorlogcase 1: basis_dlock: file /sybase/master.dat

6、already in use by a sql serverkernel kdconfig: unable to read primary master devicekernel kiconfig: read of config block failed检查 server 是否已经启动( showserver, ps -u sybase 或 nt service )case 2:dopen: open /sybase/master.dat failed, permission deniedkernel kdconfig: unable to read primary master device

7、kernel kiconfig: read of config block failed检查 master 设备文件的所有者及权限case 3:ninit: all master network listeners have failed. shutting down检查 network ip 及 port 配置 ( netstat -a )case 4:kernel:kscsinit: connectivity library error. operation: cs_ctx_alloc().检查操作系统参数是否已经修改并重新启动操作系统(参见安装手册 )若操作系统异常宕机, ase 未启动

8、而 $sybase/.krg 已经存在 , 删除该文件4、日常备份数据库:sybase 数据库的备份主要是通过 dump 命令来实现的, 分为数据库备份和日志备份。简单语法格式如下:dump database database_name to device_namedump transaction database_name to device_name如果使用磁带设备做备份, 还要使用 capacity 、 int 选项。应该多长时间备份一次数据库呢 ? 这决定于发生系统故障时 ( 例如磁盘故障) 应用系统允许丢失多长时间的数据。 如果允许丢失一个小时的数据, 那么可以考虑每天至少备份一次数

9、据库, 并每个小时至少备份一次日志。备份数据库之前, 应对数据库做dbcc 检查 , 确保备份的数据库是完好的数据库。 如果数据库有损坏, 备份时可能不会报错, 但将来可能无法装载( load ) 。通常情况下 , 只有发生严重故障需要恢复时才进行装载数据库, 但是 sybase 建议偶尔对备份的数据库装载到一个测试环境上, 以保证备份工作过程正常并熟悉备份和装载工作过程。master 数据库的备份也不能忽略。每次master 数据库的内容有变动时, 应及时备份master 数据库 , 例如增加 login, 增加设备 , 增加用户数据库等。举例: unix 平台后备 courtdb 数据库启

10、动 ase 和 backup serverisql -usa -pxxxxxx -ssybasedump database courtdb to /sybase/dump/courtdb_db.990705go5 、如何备份数据量大于2g 的数据库:当在后备数据量大于2gb 的数据库时,可能会遇到以下错误:i/oerror:operating system error,server device /backup/data. code 27 messagesfile too large.这是由于后备文件的大小超出了操作系统的用户最大文件限制。 而有些操作系统不支持大于 2gb 的文件,这时可以使

11、用 backup server 将一个数据库后备到多个文件中。1dump database courtdb to /usr/sybase/courtdb_dump.12stripe on /usr/sybase/courtdb_dump.23stripe on /usr/sybase/courtdb_dump.34go这种方法还可以提高后备及恢复的速度,但注意恢复也必须用相应多的设备。例如:1load database courtdb from /usr/sybase/courtdb_dump.12stripe on /usr/sybase/courtdb_dump.23stripe on /

12、usr/sybase/courtdb_dump.34go6 、如何得到 bcp 文件:本文适应于isql 11.*, 可通过 isql -v 得到版本编辑一个文本文件select.sql ,内容如下:set nocount onuse courtdbgoselect bcp courtdb. + name + out + name + .bcp -usa -p -cfrom sysobjects where type=ugo如果是unix, 执行:isql -usa -p -b -i select.sql -o bcpoutchmod +x bcpout isql -usa -p -b -i

13、select.sql -o bcpout.bat如果是windows, 执行:将 select.sql 中的 out 换为 in, 重复以上步骤即可得到 bcp in 的命令文件虽然表上没有索引,服务器执行快速bcp , bcp 往表里加载数据仍有可能使日志表溢出, 这是因为 bcp 需要记录页面空间分配日志。 如果表上没有索引, 并且数据库选项“ selectinto/bulk copy ”被置成 true , 服务器就不给新加载的记录记日志。另外,如果表上有索引和触发器,那么 bcp 是慢速的。不能, sql server 11 不能与系统10 的 backup server 一起工作,但

14、系统11 的backup server 可以和 sql server 10 兼容。 另外, 不同版本的 bakcup server 相互兼容,甚至可以在不同版本的 backup server 之间做远程备份。6 、不能截断日志该怎么办:有两种情况,可能出现这个问题。一是应用系统给sql server 发送了一个用户自定义事务,一直未提交,这个最早活跃事务阻碍系统截断日志。二是客户端向 sql server 发送了一个修改数量大的事务, 清日志时, 该事务还正在执行之中, 此事务所涉及的日志只能等到事务结束后,才能被截掉。对于第一种情况, 只要督促用户退出应用或者提交事务, 系统管理员便可清掉日

15、志。 因为给 sql server 发送 dump transaction with no-log 或者 with truncate-only ,它截掉事务日志的非活跃部分。所谓非活跃部分是指服务器检查点之间的所有已提交或回退的事务。 而从最早的未提交的事务到最近的日志记录之间的事务日志记录被称为活跃的。 从此可以看明,打开的事务能致使日志上涨,因为在最早活跃事务之后的日志不能被截除。对于第二种情况,道理也同上。 只是在处理它时, 需慎重从事。如果这个大事务已运行较长时间,应尽量想法扩大数据库日志空间,保证该事务正常结束。若该事务被强行回滚,sql server 需要做大量的处理工作,往往是正

16、向执行时间的几倍,系统恢复时间长,可能会影响正常使用的时间。当客户端退出注册或者突然死机, sql server 应回滚客户端送来的, 但未提交的事务。对于 unix 和 vms 客户端,其操作系统会通知 sql server 它的连接已丢失, sql server然后回退未提交的数据库事务。客户端, 如果 tcp ip keepalive 被设置成允许状态, 它定期地检查网络端口是否存活,一旦网络连接断开, sql server 就被通知到, 它便回退未提交事务。 但是, 如果 keepalive被关闭, sql server 将等待客户端的联络。服务器线索便无期限地处于发送或者接收睡眠状态

17、。那么,未提交事务直到下次重新启动服务器时,才能被回退。sql server 提供用户 t-sql 语言, 来编写在服务器端运行的程序, 主要是编写存贮过程和触发器。在t-sql 语言中,不提供直接调用外部函数的机制,其主要原因是如果用户外部函数出错或者失败, 可能会导致sql server 死机, 数据库系统崩溃。 这样 sql server运行不稳定,系统安全性差。而对于 pc 在系统 11 之前的 sql server 各版中,每张表只能有65535 个分配页面。现在, sql server 11 就没有这种情况,只有表所在数据库大小的限制,而数据库大小只受硬盘资源的限制。实际上,表大小

18、几乎没有限制。如何手动修改interfaces :在一些 hp 和 sun 的机器上, interfaces 文件中关于server 的信息是以 16 进制的形式存储的,必须要通过实用程序dsedit 才能进行修改。实际上, 我们只要了解了这些16 进制数据的格式, 也可以直接通过vi 来更改 interfaces文件。下面以 e3000 为例,介绍一下interfaces 文件的结构和格式:用 vi 打开 /opt/sybase/interfaces ,可以看到这些信息:e3000master tli tcp /dev/tcp x00021a0a9e4d51f8000000000000000

19、0query tli tcp /dev/tcp x00021a0a9e4d51f80000000000000000其中:/x0002 : 保留字,不必修改1a01 : 16 进制端口号,高位在左边,转换成10 进制为: 66669e4d51f8 : 16 进制主机地址,转换成 10 进制为: 9e - 1584d - 7751 - 81f8 - 248即为: 158.77.81.248可以修改的信息其实主要就是主机地址和端口号, 所以, 如果需要, 只要按照以上格式修改其中信息即可。需要修改 interfaces 文件;更改run_server_name 文件名,并修改其内容,例如:-s (

20、unix )、 /server(openvms) 后面所跟的参数( server 名称) ;更改配置文件名;更改 errorlog 文件名(如果需要) ;如果 server 名称加在了表sysservers 中,需要更改srvname 、 srvnetname 列,可使用 sp_dropserver 、 sp_addserver 存储过程来实现。在 openvms 系统中还要修改run_server_name 文件中 dslisten 的逻辑名称, 以及在使用 startserver 过程中 /server 后面所跟的参数。然后,重启 sql/ase server 。确认 dsquery 、

21、dslisten 环境变量已经更改为所需内容。另外,如果sql/ase server 是被设置为远程服务器,还要修改与此 server 相关的系统表 sysservers 中的字段以及interfaces 文件。理论上例如配置文件、 run 脚本、 errorlog 文件不需要指定server 名称(但是通常习惯指定 server 名称) 。在 run startup 脚本中要指定 server 名称。您可以根据以下提纲完成此项任务:如果 server 名称加在了表sysservers 中,用 sp_dropserver 删除。shut down server编辑 interfaces 文件更

22、改 run_server_name 文件名,并修改其内容, -s ( unix ) 、 /server(openvms) 后面所跟的参数( server 名称)更改errorlog 文件名(如果需要)修改dsquery 、 dslisten 环境变量(如果需要)更改配置文件名 ( server_name.cfg 、 server_name.bak 、 server_name.nnn ) , 在 sybase安装路径下start server使用 sp_addserver 重新添加 server( 如果需要 )如果 server 是作为远程server 使用的,还需要删除并重新添加。在 nt 上

23、如何卸载sybase关闭 adaptive server.将 adaptive server 在 windows nt services 中由自动改为手动重新启动 windows nt server运运行 regedt32 修改注册表, 删除以下内容:hkey_local_machinesoftwaresybaseserverhkey_local_machinesoftwaresybaseserver_bshkey_local_machinesoftwaresybaseserver_hshkey_local_machinesoftwaresybaseserver_ms到注册表的如下结构下:hk

24、ey_local_machinesystemcurrentcontrolsetcontrolsessionmanagerenvironment删除 dslisten, dsquery, sybase, 并修改 lib, include, path 删除 sybase 有关目录删除如下注册键值:hkey_local_machinesystemcurrentcontrolsetservicessybsql_sybxps_xpsybbck_bssybmon_mssybhis_hs重新启动 windows nt server使用 start | control panel | settings | s

25、ervices 确认 sybase 已经卸载删除 sybase server 所用数据库设备文件及sybase 系统文件如何检查 sybase 数据库的一致性数据库一致性检查(dbcc) 提供了一些命令用于检查数据库的逻辑和物理一致性。 dbcc 主要有两个功能:使用 checkstorage 或 checktable 及 checkdb 在页一级和行一级检查页链及数据指针。使用 checkstorage, checkalloc, 或 checkverify, tablealloc, 及 indexalloc 检查页分配。在下列情况中需要使用 dbcc 命令:作为数据库日常维护工作的一部分,

26、数据库内部结构的完整性决定于 sa 或 dbo 定期地运行 dbcc 检查。在系统报错以后 , 确定数据库是否有损坏。在备份数据库之前, 确保备份的完整性。如果怀疑数据库有损坏时, 例如 , 使用某个表时报出表损坏的信息 , 可以使用 dbcc 确定数据库中其他表是否也有损坏。下面是 dbcc 的简单用法:dbcc checktable (table_name)检查指定的表, 检查索引和数据页是否正确链接 , 索引是否正确排序, 所有指针是否一致,每页的数据信息是否合理, 页偏移是否合理。dbcc checkdb (database_name)对指定数据库的所有表做和 checktable 一

27、样的检查。dbcc checkalloc (database_name,fix|nofix)检查指定数据库, 是否所有页面被正确分配, 是否被分配的页面没被使用。当使用 fix 选项时,在检查数据库的同时会自动修复有问题的页面。 (若数据库数据量很大,则该过程会持续很长时间。 )dbcc tablealloc (table_name,fix|nofix)检查指定的表, 是否所有页面被正确分配, 是否被分配的页面没被使用。是checkalloc 的缩小版本 , 对指定的表做完整性检查。当使用 fix 选项时,在检查数据表的同时会自动修复数据表中有问题的页面。关于上述命令的其它选项及详细使用方法和

28、checkstorage, checkverify, indexalloc的详细使用方法, 请参阅有关命令手册。举例 1 : unix 平台检查 courtdb 数据库的一致性单用户模式启动server :$sybase/install startserver -f run_server_name -mvi dbcc_db.sqluse mastergosp_dboption courtdb,single user,truegouse courtdbgocheckpointgodbcc checkdb(courtdb)godbcc checkalloc(courtdb,fix)godbcc c

29、heckcatalog(courtdb)gouse mastergosp_dboption courtdb,single user,falsegouse courtdbgo精品checkpointgoquitgoisql -usa -pxxxxxx -ssybase dbcc_db.outgrep msg dbcc_db.out举例 2 : unix 平台检查 courtdb 数据库中 titles 表的一致性vi dbcc_table.sqluse courtdbgodbcc checktable(titles)godbcc tablealloc(titles)goisql -usa -px

30、xxxxx -ssybase dbcc_table.outgrep msg dbcc_table.out如何删除已经坏的数据库:当使用 drop database 无法删除数据库时,使用本文所示方法可以删除。(1) 使用 isql 以 sa 注册 sql server(2) 设置允许修改系统表1sp_configure allow updates,1(3) 把 要删除的用户数据库置为 suspect 状态1use master2go1begin tran2go1update sysdatabases set status=2562where name=courtdb3go如果得到 (1 row

31、 affected), 则1commit2go否则1rollback2go(4) 重启 server, 并用 isql 以 sa 注册。(5) 删除数据库1dbcc dbrepair(courtdb,dropdb)2go(6) 恢复允许修改系统表1sp_configure allow updates,02go(7) 结束如何终止数据库的恢复过程:当某一正常运行的大事务(例如:update 、 delete 操作)被终止,且重新启动server后, 运行该事务的数据库处于恢复状态,通常这种状态会持续很长时间, 当在此恢复过程中没有出现任何异常时, 建议用户耐心等待恢复过程完成。同时我们提供以下方

32、法来终止此恢复过程,但请用户注意这些操作将带来数据的不一致性。必要时, 希望用户用完整、可靠的数据库备份恢复此数据库。(1) 启动 backup server, 后备 master 数据库(这一步很重要!1dump database master to /usr/sybase/master.dup 2go(2) 用 isql 登录到 sql server, 须用 sa 帐号(本文以courtdb 数据库为例 )1sp_configure allow updates, 1 2go 1begin tran 2go 1 use master2 go 1update sysdatabases 2set

33、 status = -327683where name=courtdb4go如果得到 (1 row affected), 则1commit2go否则1rollback2gosql server.(3) 这时重新启动 sql server, 再用 sa 帐号登录到1dump tran courtdb with no_log2go1begin tran2go1 use master2 go1update sysdatabases2set status=03where name=courtdb4go如果得到 (1 row affected), 则1commit2go否则1rollback2go1sp

34、_configure allow updates ,02go(4) 重新启动 server(5) 如果你的数据库原来有dboption( 例如 select into,trunc log on chkpt等), 你需要重新设置这些option.(6) 当数据库已经恢复可使用状态后, 运行 dbcc 命令检查数据库的一致性(参照 如何检查数据库中数据一致性文章 )(7) 后备用户数据库例如:1dump database courtdb to /usr/sybase/courtdb.dup2go如何解决sybase 数据库被挂起的问题:现象:error 926severity level 14er

35、ror message textdatabase xx cannot be opened - it has been marked suspect by recover explanation(1) 当你使用 transact_sql 命令操作这个数据库的数据时 , 出现这个信息, 这是一个严重的错误, 如果你要使用这个数据库的数据, 必须改正这个错误 .(2) 启动 backup server, 后备 master 数据库(这一步很重要! )1dump database master to /usr/sybase/master.dup2go(3) 用 isql 登录到 sql server,

36、 须用 sa 帐号(本文以courtdb 数据库为例 )1sp_configure allow updates, 12go1begin tran2go1use master2go1update sysdatabases2set status = -327683where name=courtdb4go如果得到 (1 row affected), 则1commit2go否则1rollback2go(4) 重新启动 sql server.注: sql server 重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp.out 备份用户数据库数据

37、。此时,以下步骤省略,并按照“如何删除坏的用户数据库”文章删除此数据库。之后重建此数据库,恢复备份。否则,按以下步骤继续操作:用 sa 帐号注册到 sql server.1begin tran2go1use master2go1update sysdatabases2set status=03where name=courtdb4go如果得到 (1 row affected), 则1commit2go否则1rollback2go1sp_configure allow updates ,02go(5) 重新启动 sql server.(6) 如果你的数据库原来有dboption( 例如 sele

38、ct into,trunc log on chkpt 等),你需要重新设置这些option.(7) 当数据库已经恢复可使用状态后,运行dbcc 命令检查数据库的一致性(参照“如何检查数据库中数据一致性”文章)(8) 备份用户数据库例如:1dump database courtdb to /usr/sybase/courtdb.dup2gosybase 数据库升级到 12.0 后出现错误怎么办:error 9502,data exception - string data right truncated.现象:存储过程在 ase11.9.2 中运行正常,当 server 升级到 12.0.0.2

39、 ,出现以上错 误。用户信息: esql/c 程序调用存储过程sybase 11.9.2 的版本信息:adaptive server enterprise/11.9.2/1031/p/rs6000/aix4.2.1/fbo/fri aug 1401:11:06 1998sybase 12.0 的版本信息:adaptive server enterprise/12.0.0.3/p/swr 9630 esd 1/rs6000/aix4.3.2/1686/64bit/fbo/mon may 14 11:22:01 2001os 的版本信息:aix 4.3.3.0esql 的版本信息:sybase e

40、sql/c precompiler/12.0/p/rs6000/aix 4.3.1/1/opt/ tue sep 28 14:50:20 1999解决方法:在 esql/c 程序中(执行存储过程之前)加入以下语句:exec sql set string_rtruncation off关于 tempdb 的优化缺省情况下, tempdb 数据库是放置在master 设备上,容量为 2m ,而临时数据库是活动最为平凡的数据库常常被用来排序、 创建临时表、 重格式化等操作, 所以 tempdb 的优化应该受到特别的关注。第一步:将临时数据库与高速缓冲进行绑定。由于临时表的创建、 使用, 临时数据库会

41、频繁地使用数据缓存, 所以应为临时数据库创建高速缓存,从而可以使其常驻内存并有助于分散i/o :1 、创建命名高速缓存sp_cacheconfig “tempdb_cache ” ,” 10m ” ,” mixed ”2 、重新启动server3 、捆绑临时数据库到 tempdb_cache高速缓存sp_bindcache “tempdb_cache ” , tempdb4 、若有大的i/o ,配置内存池第二步:优化临时表大多数临时表的使用是简单的, 很少需要优化。 但需要对临时表进行复杂的访问则、应通过使用多个过程或批处理来把表的创建和索引分开。 以下两种技术可以改善临时表的优化1 、在临时

42、表上创建索引1 )临时表必须存在2 )统计页必须存在(即不能在空表上创建索引)2 、把对临时表的复杂的使用分散到多个批处理或过程中,以便为优化器提供信息下面的这个过程需要进行优化:create proc base_procasselect * into #huge_result from authsselect * from article, #huge_result where article.author_code=#huge_result.author_code and sex= ” 0 ”使用两个过程可以得到更好的性能1)create proc base_procasselect *i

43、nto #huge_resultfrom authsexec select_proc2)create proc select_procasselect * from article,#huge_resultwhere article.author_code=#huge_result.author_code and sex=” 0 ”说明: 在同一个存储过程或批处理中, 创建并使用一个表时, 查询优化器无法决定这个表的大小。如何扩展 master 数据库空间master 数据库只能扩展在master 设备上 .那么当 master 设备已经没有足够的空,请按以下步骤操作:(此操作过程是以unix

44、 操作系统为例 .sybase 安装路径为 /sybase)1. 备份 master 数据库启动 backup server ,进入 isql 环境执行:1dump database master to /sybase/master.dump2goshut down sql/ase server1shutdown2go2. 创建新的足够大的 master 设备$buildmaster -d -ssize(size以 2k 为单位 )例: $buildmaster d/sybase/data/master.dat -s1024003. 修改 run_servername 文件编辑 run_ser

45、ver_name 文件, -d 参数指向新建的设备名。4. 单用户模式重启 server$startserver -f run_servername -m5. 执行 installmaster 脚本6. 由备份文件装载master 数据库1load database master from /sybase/master.dump2go7. 修改 sysdevices 信息sp_configure allow updates, 1gobegin trangoupdate sysdevices set high =102399, phynamee:sybasedatamaster_test.dat

46、 where name = mastergo(102399=200*512-1 master 设备大小为 200m)commit trango8. 扩展 master 数据库1alter database master on master 设备名称 =size( 此值以 m 为单位 )2go例: alter database master on master=10将 master 数据库在 master 设备上扩展10m如何恢复 master 数据库:ase cant setup and has no valid dump of master1 、编辑 run_servername在命令行最后

47、加入:-t36072 、单用户模式启动ase$cd install$startserver -f run_servername -m3 、 bcp out 系统表$bcp master.sysdevices out /directory.spec/devs -usa -p -c$bcp master.sysdatabases out /directory.spec/dbs -usa -p -c$bcp master.sysusages out /directory.spec/usages -usa -p -c$bcp master.syslogins out /directory.spec/l

48、ogins -usa -p -c$bcp master.sysconfigures out /directory.spec/configures -usa -p -c$bcp master.syscharsets out /directory.spec/charsets -usa -p -c4 、 shutdownase5 、创建新master 设备$buildmaster -d -s(new_master_device_size 以 2k 为单位 )6 、编辑run_servername将指定 master 设备指定为新创建的 master 设备,并删除在第1 步中增加的参数。7 、 删除

49、/directory.spec/dbs 、 /directory.spec/usages 文件中有关master 、 tempdb 、model 的内容。8 、单用户模式启动ase$cd install$startserver -f run_servername -m9 、 bcp in 系统表$ bcp master.sysdevices in /directory.spec/devs -usa -p -b 1 -c$bcp master.sysdatabases in /directory.spec/dbs -usa -p -b 1 -c- 可编辑 -精品$bcp master.sysus

50、ages in /directory.spec/usages -usa -p -b 1 -c$bcp master.syslogins in /directory.spec/logins -usa -p -b 1 -c$bcp master.sysconfigures in /directory.spec/configures -usa -p -b 1 -c$bcp master.syscharsets in /directory.spec/charsets -usa -p -b 1 -c10 、重启ase11 、执行installmaster脚本$isql -usa -p sp_role g

51、rant,sybase_ts_role,sa2go1quit(2) 将数据库置为 bypass recovery 状态isql -usa -p1sp_configure allow updates,12go1use master2go1update sysdatabases set status=-327682where name=database_name1shutdown with nowait2go(3)rebuild 数据库日志重启 serverisql -usa -p1use master2go1dbcc rebuild_log(database_name,1,1)2go1shutd

52、own with nowait2go(4) 重启 sql server1use master2go1update sysdatabases set status=0 where name=database_name2go1sp_configure allow updates,02go1shutdown with nowait2go(5) 在重启 sql server 之后 ,如果数据库恢复正常, rebuild log 工作将会成功完成,否则要恢复数据库备份,使用 dump database 或 bcp 命令。依照以下步骤可以实现移动sybsystemprocs 系统数据库以及设备的任务。同时这个过程也可以用来扩建sybsystemprocs 系统数据库。sasybase 提醒您,在修改系统表时, sql server 要以单用户模式运行,同时要以用户登录。保留驻留在 sybsystemprocs 系统数据库中自定义的存储过程脚本。单用户模式启动sql server ,执行:1 sp_configure allow updates,12 go1 reconfigure with override(10.0 版本以上,省略此步)2 go删除 sybsystempro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论