SQL2000数据库老出现置疑问题

度年如日1668
企业官方账号
2014-01-01 02:15:08
在家里的电脑上装的SQL2000个人版本,建立数据库时,过不了几个小时,就出现数据库置疑的状态.
还没在里面没建立一个用户表.
有人说是磁盘的问题,但我的硬盘是新买的希捷的500G的,为何其它软件装了没出现问题?
为何SQL2000自带的那几个数据库从未出现置疑的问题?今天还把硬盘用SCANDISK扫了一次了.
我以前在公司用的电脑上也装过SQL2000,也建立过数据库,从未出现这种现象,很是不解!
...全文
439 31 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
orochiheart 2014-01-02
  • 打赏
  • 举报
回复
http://zhidao.baidu.com/link?url=iMDUNdlb-2oVUHKekH8WANMTJuRpt8JP9uTblb2sD95Uhhm0HhFVrHalL0YIPCck3UO8gA26Sz-jAzrWs7I3p_
度年如日1668 2014-01-02
  • 打赏
  • 举报
回复
引用 30 楼 yupeigu 的回复:
对了,你试试安装一个sql server 2005,要是也出现这种问题,那说明是你的系统有问题。 如果sql server 2005没问题,那说明可能是你的sql serve 2000的问题。 这种问题,我觉得只能用排除法了,大概的排除其他可能性,最后剩下的就可能是原因
可以,晚上装的看看
LongRui888 2014-01-02
  • 打赏
  • 举报
回复
对了,你试试安装一个sql server 2005,要是也出现这种问题,那说明是你的系统有问题。 如果sql server 2005没问题,那说明可能是你的sql serve 2000的问题。 这种问题,我觉得只能用排除法了,大概的排除其他可能性,最后剩下的就可能是原因
度年如日1668 2014-01-02
  • 打赏
  • 举报
回复
引用 26 楼 bisubisu 的回复:
质疑经常遇到的路过! --ALTER DATABASE xxx SET SINGLE_USER; --ALTER DATABASE xxxx SET MULTI_USER; --DBCC CHECKDB ('xxxx', REPAIR_FAST); 一般人我不告诉他,试试就知道了! 如果还是不行?好吧。。。再来另一种方案!  1.   删除原始的数据库:                USE   MASTER                GO                  DROP   DATABASE   DB_SUEPECT                            2.建立同名的数据库:                    USE   master                    GO                    CREATE   DATABASE   DB_SUSPECT                      ON                          (   NAME   =   DBNAME_DAT,                            FILENAME   =   'C:',                            SIZE   =   10,                              FILEGROWTH   =   5   )                            LOG   ON                          (   NAME   =   'DBNAME_LOG',                            FILENAME   =   'g:',                            SIZE   =   5MB,                            FILEGROWTH   =   5MB   )                            GO      3.恢复数据库:                  RESTORE   DATABASE   DB_SUSPECT                FROM   DBNAME_BACKUP.DAT         4.数据库完整性检测:                    DBCC   CHECKDB('DB_SUSPECT')      5.重新启动MSSQLSERVER服务.      如果没有全备份,那就要用一些特殊的方法:      1.设置数据库为紧急模式                    Use   Master                    GO                    sp_configure   'allow   updates',   1                    reconfigure   with   override                  GO                  UPDATE   sysdatabases   SET   status   =   32768   where   name   =   'DB_SUSPECT'                  GO      2.停掉SQL   Server服务:                NET   STOP   MSSQLSERVER      3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:      4.启动SQL   Server服务:                  NET   START   MSSQLSERVER      5.重新建立一个同名的数据库DB_SUSPECT;                    USE   master                    GO                    CREATE   DATABASE   DB_SUSPECT                      ON                          (   NAME   =   DBNAME_DAT,                            FILENAME   =   'C:',                            SIZE   =   10,                              FILEGROWTH   =   5   )                            LOG   ON                          (   NAME   =   'DBNAME_LOG',                            FILENAME   =   'g:',                            SIZE   =   5MB,                            FILEGROWTH   =   5MB   )                            GO      6.设置数据库运行在单用户的模式:                        USE   MASTER                      GO                      ALTER   DATABASE   DB_SUSPECT   SET   SINGLE_USER                      GO      7.停掉SQL服务:                NET   STOP   MSSQLSERVER      8.把原来的数据文件再覆盖回来:      9.启动SQL   Server服务:                  NET   START   MSSQLSERVER      10.重新设置SQLSERVER的状态:                        USE   MASTER                      GO                      EXEC   sp_resetstatus   "DB_SUSPECT"      11.数据库完整性检测:                      DBCC   CHECKDB('DB_SUSPECT')      12.恢复数据库为多用户模式:                      USE   MASTER                      GO                      ALTER   DATABASE   DB_SUSPECT   SET   MULTI_USER                    GO      13.恢复SQLSERVER原始的配置:                  USE   MATER            GO                      UPDATE   sysdatabases   SET   status   =   4194320   where   name   =   'DB_SUSPECT'              GO            14.配置SQLSERVER不允许更新系统表:                  USE   MASTER                GO                  sp_configure   'allow   updates',   0                  reconfigure   with   override                GO      15.重新启动MSSQLSERVER服务:         最好重新启动操作系统      16.备份数据库:            可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT      补充一点,如果用DOMAIN\USER时,要注意对.MDF.LDF的所在目录的权限.
谢谢你的帮助,我把置疑的数据库先分离再附加就搞定了,但我不知道为什么会出现置疑的问题.
AT90_SCR 2014-01-02
  • 打赏
  • 举报
回复
假如有一个无符号8位数据255赋给一个byte类型数据 a;溢出后的a是多少?a=-1?a=0?a=-2?
山城忙碌人 2014-01-02
  • 打赏
  • 举报
回复
对了,删除出问题的数据库前,别说我没告诉你,要先备份哦!
山城忙碌人 2014-01-02
  • 打赏
  • 举报
回复
质疑经常遇到的路过! --ALTER DATABASE xxx SET SINGLE_USER; --ALTER DATABASE xxxx SET MULTI_USER; --DBCC CHECKDB ('xxxx', REPAIR_FAST); 一般人我不告诉他,试试就知道了! 如果还是不行?好吧。。。再来另一种方案!  1.   删除原始的数据库:                USE   MASTER                GO                  DROP   DATABASE   DB_SUEPECT                            2.建立同名的数据库:                    USE   master                    GO                    CREATE   DATABASE   DB_SUSPECT                      ON                          (   NAME   =   DBNAME_DAT,                            FILENAME   =   'C:',                            SIZE   =   10,                              FILEGROWTH   =   5   )                            LOG   ON                          (   NAME   =   'DBNAME_LOG',                            FILENAME   =   'g:',                            SIZE   =   5MB,                            FILEGROWTH   =   5MB   )                            GO      3.恢复数据库:                  RESTORE   DATABASE   DB_SUSPECT                FROM   DBNAME_BACKUP.DAT         4.数据库完整性检测:                    DBCC   CHECKDB('DB_SUSPECT')      5.重新启动MSSQLSERVER服务.      如果没有全备份,那就要用一些特殊的方法:      1.设置数据库为紧急模式                    Use   Master                    GO                    sp_configure   'allow   updates',   1                    reconfigure   with   override                  GO                  UPDATE   sysdatabases   SET   status   =   32768   where   name   =   'DB_SUSPECT'                  GO      2.停掉SQL   Server服务:                NET   STOP   MSSQLSERVER      3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:      4.启动SQL   Server服务:                  NET   START   MSSQLSERVER      5.重新建立一个同名的数据库DB_SUSPECT;                    USE   master                    GO                    CREATE   DATABASE   DB_SUSPECT                      ON                          (   NAME   =   DBNAME_DAT,                            FILENAME   =   'C:',                            SIZE   =   10,                              FILEGROWTH   =   5   )                            LOG   ON                          (   NAME   =   'DBNAME_LOG',                            FILENAME   =   'g:',                            SIZE   =   5MB,                            FILEGROWTH   =   5MB   )                            GO      6.设置数据库运行在单用户的模式:                        USE   MASTER                      GO                      ALTER   DATABASE   DB_SUSPECT   SET   SINGLE_USER                      GO      7.停掉SQL服务:                NET   STOP   MSSQLSERVER      8.把原来的数据文件再覆盖回来:      9.启动SQL   Server服务:                  NET   START   MSSQLSERVER      10.重新设置SQLSERVER的状态:                        USE   MASTER                      GO                      EXEC   sp_resetstatus   "DB_SUSPECT"      11.数据库完整性检测:                      DBCC   CHECKDB('DB_SUSPECT')      12.恢复数据库为多用户模式:                      USE   MASTER                      GO                      ALTER   DATABASE   DB_SUSPECT   SET   MULTI_USER                    GO      13.恢复SQLSERVER原始的配置:                  USE   MATER            GO                      UPDATE   sysdatabases   SET   status   =   4194320   where   name   =   'DB_SUSPECT'              GO            14.配置SQLSERVER不允许更新系统表:                  USE   MASTER                GO                  sp_configure   'allow   updates',   0                  reconfigure   with   override                GO      15.重新启动MSSQLSERVER服务:         最好重新启动操作系统      16.备份数据库:            可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT      补充一点,如果用DOMAIN\USER时,要注意对.MDF.LDF的所在目录的权限.
度年如日1668 2014-01-02
  • 打赏
  • 举报
回复
引用 24 楼 DBA_Huangzj 的回复:
那就只能看日志了,一般这种情况是不应该有的,当然,绝大多数问题本身就“不应该有”,当我放屁吧。还是看看日志才能找到问题
你太谦虚了,每一个可能的问题都要考虑是应该的.
發糞塗牆 2014-01-02
  • 打赏
  • 举报
回复
那就只能看日志了,一般这种情况是不应该有的,当然,绝大多数问题本身就“不应该有”,当我放屁吧。还是看看日志才能找到问题
度年如日1668 2014-01-02
  • 打赏
  • 举报
回复
引用 22 楼 DBA_Huangzj 的回复:
看看windows的事件和sqlserver1的错误日志先。另外最起码保证你的环境空间充足。最后,我遇到过的这类问题是因为盘是映射出来的,不稳定
我的SQL SERVER是装在C盘,建立的数据库也是放在默认位置,空间还有200多G,所以空间是足够的,C盘也不是映射的. 晚上回去看看windows的事件和sqlserver1的错误日志吧. 我把杀毒的卸载了,还是没解决,所以与杀毒的无关,呵呵.
發糞塗牆 2014-01-02
  • 打赏
  • 举报
回复
看看windows的事件和sqlserver1的错误日志先。另外最起码保证你的环境空间充足。最后,我遇到过的这类问题是因为盘是映射出来的,不稳定
LongRui888 2014-01-01
  • 打赏
  • 举报
回复
引用 19 楼 CJHLPLFX 的回复:
不知道与杀毒软件有无关系(我想应该没有), 因为我的台式机上装了正版的诺顿杀毒软件. 笔记本上没装杀毒软件
有可能是杀毒软件的问题的,建议你可以试试把杀毒软件关掉
度年如日1668 2014-01-01
  • 打赏
  • 举报
回复
不知道与杀毒软件有无关系(我想应该没有), 因为我的台式机上装了正版的诺顿杀毒软件. 笔记本上没装杀毒软件
LongRui888 2014-01-01
  • 打赏
  • 举报
回复
引用 17 楼 CJHLPLFX 的回复:
[quote=引用 16 楼 yupeigu 的回复:] [quote=引用 15 楼 CJHLPLFX 的回复:] 以上出现的问题是在我的台式机上的,台式机也是我自己装的一切东西. 我在我的笔记本上也装有SQL2000个人版本,系统也是XP,建立数据库就没有没出现以上问题. 装SQL2000的过程也是一样的,所以很是纳闷.
你试试建库的时候,建立在别的路径上,比如d盘上试试[/quote] 没用,一样的,我在笔记本上建立个数据库,在笔记本上没问题,把那个数据库拷到台式机上就不行了. 搞不好算了,先分离再附加可以搞定,不过为什么这台台式机不行就很奇怪了. [/quote] 是啊,实在不明白,有可能是硬件有问题,也有可能是系统有问题
度年如日1668 2014-01-01
  • 打赏
  • 举报
回复
引用 16 楼 yupeigu 的回复:
[quote=引用 15 楼 CJHLPLFX 的回复:] 以上出现的问题是在我的台式机上的,台式机也是我自己装的一切东西. 我在我的笔记本上也装有SQL2000个人版本,系统也是XP,建立数据库就没有没出现以上问题. 装SQL2000的过程也是一样的,所以很是纳闷.
你试试建库的时候,建立在别的路径上,比如d盘上试试[/quote] 没用,一样的,我在笔记本上建立个数据库,在笔记本上没问题,把那个数据库拷到台式机上就不行了. 搞不好算了,先分离再附加可以搞定,不过为什么这台台式机不行就很奇怪了.
LongRui888 2014-01-01
  • 打赏
  • 举报
回复
引用 15 楼 CJHLPLFX 的回复:
以上出现的问题是在我的台式机上的,台式机也是我自己装的一切东西. 我在我的笔记本上也装有SQL2000个人版本,系统也是XP,建立数据库就没有没出现以上问题. 装SQL2000的过程也是一样的,所以很是纳闷.
你试试建库的时候,建立在别的路径上,比如d盘上试试
度年如日1668 2014-01-01
  • 打赏
  • 举报
回复
以上出现的问题是在我的台式机上的,台式机也是我自己装的一切东西. 我在我的笔记本上也装有SQL2000个人版本,系统也是XP,建立数据库就没有没出现以上问题. 装SQL2000的过程也是一样的,所以很是纳闷.
度年如日1668 2014-01-01
  • 打赏
  • 举报
回复
LongRui888 2014-01-01
  • 打赏
  • 举报
回复
引用 12 楼 CJHLPLFX 的回复:
[quote=引用 10 楼 yupeigu 的回复:]
[quote=引用 9 楼 CJHLPLFX 的回复:]
[quote=引用 8 楼 yupeigu 的回复:]
[quote=引用 6 楼 CJHLPLFX 的回复:]
[quote=引用 5 楼 yupeigu 的回复:]
[quote=引用 4 楼 CJHLPLFX 的回复:]
[quote=引用 3 楼 yupeigu 的回复:]
对了,你的个人电脑安装的操作系统是xp 吗

是的 ,pack3[/quote]

哦,用这个试试:

dbcc checkdb(你的数据库名) 
go
[/quote]
我先建立了2个数据库,当出现置疑后,我先分离再附加
用 dbcc checkdb(你的数据库名)
go 检测也没问题,那2个数据库也没出现置疑问题,但不知道为何分离再附加就行.

[/quote]

这个确实很难判断,出现质疑状态,应该是指有数据损坏了,或者是数据库有不一致的地方。

通过分离再附加,分离就是提交所有事务,然后让数据库处于一致性的状态,在此附加数据库。

[/quote]我刚才新建立了一个数据库(数据位置在默认的位置,没有改变)
当建立好后,我去打开那个数据库,提示打不开
用dbcc checkdb(你的数据库名)
go
提示:
由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'defss'
要分离再附加那个数据库才可以打开.
我以前在公司也是这么建立数据库的,一直没问题啊,怎么在家里就这么简单也搞不了.

[/quote]

会不会是sql server的启动帐号的权限不足呢[/quote]
身份验证我是采用 sql server 和 windows 混合验证的呀
[/quote]

哦 不是这个,是启动账户:
度年如日1668 2014-01-01
  • 打赏
  • 举报
回复
引用 10 楼 yupeigu 的回复:
[quote=引用 9 楼 CJHLPLFX 的回复:] [quote=引用 8 楼 yupeigu 的回复:] [quote=引用 6 楼 CJHLPLFX 的回复:] [quote=引用 5 楼 yupeigu 的回复:] [quote=引用 4 楼 CJHLPLFX 的回复:] [quote=引用 3 楼 yupeigu 的回复:] 对了,你的个人电脑安装的操作系统是xp 吗
是的 ,pack3[/quote] 哦,用这个试试:
dbcc checkdb(你的数据库名) 
go
[/quote] 我先建立了2个数据库,当出现置疑后,我先分离再附加 用 dbcc checkdb(你的数据库名) go 检测也没问题,那2个数据库也没出现置疑问题,但不知道为何分离再附加就行. [/quote] 这个确实很难判断,出现质疑状态,应该是指有数据损坏了,或者是数据库有不一致的地方。 通过分离再附加,分离就是提交所有事务,然后让数据库处于一致性的状态,在此附加数据库。 [/quote]我刚才新建立了一个数据库(数据位置在默认的位置,没有改变) 当建立好后,我去打开那个数据库,提示打不开 用dbcc checkdb(你的数据库名) go 提示: 由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'defss' 要分离再附加那个数据库才可以打开. 我以前在公司也是这么建立数据库的,一直没问题啊,怎么在家里就这么简单也搞不了. [/quote] 会不会是sql server的启动帐号的权限不足呢[/quote] 身份验证我是采用 sql server 和 windows 混合验证的呀
加载更多回复(11)

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧