Debe iniciar una instancia de SQL Server en modo de usuario único al usar DBCC CHECKDB/CHECKTABLE con opciones de reparación


Resumen


La manera correcta de ejecutar una instrucción DBCC CHECKDB o DBCC CHECKTABLE con opciones de reparación válidas es iniciar SQL Server normalmente y, a continuación, establecer la base de datos en modo de usuario único de forma explícita. Puede hacerlo desde el Administrador corporativo o el analizador de consultas.Desde el Administrador corporativo:
  1. Haga clic con el botón secundario en el nombre de la base de datos y haga clic en propiedades.
  2. En el cuadro de diálogo propiedades , haga clic en Opciones.
  3. Seleccione la opción usuario único y, a continuación, haga clic en Aceptar.
Desde el analizador de consultas:
Use mastergosp_dboption dbname, single, true
Una vez que la base de datos está en modo de usuario único, puede ejecutar las instrucciones DBCC CHECKDB o DBCC CHECKTABLE con las opciones de reparación válidas.

Si usa SQL Server 2005

Para obtener más información sobre cómo iniciar SQL Server en modo de usuario único, visite el siguiente sitio web de Microsoft Developer Network (MSDN):

Más información


Si inicia SQL Server en el modo de usuario único (mediante-m) y, a continuación, ejecuta una instrucción DBCC CHECK (CHECKDB o CHECKTABLE) con una de las opciones de reparación válidas, SQL Server genera este mensaje de error:
No se ha procesado la instrucción de reparación. La base de datos debe estar en modo de usuario único. Ejecución de DBCC completada. Si hay mensajes de error de DBCC impresos, póngase en contacto con el administrador de yoursystem.
El mensaje de error anterior corresponde al número de error 7919. en el ejemplo siguiente se muestra el problema:
  1. Inicie SQL Server desde un símbolo del sistema mediante:sqlservr-c-m
  2. Establezca una conexión con SQL Server mediante el analizador de consultas y, a continuación, ejecute el código siguiente:
    Use pubsgoDBCC CHECKTABLE(Authors, REPAIR_REBUILD )go
Estos pasos provocan que se produzca el error que se muestra al principio de la sección "más información". Este comportamiento es una función de diseño. Al iniciar SQL Server en el modo de usuario único, no se establece de forma explícita el estado de cada base de datos en modo de usuario único. Solo lo hace para la base de datos master. Sin embargo, la instrucción DBCC CHECK comprueba el estado de esa base de datos específica en la que se está ejecutando y, si no se ha establecido en un único usuario, se produce el mensaje de error.