none
数据库 RRS feed

答案

  • 1.设置数据库为紧急模式
    Use Master
    GO
    sp_configure 'allow updates', 1
    reconfigure with override
    GO
    UPDATE sysdatabases SET status = 32768 where name = 'TEST'
    GO

    2.停掉SQL Server服务:
    NET STOP MSSQLSERVER

    3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:

    4.启动SQL Server服务:
    NET START MSSQLSERVER

    5.重新建立一个同名的数据库TEST;

    USE master
    GO
    CREATE DATABASE TEST
    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 TEST SET SINGLE_USER
    GO

    7.停掉SQL服务:
    NET STOP MSSQLSERVER

    8.把原来的数据文件再覆盖回来:


    9.启动SQL Server服务:
    NET START MSSQLSERVER

    10.设置数据库为紧急模式
    Use Master
    GO
    sp_configure 'allow updates', 1
    reconfigure with override
    GO
    UPDATE sysdatabases SET status = 32768 where name = 'TEST'
    GO

    11.数据库完整性检测:
    DBCC CHECKDB('TEST')

    12.恢复数据库为多用户模式:
    USE MASTER
    GO
    ALTER DATABASE TEST SET MULTI_USER
    GO

    13.恢复SQLSERVER原始的配置:
    USE MATER

    GO

    UPDATE sysdatabases SET status = 4194320 where name = 'TEST'
    GO

    14.配置SQLSERVER不允许更新系统表:
    USE MASTER
    GO
    sp_configure 'allow updates', 0
    reconfigure with override
    GO

    15.重新启动MSSQLSERVER服务:

    最好重新启动操作系统

    16.备份数据库:

    可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和TEST
    补充一点,如果用DOMAIN\USER时,要注意对.MDF.LDF的所在目录的权限


    17. 不知道為什么,質疑修復后,數據庫恢復正常了。但是重啟了下服務器后,數據庫又是質疑狀態。最后只有使用導入導出將數據庫物件導出到另外一個新的數據庫中,最后將之前出現質疑的數據庫刪除掉,再將后來新建的數據庫rename為之前的數據庫名稱。

     

     

    这是我以前在sqlserver2000中遇到的.

    你试试.


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    • 已标记为答案 员工 2010年11月10日 2:45
    2010年11月6日 14:39

全部回复

  • 数据库处于质疑状态.

    最好解决先.

     


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2010年11月6日 14:26
  • 1.设置数据库为紧急模式
    Use Master
    GO
    sp_configure 'allow updates', 1
    reconfigure with override
    GO
    UPDATE sysdatabases SET status = 32768 where name = 'TEST'
    GO

    2.停掉SQL Server服务:
    NET STOP MSSQLSERVER

    3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:

    4.启动SQL Server服务:
    NET START MSSQLSERVER

    5.重新建立一个同名的数据库TEST;

    USE master
    GO
    CREATE DATABASE TEST
    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 TEST SET SINGLE_USER
    GO

    7.停掉SQL服务:
    NET STOP MSSQLSERVER

    8.把原来的数据文件再覆盖回来:


    9.启动SQL Server服务:
    NET START MSSQLSERVER

    10.设置数据库为紧急模式
    Use Master
    GO
    sp_configure 'allow updates', 1
    reconfigure with override
    GO
    UPDATE sysdatabases SET status = 32768 where name = 'TEST'
    GO

    11.数据库完整性检测:
    DBCC CHECKDB('TEST')

    12.恢复数据库为多用户模式:
    USE MASTER
    GO
    ALTER DATABASE TEST SET MULTI_USER
    GO

    13.恢复SQLSERVER原始的配置:
    USE MATER

    GO

    UPDATE sysdatabases SET status = 4194320 where name = 'TEST'
    GO

    14.配置SQLSERVER不允许更新系统表:
    USE MASTER
    GO
    sp_configure 'allow updates', 0
    reconfigure with override
    GO

    15.重新启动MSSQLSERVER服务:

    最好重新启动操作系统

    16.备份数据库:

    可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和TEST
    补充一点,如果用DOMAIN\USER时,要注意对.MDF.LDF的所在目录的权限


    17. 不知道為什么,質疑修復后,數據庫恢復正常了。但是重啟了下服務器后,數據庫又是質疑狀態。最后只有使用導入導出將數據庫物件導出到另外一個新的數據庫中,最后將之前出現質疑的數據庫刪除掉,再將后來新建的數據庫rename為之前的數據庫名稱。

     

     

    这是我以前在sqlserver2000中遇到的.

    你试试.


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    • 已标记为答案 员工 2010年11月10日 2:45
    2010年11月6日 14:39