{"id":2520,"date":"2014-09-18T08:47:27","date_gmt":"2014-09-18T11:47:27","guid":{"rendered":"https:\/\/alfagestion.com.ar\/faq\/?p=2520"},"modified":"2016-05-02T16:39:49","modified_gmt":"2016-05-02T19:39:49","slug":"recuperar-base-sql-danada","status":"publish","type":"post","link":"https:\/\/www.alfagestion.com.ar\/ag\/recuperar-base-sql-danada\/","title":{"rendered":"Recuperar base SQL da\u00f1ada"},"content":{"rendered":"<p><strong>Escenario<\/strong>: Se da\u00f1\u00f3 la base de datos MIBASE.MDF, el registro de transacciones MIBASE_LOG.LDF se encuentra roto. El estado de la base de datos es &#8220;Sospechoso&#8221; y no se puede acceder a las tablas.\n<\/p>\n<p><strong>Motor de Base de Datos<\/strong>: SQL SERVER 2000\n<\/p>\n<p><strong>M\u00e9todo utilizado<\/strong>:\n<\/p>\n<ol>\n<li>Separar la base de datos.  (detach)\n<\/li>\n<li>\n<div>Crear una nueva base de datos (en otra carpeta) con el mismo nombre. Por ejemplo, la base original esta en C:\\MSSQL7\\DATA\\MIBASE.MDF crear la nueva en  C:\\MSSQL7\\DATA_REPARADA\\MIBASE.MDF\n<\/div>\n<p>Asegurarse de crear el archivo LOG en la misma ubicaci\u00f3n y con el mismo nombre que tenia antes\n<\/p>\n<p>Por ejemplo, el log original esta en C:\\MSSQL7\\DATA\\MIBASE_LOG.LDF crear la nueva en  C:\\MSSQL7\\DATA_REPARADA\\MIBASE_LOG.LDF\n<\/p>\n<\/li>\n<li>Detener el Servicio del SQL Server\n<\/li>\n<li>\n<div>Copiar el archivo MIBASE.MDF original y reemplazar el nuevo\n<\/div>\n<p>Copy C:\\MSSQL7\\DATA\\MIBASE.MDF C:\\MSSQL7\\DATA_REPARADA\\MIBASE.MDF\n<\/p>\n<p>Ojo, solo copiar el MDF no el LOG\n<\/p>\n<\/li>\n<li>Iniciar nuevamente el SQL Server, ahora ver\u00e1 la base de datos en estado sospechoso, pero puede acceder a los datos\n<\/li>\n<\/ol>\n<p>Para reparar la base, ejecutar los siguientes comandos.\n<\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">USE master;<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">ALTER DATABASE mibase<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">SET SINGLE_USER<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">WITH ROLLBACK IMMEDIATE;<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">GO<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">ALTER DATABASE ALFANET<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">SET READ_ONLY;<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">USE mibase<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 18pt\"><span style=\"color:red\">DBCC CHECKTABLE (&#8216;MV_ASIENTOS&#8217;, REPAIR_ALLOW_DATA_LOSS)  &#8212;  Repara en este ejemplo la tabla de Asientos, tambi\u00e9n puede usar el comando CHECKDB<br \/>\n<\/span><\/p>\n<p>Esto me salv\u00f3 varias veces.\n<\/p>\n<h2>Otras opciones de restauraci\u00f3n:<br \/>\n<\/h2>\n<p><span style=\"color:#70ad47\">\/**<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">PROBADO, FUNCIONA BIEN<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8212; FUENTE: http:\/\/www.guillesql.es\/Articulos\/base_Datos_Sospechosa_Suspect_SQL_Server_2005.aspx<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">Vamos por partes:<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">Lo primero, gracias a la ejecuci\u00f3n del comando DBCC CHECKDB con la opci\u00f3n REPAIR_ALLOW_DATA_LOSS,<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">hemos conseguido reconstruir el Log de la base de datos. Fijaros en las primeras l\u00edneas de la<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">salida de la ejecuci\u00f3n del comando DBCC CHECKDB (Warning: The log for database &#8216;SharePoint_Config&#8217;<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">has been rebuilt). Os lo recalco, porque con las prisas yo no lo le\u00ed, lo que ocurre, es que me guard\u00e9<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">la salida, y me fij\u00e9 un par de d\u00edas m\u00e1s tarde. Que ca\u00f1a. En fin. Con esto, conseguimos respuesta a la<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">pregunta \u00bfC\u00f3mo reconstruir el Log de una base de datos SQL Server 2005 si DBCC REBUILD_LOG no funciona en 2005?<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">Pues con DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS, con qu\u00e9 sino, jeje.<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">Lo segundo, la base de datos se ha recuperado con \u00e9xito, detect\u00e1ndose dos errores de consistencia sobre la<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">tabla TimerRunningJobs que han sido corregidos con \u00e9xito, quedando en modo de acceso exclusivo para DBO.<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">Con esto, podemos revisar su estado y\/o contenido, el ERRORLOG, etc., y cuando estemos seguros, devolver la base<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">de datos a su estado normal con un comando ALTER DATABASE SET MULTI_USER<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">(ej: ALTER DATABASE SharePoint_Config SET MULTI_USER).<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">Vaya, hemos tenido suerte, y al final hemos recuperado nuestra base de datos SQL Server 2005 desde su estado<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\"> Sospechoso (Suspect) a un estado normal, y en consecuencia, he recuperado mi Granja de MOSS. Finalmente,<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\"> incr\u00e9dulo que soy, intent\u00e9 acceder a MOSS con Internet Explorer, tanto al Portal como a la Consola de<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\"> Administraci\u00f3n Central, y todo funciona correctamente. Uff, por f\u00edn puedo respirar tranquilo.<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">Como recopilaci\u00f3n de los pasos realizados:<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">**\/<br \/>\n<\/span><\/p>\n<p> ALTER DATABASE ALFANET SET EMERGENCY\n<\/p>\n<p>GO\n<\/p>\n<p><span style=\"color:#70ad47\"><strong>&#8212; NOTA: He tenido que utilizar WITH ROLLBACK IMMEDIATE,<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color:#70ad47\"><strong>&#8212; porque el ALTER DATABASE no progresaba<br \/>\n<\/strong><\/span><\/p>\n<p>ALTER DATABASE ALFANET SET SINGLE_USER\n<\/p>\n<p>WITH ROLLBACK IMMEDIATE\n<\/p>\n<p>GO\n<\/p>\n<p>DBCC CHECKDB (ALFANET, REPAIR_ALLOW_DATA_LOSS)\n<\/p>\n<p>GO\n<\/p>\n<p>ALTER DATABASE ALFANET SET MULTI_USER\n<\/p>\n<p>GO\n<\/p>\n<p>\n\u00a0<\/p>\n<h2>Otros commandos que pueden ser utiles<br \/>\n<\/h2>\n<p><span style=\"color:#70ad47\">&#8212; pone en modo USUARIO UNICO<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;USE master;<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;ALTER DATABASE Alfanet<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;SET SINGLE_USER<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;WITH ROLLBACK IMMEDIATE;<br \/>\n<\/span><\/p>\n<p>\n\u00a0<\/p>\n<p>\n\u00a0<\/p>\n<p><span style=\"color:#70ad47\">&#8212; pone en modo MULTI USUARIO<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;USE master;<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;ALTER DATABASE Alfanet<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;SET MULTI_USER<br \/>\n<\/span><\/p>\n<p>\n\u00a0<\/p>\n<p>\n\u00a0<\/p>\n<p>\n\u00a0<\/p>\n<p><span style=\"color:#70ad47\">&#8212; pone en modo SOLO LECTURA<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;USE master;<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;ALTER DATABASE ALFANET<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;SET READ_ONLY;<br \/>\n<\/span><\/p>\n<p>\n\u00a0<\/p>\n<p><span style=\"color:#70ad47\">&#8212; pone en modo SOLO LECTURA Y ESCRITURA<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;USE master;<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;ALTER DATABASE ALFANET<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;SET READ_WRITE;<br \/>\n<\/span><\/p>\n<p>\n\u00a0<\/p>\n<p><span style=\"color:#70ad47\">&#8212; Repara una tabla<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;USE ALFANET<br \/>\n<\/span><\/p>\n<p><span style=\"color:#70ad47\">&#8211;DBCC CHECKTABLE (&#8216;MV_ASIENTOS&#8217;, REPAIR_ALLOW_DATA_LOSS)<br \/>\n<\/span><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Compartir:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"https:\/\/www.alfagestion.com.ar\/ag\/recuperar-base-sql-danada\/?share=email\" target=\"_blank\" title=\"Haz clic para enviar por correo electr\u00f3nico a un amigo\"><span>Correo electr\u00f3nico<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/www.alfagestion.com.ar\/ag\/recuperar-base-sql-danada\/\" target=\"_blank\" title=\"Haz clic para imprimir\"><span>Imprimir<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Escenario: Se da\u00f1\u00f3 la base de datos MIBASE.MDF, el registro de transacciones MIBASE_LOG.LDF se encuentra roto. El estado de la base de datos es &#8220;Sospechoso&#8221; y no se puede acceder a las tablas. Motor de Base de Datos: SQL SERVER &hellip; <a class=\"kt-excerpt-readmore\" href=\"https:\/\/www.alfagestion.com.ar\/ag\/recuperar-base-sql-danada\/\" aria-label=\"Recuperar base SQL da\u00f1ada\">Leer m&aacute;s<\/a><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Compartir:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"https:\/\/www.alfagestion.com.ar\/ag\/recuperar-base-sql-danada\/?share=email\" target=\"_blank\" title=\"Haz clic para enviar por correo electr\u00f3nico a un amigo\"><span>Correo electr\u00f3nico<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/www.alfagestion.com.ar\/ag\/recuperar-base-sql-danada\/\" target=\"_blank\" title=\"Haz clic para imprimir\"><span>Imprimir<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[149],"tags":[],"class_list":["post-2520","post","type-post","status-publish","format-standard","hentry","category-base-de-datos"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9eJDz-EE","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":4973,"url":"https:\/\/www.alfagestion.com.ar\/ag\/recuperar-base-de-datos-sql-server-sin-ldf\/","url_meta":{"origin":2520,"position":0},"title":"Recuperar base de datos SQL Server sin ldf","date":"1 agosto 2017","format":false,"excerpt":"Necesitamos restaurar un\u00a0archivo .mdf\u00a0en una instancia diferente desde la que viene, debido a que esa instancia tiene alg\u00fan problema y no la podemos iniciar. Al cerrarse mal la instancia por un error en el disco o en el servidor , al adjuntar el archivo .mdf nos dice que el .ldf\u2026","rel":"","context":"En \u00abBase de Datos\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1640,"url":"https:\/\/www.alfagestion.com.ar\/ag\/como-crear-una-nueva-empresa\/","url_meta":{"origin":2520,"position":1},"title":"Como crear una nueva empresa","date":"13 noviembre 2013","format":false,"excerpt":"Si necesita abrir una nueva empresa, para comenzar desde cero a cargar los datos, deber\u00e1 ir al men\u00fa utilidades, utilidades avanzadas, empresas. Luego aparecer\u00e1 una pantalla como la siguiente En el nombre del servidor, normalmente es el nombre de la PC donde esta ejecutando el sistema, salvo que sea por\u2026","rel":"","context":"En \u00abAlfa Gesti\u00f3n Comercial\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4712,"url":"https:\/\/www.alfagestion.com.ar\/ag\/iniciar-sql-server-desde-linea-de-comando\/","url_meta":{"origin":2520,"position":2},"title":"INICIAR SQL SERVER DESDE LINEA DE COMANDO","date":"28 febrero 2017","format":false,"excerpt":"En algunas versiones de Windows Vista, tambien en windows 2010, surgio que no se inicia automaticamente el sql server 2008, pero no ocurre siempre. Al darle iniciar desde Servicios de windows, inicia sin inconvenientes. Para evitar este problema, se puede crear una tarea programada, y hacer que se ejecute al\u2026","rel":"","context":"En \u00abBase de Datos\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1269,"url":"https:\/\/www.alfagestion.com.ar\/ag\/error-tieme-out-o-tiempo-de-espera-finalizado\/","url_meta":{"origin":2520,"position":3},"title":"Error Tieme Out o Tiempo de espera finalizado","date":"25 agosto 2011","format":false,"excerpt":"Abrir la tabla AUX_ERR. Identificar el c\u00f3digo del error. Para ordenar por fecha (Order by fecha = 'xx\/xx\/xxxx') En una nueva consulta ejecutar el siguiente Script. DECLARE @SQL nvarchar(4000) set @sql = 'bcp \"select sql from abuela.dbo.aux_err where id = 821\" queryout \"c:\\xx.txt\" -c -T -C ANSI' exec master..xp_cmdshell @sql\u2026","rel":"","context":"En \u00abAlfa Gesti\u00f3n Comercial\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2540,"url":"https:\/\/www.alfagestion.com.ar\/ag\/sql-server-2000-base-en-estado-suspect\/","url_meta":{"origin":2520,"position":4},"title":"SQL Server 2000 \u2013 Base en estado Suspect","date":"25 septiembre 2014","format":false,"excerpt":"Base de Datos Sospechosa (Suspect), recuperaci\u00f3n con sp_resetstatus y DBCC DBRECOVER, y el Modo de Emergencia Volver a: [SQL Server FAQ :: Preguntas y Respuestas Frecuentes de SQL Server :: Manual SQL Server] \u00a0Un problema t\u00edpico en Administraci\u00f3n de Bases de Datos SQL Server, es encontrar una Base de Datos\u2026","rel":"","context":"En \u00abBase de Datos\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4688,"url":"https:\/\/www.alfagestion.com.ar\/ag\/error-reinicio-al-instalar-sql-server-2008\/","url_meta":{"origin":2520,"position":5},"title":"Error Reinicio al instalar Sql Server 2008","date":"8 febrero 2017","format":false,"excerpt":"Pregunta: Estoy tratando de instalar SQL server 2008 Enterprise y al verificar las Reglas Auxiliares del programa de Instalaci\u00f3n da error en una sola: Reiniciar el Equipo. Indica que debo reiniciar el equipo antes de la instalaci\u00f3n. Lo reinicio y vuelve a darme el mismo error.\u00a0Gracias. \u00a0Respuesta para pasar esta\u2026","rel":"","context":"En \u00abBase de Datos\u00bb","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/posts\/2520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/comments?post=2520"}],"version-history":[{"count":2,"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/posts\/2520\/revisions"}],"predecessor-version":[{"id":2522,"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/posts\/2520\/revisions\/2522"}],"wp:attachment":[{"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/media?parent=2520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/categories?post=2520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alfagestion.com.ar\/ag\/wp-json\/wp\/v2\/tags?post=2520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}