Pregunta

Tengo una colección de sitios de SharePoint (2013) que está bloqueada en modo de solo lectura debido a una copia de seguridad que se interrumpió o no finalizó correctamente.

No puedo desbloquear desde:

  • Cuotas de sitio y bloqueo en la administración central (la opción está atenuada)
  • Stsadm :la operación se completa con éxito pero no hay cambios
  • Usando PowerShell:Mismo comportamiento que stsadm.

Revisé la base de datos de contenido asociada para asegurarme de que no estuviera en modo de usuario único ni en modo de solo lectura, lo cual no era el caso.El espacio en disco tampoco es un problema.

¿Alguien sabe cómo SharePoint mantiene esa información en la base de datos de contenido para que yo pueda echar un vistazo?¿Alguna otra forma de desbloquear este estado?

Si alguien quiere reproducir esto, puede interrumpir una operación de copia de seguridad (stsadm/powershell CTRL+C) mientras se realiza la copia de seguridad del sitio.La propiedad ReadOnlyMode (y la propiedad MaintenanceMode asociada) se dejarán en "Verdadero" para evitar cualquier actualización.

¿Fue útil?

Solución

¡Esta es una situación de pesadilla!Se intensificó en Microsoft, quienes de hecho lo saben y ya arreglaron la fuente (por lo que las copias de seguridad canceladas no desencadenan esto) en la CU de abril. http://blogs.technet.com/b/stefan_gossner/archive/2013/04/27/april-2013-cu-for-sharepoint-2013-has-been-released.aspx - Primero debes instalar March CU.

Sin embargo, lo hace no sin embargo, solucione el hecho de que no puede volver a cambiar la colección de sitios a modo de solo lectura, por lo que sigue siendo una situación mortal, especialmente con un sitio grande.Peor aún, no sirve de nada restaurar una nueva copia de seguridad completa de la colección del sitio bloqueado (¡aunque sepa que no tiene nada de malo aparte del indicador de solo lectura/modo de mantenimiento!), ya que después de todo eso, ¡permanece bloqueado!Sin embargo, afortunadamente, la bandera está en el nivel Site Coll, no en Farm, por lo que incluso si fue su primera copia de seguridad (¡acabábamos de migrar todos los documentos a ella y la puesta en marcha fue en forma de pera gracias a esto!) o no lo hace. Si desea perder datos con una copia de seguridad reciente, descubrimos que puede usar Export-SPWeb de manera segura para sacar todo de ese Site Coll bloqueado, eliminar el Site Coll (¡doloroso pero necesario!), crear uno nuevo y usar Import-SPWeb para traerlo todo. de nuevo.

Consejo: Import-SPWeb puede simplemente usar el nombre de archivo original de Export y encadenará automáticamente todos esos múltiples archivos .cmp en los que dividió cualquier sitio grande para que no tenga que hacerlos individualmente.

Lo ejecutamos hace un día y, para nuestro alivio, todo, incluidos los permisos a nivel de elemento asignados a las cuentas de Logística de Amazon (usarás -IncludeUserSecurity en Export-SPWeb, por supuesto), está funcionando bien nuevamente.¡Se acabó el infarto por ahora!


ACTUALIZAR :

¡Microsoft me volvió a llamar y me dio la solución!

PS C:\Users\root> $Admin =  new-object Microsoft.SharePoint.Administration.SPS
iteAdministration('http://root.toto.com')
PS C:\Users\root> $Admin.ClearMaintenanceMode()
PS C:\Users\root> $site.MaintenanceMode
True

Después de eso, ¡mi colección de sitios ya no será de solo lectura!

Otros consejos

Una solución alternativa al problema de no haber actualizado a la CU de abril de 2013 es un script de PowerShell simple que utiliza la reflexión para establecer el valor de la propiedad interna 'MaintenanceMode':

$site = Get-SPSite http://urltofreakinlockedsite/
$site.GetType().GetProperty("MaintenanceMode").GetSetMethod($true).Invoke($site, @($false))

Este enfoque tiene la ventaja de no necesitar tocar la base de datos.Habiendo usado .NET Reflector en la versión CU ​​de abril de 2013 de Microsoft.SharePoint.dll, ¡esto es de hecho lo que hace SPSiteAdministration.ClearMaintenanceMode()!

Deberá ejecutar esto en el servidor y como administrador de la granja con acceso de escritura a la base de datos de contenido.

Esto funcionará en las versiones CU de SharePoint 2013 anteriores y posteriores a abril de 2013.

Parece ser un problema de SharePoint. Aquí es una publicación que tal vez pueda ayudarte.

EDITADO:

De hecho, este es un problema conocido de Microsoft.La única forma de solucionar esto es restaurar la copia de seguridad de su sitio que anula la colección del sitio bloqueado.De esta manera, la bandera que está configurada solo para leer será gratuita por el proceso de restauración y la colección del sitio estará disponible nuevamente

Andrés

Sólo para dejar esto claro a otros que lean esto.No puede solucionar este problema en SharePoint RTM con los comandos anteriores.Primero debe actualizar RTM a marzo y luego a abril.Una vez completado, ejecute los siguientes dos comandos en el sitio en cuestión.

PS C:\Users\root> $Admin =  new-object Microsoft.SharePoint.Administration.SPSiteAdministration('http://root.toto.com')
PS C:\Users\root> $Admin.ClearMaintenanceMode()

Eso es todo.

Es una absoluta locura que SharePOint 2013 necesite dos actualizaciones de CU antes de poder acceder a la propiedad a través de Powershell.Al menos hay una solución, supongo.

Excelente, también sirve para SharePoint 2016.

PS C:\Users\root> $site = Get-SPSite http://contoso.com
PS C:\Users\root> $site.GetType().GetProperty("MaintenanceMode").GetSetMethod($true).Invoke($site, @($false))
PS C:\Users\root>
Licenciado bajo: CC-BY-SA con atribución
scroll top