尝试修复SQL Server 12数据库

时间:2018-05-02 19:20:58

标签: sql-server tsql

在Transact SQL中使用以下代码来尝试修复数据库

DBCC CHECKDB     
   DBCC CHECKDB     
   [  Sellmdat2ksql | 5 
    [ , NOINDEX     
    | , { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ]    
     ) ]    
 GO

我收到以下错误,不熟悉Transact sql

''附近的语法不正确(Sellmdat2ksql | 5         [,NOINDEX         [,{REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD}'。

2 个答案:

答案 0 :(得分:1)

 ALTER DATABASE Sellmdat2ksql
 SET SINGLE_USER;

 DBCC CHECKDB ('Sellmdat2ksql ', REPAIR_ALLOW_DATA_LOSS);

 ALTER DATABASE Sellmdat2ksql
 SET MULTI_USER;

答案 1 :(得分:0)

首先,我们需要将数据库设置为单用户模式,运行修复,然后将数据库设置为多用户模式。

ALTER DATABASE AdventureWorks2008R2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
BEGIN TRANSACTION;
DBCC CHECKDB ('Sellmdat2ksql', REPAIR_ALLOW_DATA_LOSS);
ALTER DATABASE AdventureWorks2008R2 SET MULTI_USER;

如果无法使用,您也可以使用软件恢复工具,如我所说的here

您可以使用工具SQL Database Recovery Tool Repairs,该工具将用于修复损坏的数据库。