Mostrando las entradas con la etiqueta sql. Mostrar todas las entradas
Mostrando las entradas con la etiqueta sql. Mostrar todas las entradas

martes, 4 de junio de 2013

Cuál es la colección de SQL Server Oficial para SharePoint 2013?

Finalmente encontré en vivo y directo respuesta a la pregunta de que colección de SQL Server utilizar para SharePoint, y es la siguiente:

Latin1_General_CI_AS_KS_WS

La colección de SQL Server  proporciona reglas de clasificación, el uso de mayúsculas, y las propiedades de sensibilidad de acento para sus datos, que el motor de SQL Server utiliza para almacenar y manejar los caracteres por ello su importancia e impacto.

Extraído del siguiente video: https://www.microsoftvirtualacademy.com/training-courses/tuning-sql-server-2012-for-sharepoint-2013-jump-start

Y eso es todo!,

Juan Manuel Herrera

Tablas básicas de una base de datos de Contenido de SharePoint 2013

Esto es algo que siempre estamos buscando, por lo que tomado de la presentación  “Key SQL Server and SharePoint Server Integration Concepts” la cual les recomiendo la vean ya que es de una excelente calidad en presentación y contenido (https://www.microsoftvirtualacademy.com/training-courses/tuning-sql-server-2012-for-sharepoint-2013-jump-start) a continuación las tablas básicas de la base de datos de Contenido de SharePoint que no varia en mucho en sus versiones anteriores.

Microsoft no apoya ni recomienda la modificación alguna del contenido y del esquema de sus bases de datos, pero a veces es necesario poder extraer o bien recuperar alguna información a nivel de tabla por lo que es útil saber como esta estructurado el contenido dentro de estas bases de datos.

image

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

viernes, 25 de septiembre de 2009

Crecimiento excesivos de las archivos logs de SQL en SharePoint

Es un problema típico en el mantenimiento de un portal de una instalación típica de SharePoint que no se ha atendido adecuadamente. Y esto ocurre cuando se realiza una plan de mantenimiento en SQL-Server que incluye la realización de copias de seguridad de la base de datos de contenido con un alta periodicidad.

No que esto este mal, de ninguna manera pero si podemos causar el crecimiento excesivo de los archivos logs de las bases de datos de SharePoint por desconocimiento y por falta de atención en el mantenimiento del servidor de base de datos.

En este artículo resumiré el porqué de este crecimiento excesivo, las posibles soluciones y los consejos prácticos que descubrí en la investigación echa en la red que se fundamenta en los artículos escritos por el gurú de SQL Server Paul S. Randal .

Artículos en que se baso la investigación:

http://technet.microsoft.com/en-us/magazine/2009.02.logging.aspx

http://technet.microsoft.com/en-us/magazine/2008.08.database.aspx?pr=blog

A qué se debe del crecimiento excesivo de los logs de las bases de datos de SharePoint

El modelo de recuperación típico en una instalación de SharePoint es Full Recovery este no es afectado sino hasta el momento que se realiza un Backup completo. Entonces sumemos los siguientes factores: Full Recovery y un plan de mantenimiento para la base de datos que realiza un backup completo diario de una base de datos de contenido de SharePoint WSS_Content, de unos 11 Gigas, en poco tiempo (aprox. 3 semanas) tendremos un archivo ldf o log de 41 Gigas y si el espacio disponible de nuestro disco es de tan solo 50 gigas, prácticamente ya se lleno y tendremos como resultado un colapso en el funcionamiento de SharePoint.

Que hacer?

Realice un Shrink de emergencia. Aunque no es la solución ideal la emergencia lo amerita. Vea el procedimiento adecuado y otros temas relacionados al mantenimiento de las bases de datos de SharePoint en el siguiente documento de las mejores prácticas para ello en: http://office.microsoft.com/download/afile.aspx?AssetID=AM102632301033.

Que es lo que debería de hacer?

Realizar el backup de log también para reducir el tamaño del archivo ldf de la base de datos o cambiar el modelo de recuperación de la base de datos a simple. Que desventajas tiene este cambio: pues que no podrá restaurar hasta el ultimo instante cuando se corrompió la base de datos, sino hasta el ultimo backup completo realizado. Pero enfrentémoslo, no podrá recuperarlo si de todos modos solo hace backup completos y no utiliza backups diferenciales cada cierto tiempo mas corto que el del completo (cada cierta cantidad de horas). Para ello hay otras recomendaciones que podrá encontrar al rededor de las referencias mencionadas y que están fueras del alcance de este artículo.

Consejos Prácticos

Dentro de las investigaciones realizadas encontré los siguientes consejo útiles que debemos de tomar en cuenta. A continuación los detallo:

En los archivos ldf pueden tener un impacto muy significativo en el rendimiento de la base de datos, especialmente si la opción auto-growth es configurada para incrementar su tamaño automáticamente solamente por montos muy pequeños cada vez que sea necesario. Lo mejor es definir un tamaño estimado de una sola vez para que no ocurra esto en cada momento en vez del cómodo pero deficiente porcentaje.

Finalmente, deberá cuidarse que la opción Auto Shrink no este habilitada de ninguna forma. Esto puedo reducir el tamaño del archivo mdf (data) o ldf(log), pero es muy dañino, ya que es un proceso pesado de recursos que causan montos masivos de archivos fragmentados que hacen pesada la búsqueda de la información internamente.

Un plan de mantenimiento regular que incluye la ejecución del comando shrink en la base de datos es igual de malo. Si descubre que la base de datos crece luego de la ejecución del plan mantenimiento esto se debe a que la base de datos necesita el espacio en el cual esta ejecutándose. Entonces que hacer?.. Nuevamente como ya dijimos haga un backup del log o cambie el modelo de recuperación de la base de datos a simple.

Ultima recomendación lea los artículos de referencia, vea el video que hay en uno de ellos y aplique su criterio para definir la mejor estrategia que tomará para minimizar o controlar este problema.

Hasta la próxima amigos!,

Manolo Herrera

jueves, 2 de julio de 2009

Error event ID 18456 luego de desconectarse de una granja de servidores en SharePoint

No es un error que según la documentación se debe a falta de permisos en SQL Server en la cuenta nt_authority\system. Revise la cuenta en SQL-Server con SQL Management Studio, en propiedades de la cuenta mapee a la base de datos que indica el error. que en este caso es la “Master” y dele los permisos requeridos.

Es necesario reiniciar los servicios de SQL-Server para que corrija el error.

El detalle del error es el siguiente:

Event Type: Failure Audit
Event Source: MSSQLSERVER
Event Category: (4)
Event ID: 18456
Date: 7/1/2009
Time: 10:07:00 AM
User: NT AUTHORITY\SYSTEM
Computer: SERVER NAME
Description:
Login failed for user 'NT AUTHORITY\SYSTEM'. [CLIENT: <local machine>]

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 18 48 00 00 0e 00 00 00 .H......
0008: 0c 00 00 00 56 00 53 00 ....
0010: 52 00 2d 00 4e 00 50 00
0018: 4f 00 52 00 54 00 41 00
0020: 4c 00 00 00 07 00 00 00 .......
0028: 6d 00 61 00 73 00 74 00 m.a.s.t.
0030: 65 00 72 00 00 00 e.r...

Solución Extrema pero efectiva: Al no corregirse decidí desinstalar SharePoint, y SQL server 2005 e instalar de nuevo. Esto si hizo desaparecer el error.

Hasta la próxima,

Manolo Herrera

sábado, 6 de enero de 2007

Fwd: Tip SQL: Calculando el ultimo dia del mes

En base a una fecha especifica podemos calcular el ultimo dia del mes:


declare @Año varchar(4), @Mes varchar (2), @FechaEspecifica datetime , @Fecha varchar(10), @FechaInicial datetime , @FechaFinal datetime

set @FechaEspecifica = getdate()

select @Año = Convert(varchar (4),datepart(year ,@FechaEspecifica))

select @Mes = right('0' +Convert(varchar(2), datepart(month,@FechaEspecifica )),2)

set @Fecha = @Año+@Mes+ '01' -- compongo la fecha especifica al primer dia del mes

set @FechaInicial = Convert( datetime,@Fecha) --- obtengo el primer dia del mes

print @FechaInicial

set @FechaFinal = dateadd( month,1,@FechaInicial) -1 -- incremento un mes y le resto un dia

print @FechaFinal

--- version corta

print dateadd(month ,1, Convert(datetime ,Convert(varchar(4 ),datepart(year,@FechaEspecifica ))+right('0'+Convert(varchar (2),datepart(month ,@FechaEspecifica)),2)+ '01'))-1



-- Resultados Obtenidos

Jan 1 2007 12:00AM

Jan 31 2007 12:00AM

Jan 31 2007 12:00AM

--
Saludos,

Manolo Herrera