Una de las buenas practicas para cuando iniciamos una solución en SharePoint no importa la versión es crear una colección de sitios para dicha solución y esta con su bases de datos de contenido, Esto permitirá que sea portable la solución desarrollada.
Para realizar esto debemos hacer lo siguiente:
1) Crear la base de datos de contenido
2) Crear la colección de sitios para la base de datos nueva
Como buen desarrollador prefiero utilizar la línea de comando que la interfaz de usuario. Así que aquí les va en línea de comando:
Crear la base de datos de contenido
PS C:\Users\Administrator> Mount-SPContentDatabase -Name WSS_Content_ArchivoDigi
tal -WebApplication http://sp2013bi
---resultado ----
Id : 47b71298-e23c-421b-bb6a-5e65428b8a4d
Name : WSS_Content_ArchivoDigital
WebApplication : SPWebApplication Name=SharePoint - 80
Server : sp2013bi\powerpivot
CurrentSiteCount : 0
Crear la colección de sitios para la base de datos nueva
PS C:\Users\Administrator> New-SPSite -Url http://sp2013bi/sites/ADigital -Langu
age 1033 -Template STS#0 -Name "Archivo Digital" -OwnerAlias "Administrator" -Co
ntentDatabase WSS_Content_ArchivoDigital -Verbose
---resultado---
VERBOSE: Leaving BeginProcessing Method of New-SPSite.
VERBOSE: Performing operation "New-SPSite" on Target
"http://sp2013bi/sites/ADigital".
Url CompatibilityLevel
--- ------------------
http://sp2013bi/sites/ADigital 15
VERBOSE: Leaving ProcessRecord Method of New-SPSite.
VERBOSE: Leaving EndProcessing Method of New-SPSite.
Ayudas:
Para revisar las plantillas para la colección de sitios ejecutar el comando:
get-SPWebTemplate
Name Title LocaleId Compat
ibilit
yLevel
---- ----- -------- ------
GLOBAL#0 Global template 1033 15
STS#0 Team Site 1033 15
STS#1 Blank Site 1033 15
STS#2 Document Workspace 1033 15
MPS#0 Basic Meeting Workspace 1033 15
MPS#1 Blank Meeting Workspace 1033 15
MPS#2 Decision Meeting Workspace 1033 15
MPS#3 Social Meeting Workspace 1033 15
MPS#4 Multipage Meeting Workspace 1033 15
CENTRALADMIN#0 Central Admin Site 1033 15
WIKI#0 Wiki Site 1033 15
BLOG#0 Blog 1033 15
SGS#0 Group Work Site 1033 15
TENANTADMIN#0 Tenant Admin Site 1033 15
APP#0 App Template 1033 15
APPCATALOG#0 App Catalog Site 1033 15
ACCSRV#0 Access Services Site 1033 15
ACCSVC#0 Access Services Site Internal 1033 15
ACCSVC#1 Access Services Site 1033 15
BDR#0 Document Center 1033 15
DEV#0 Developer Site 1033 15
DOCMARKETPLACESITE#0 Academic Library 1033 15
EDISC#0 eDiscovery Center 1033 15
EDISC#1 eDiscovery Case 1033 15
OFFILE#0 (obsolete) Records Center 1033 15
OFFILE#1 Records Center 1033 15
OSRV#0 Shared Services Administration Site 1033 15
PPSMASite#0 PerformancePoint 1033 15
BICenterSite#0 Business Intelligence Center 1033 15
SPS#0 SharePoint Portal Server Site 1033 15
SPSPERS#0 SharePoint Portal Server Personal Space 1033 15
SPSPERS#2 Storage And Social SharePoint Portal ... 1033 15
SPSPERS#3 Storage Only SharePoint Portal Server... 1033 15
SPSPERS#4 Social Only SharePoint Portal Server ... 1033 15
SPSPERS#5 Empty SharePoint Portal Server Person... 1033 15
SPSMSITE#0 Personalization Site 1033 15
SPSTOC#0 Contents area Template 1033 15
SPSTOPIC#0 Topic area template 1033 15
SPSNEWS#0 News Site 1033 15
CMSPUBLISHING#0 Publishing Site 1033 15
BLANKINTERNET#0 Publishing Site 1033 15
BLANKINTERNET#1 Press Releases Site 1033 15
BLANKINTERNET#2 Publishing Site with Workflow 1033 15
SPSNHOME#0 News Site 1033 15
SPSSITES#0 Site Directory 1033 15
SPSCOMMU#0 Community area template 1033 15
SPSREPORTCENTER#0 Report Center 1033 15
SPSPORTAL#0 Collaboration Portal 1033 15
SRCHCEN#0 Enterprise Search Center 1033 15
PROFILES#0 Profiles 1033 15
BLANKINTERNETCONT... Publishing Portal 1033 15
SPSMSITEHOST#0 My Site Host 1033 15
ENTERWIKI#0 Enterprise Wiki 1033 15
PROJECTSITE#0 Project Site 1033 15
PRODUCTCATALOG#0 Product Catalog 1033 15
COMMUNITY#0 Community Site 1033 15
COMMUNITYPORTAL#0 Community Portal 1033 15
SRCHCENTERLITE#0 Basic Search Center 1033 15
SRCHCENTERLITE#1 Basic Search Center 1033 15
visprus#0 Visio Process Repository 1033 15
GLOBAL#0 Global template 1033 14
STS#0 Team Site 1033 14
STS#1 Blank Site 1033 14
STS#2 Document Workspace 1033 14
MPS#0 Basic Meeting Workspace 1033 14
MPS#1 Blank Meeting Workspace 1033 14
MPS#2 Decision Meeting Workspace 1033 14
MPS#3 Social Meeting Workspace 1033 14
MPS#4 Multipage Meeting Workspace 1033 14
CENTRALADMIN#0 Central Admin Site 1033 14
WIKI#0 Wiki Site 1033 14
BLOG#0 Blog 1033 14
SGS#0 Group Work Site 1033 14
TENANTADMIN#0 Tenant Admin Site 1033 14
ACCSRV#0 Access Services Site 1033 14
ACCSRV#1 Assets Web Database 1033 14
ACCSRV#3 Charitable Contributions Web Database 1033 14
ACCSRV#4 Contacts Web Database 1033 14
ACCSRV#6 Issues Web Database 1033 14
ACCSRV#5 Projects Web Database 1033 14
BDR#0 Document Center 1033 14
OFFILE#0 (obsolete) Records Center 1033 14
OFFILE#1 Records Center 1033 14
OSRV#0 Shared Services Administration Site 1033 14
PPSMASite#0 PerformancePoint 1033 14
BICenterSite#0 Business Intelligence Center 1033 14
SPS#0 SharePoint Portal Server Site 1033 14
SPSPERS#0 SharePoint Portal Server Personal Space 1033 14
SPSMSITE#0 Personalization Site 1033 14
SPSTOC#0 Contents area Template 1033 14
SPSTOPIC#0 Topic area template 1033 14
SPSNEWS#0 News Site 1033 14
CMSPUBLISHING#0 Publishing Site 1033 14
BLANKINTERNET#0 Publishing Site 1033 14
BLANKINTERNET#1 Press Releases Site 1033 14
BLANKINTERNET#2 Publishing Site with Workflow 1033 14
SPSNHOME#0 News Site 1033 14
SPSSITES#0 Site Directory 1033 14
SPSCOMMU#0 Community area template 1033 14
SPSREPORTCENTER#0 Report Center 1033 14
SPSPORTAL#0 Collaboration Portal 1033 14
SRCHCEN#0 Enterprise Search Center 1033 14
PROFILES#0 Profiles 1033 14
BLANKINTERNETCONT... Publishing Portal 1033 14
SPSMSITEHOST#0 My Site Host 1033 14
ENTERWIKI#0 Enterprise Wiki 1033 14
SRCHCENTERLITE#0 Basic Search Center 1033 14
SRCHCENTERLITE#1 Basic Search Center 1033 14
SRCHCENTERFAST#0 FAST Search Center 1033 14
visprus#0 Visio Process Repository 1033 14
SharePoint4fun!,
Juan Manuel Herrera O.
Micro publicaciones guía para Power Apps, Power Automate, SharePoint y ademas algunos temas de Azure Dev Ops, Desarrollo Web, SQL Server, Asp.net.
Mostrando las entradas con la etiqueta SharePoint. Mostrar todas las entradas
Mostrando las entradas con la etiqueta SharePoint. Mostrar todas las entradas
martes, 8 de agosto de 2017
Buenas practicas para desarrollo de soluciones en SharePoint
Etiquetas:
PowerShell para SharePoint 2010,
PowerShell para SharePoint 2013,
PowerShell para SharePoint 2016,
SharePoint
jueves, 25 de mayo de 2017
Secretos mas reconditos en SharePoint: Cadena de conexión de ConfigDB
Siempre me he preguntado y no se si usted también donde se guarda la cadena de conexión de la base de datos de configuración de la granja de SharePoint Server. Pienso que Esto aplica para 14,15 y 16.
Pues bien necesita irse al registro de windows permedio de regedit y navegar en las carpetas siguiendo la siguiente ruta
HKEY_Local_Machine\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\
De allí depdenderá de la versión de SharePoint. Por ejemplo si es 2015 encontrará la carpeta 15.0 y luego Secure y dentro de ella ConfigDB y alli adentro una llave llamada dsn
La ruta completa sería:
HKEY_Local_Machine\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\15.0\Secure\ConfigDB
Y el valor esperado de la cadena de conexión de la base de datos de configuración de la granja tipicamente nombrada SharePoint_Config es:
Data Source=SPSQLDB;Initial Catalog=SharePoint_Config;Integrated Security=True;Enlist=False;Pooling=True;Min Pool Size=0;Max Pool Size=100;Connect Timeout=15
Así que ya sabe donde.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
Etiquetas:
SharePoint,
SharePoint 2010,
SharePoint 2013,
SharePoint 2016
lunes, 9 de enero de 2017
Job de Papelera de Reciclaje puede provocar caida de un sitio en SharePoint
Este caso nos tuvo casí un mes en la búsqueda de la causa del problema.
El problema:
La colección de sitios principal y primaria de SharePoint reportaba caídas aleatorias en las mañanas entre las 6 y 7 de la mañana. Esto no sucedia a diario y la forma de corregir el problema era que el usuario reiniciaba tanto el servidor de SQL Server como el Front-End.
El Error:
01/06/2017 06:12:40.46 w3wp.exe (0x05C8) 0x1624 SharePoint Foundation Database fa45 High System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.SharePoint.Utilities.SqlSession.OpenConnection() cc94ec34-1e2f-46d3-a524-1aa20ebf64e4
ConnectionString: 'Data Source=SQL_ALIAS_NAME;Initial Catalog=WSS_Content_xxxxx;Integrated Security=True;Enlist=False;Asynchronous Processing=False;Connect Timeout=15'
El Escenario:
Versión de SharePoint Server: 2010
Edición de SharePoint Server: Enterprise
Versión de actualización de Producto: 14.0.6109.5002 (SP1 + Cu Agosto 2012)
Versión Sistema Operativo: Windows 2008 R2 Enterprise SP1 (Fuera de Soporte)
Versión de SQL Server: SQL Server 2008 R2 SP1 (Fuera de Soporte)
Cantidad de Servidores 3: 1 Servidor Front-End/App Server 2 Servidores SQL Server
Configuración de Servidores:
Front End (Fisico)
16 GB RAM
2 procesdores
2 Discos (1 hd 200 Gb, 2 hd 150 Gb)
BackEnd 1 (Fisico)
16 GB RAM
2 procesdores
2 Discos (1 hd 200 Gb, 2 hd 2 Tb)
2 procesdores
2 Discos (1 hd 200 Gb, 2 hd 300 Gb)
Tamaño de base de datos de contenido principal (1.4 TB)
La causa:
SharePoint Server 2010 en adelante tiene un proceso de limpieza de la papelera de reciclaje de cada base de datos de contenido llamada Recycle Bin (Podemos encontrar en la sección de monitoreo ) Job Definitions. Este proceso intentaba eliminar una biblioteca de 500 Gb que fue eliminada hace un mes y el tiempo definido para ejecutar este proceso 5 horas no era suficiente para eliminarla, por lo que mantenia ocupada la conexión o bien realizaba intentos fallidos hasta que agotaba las conexiones disponibles en el pool de conexiones hacia la base de datos y esto provocaba el error.
Se logró ubicar el problema, cuando en vez de iniciar los servidores y luego de reportados se empezo a validar lo siguiente:
1) Que Los recursos de los servidores de la granja estuviesen a bajo del 80% de uso y así estaban por debajo.
2) Que el servicio del IIS estuivese corriendo y no tuviese ningún sitio abajo (y estaba corriendo sin reportar problemas de hecho el central administration funcionaba)
3) Que el servicio de SQL Server de los dos servidores de SQL Server estuvise funcionando y corriendo ( efectivamente funcionaban correctamente)
4) Que el sitio estuviese accesible (aquí fallaba y daba un error 500 servicio no disponible)
5) Validó los jobs que estaban en ejecución y allí se encontró el Recyclebin ejecutandose 3 horas antes y estaba al 50%.
6) Se validó el contenido de la papelera de reciclaje y en segunda fase tenie una biblioteca de 500 GB.
La Solución Alterna:
Se deshabilitó el job de limpieza de la papelera de reciclaje para la aplicación web que contiene esta bilbioteca que no logra eliminar.
La Solución Definitiva:
La granja se planificó migrar a un ambiente virtual el cual tiene mucho mas capacidad de procesamiento y en donde este proceso de limpiza si finalizá con éxito y más rápido. Además de distribuir el contendio de tal forma que se reduzca el tamaño de la base de datos de contenido principal depurando el contenido o moviendolo a una nueva base de datos esto trea consiguo mayor esfuerzo administrativo para el contenido pero lo hace más manejable.
Lección aprendida:
Configurar la depuración de la papelera en un porcentaje menor evitará que permita almacenar 500 GB en la segunda fase. Distribuir el contenido y hacer un plan de gobierno es una práctica poco adoptada pero muy necesaria para evitar estos problemas a largo plazo. Monitorear los servicios de la papelera que demoren mas de una hora para validar sus efectos en dicha demora. También la programación del job de la papelera debe contemplarse su ejecución manual cuando el contenido es arriba de 200 GB y la capacidad de los servidores de la granja actual.
SharePointHardLesson,
Juan Manuel Herrera Ocheita
Etiquetas:
SharePoint,
Solución a problemas SharePoint
Una línea de comando de PowerShell sencilla pero poderosa en su contenido SharePoint 2010,2013,2016
Distribuir contenido es de vital importancia, pero cuando son muchas las bases de datos y colecciones de sitios creadas al restaurar una granja se complica saber donde esta la colección de sitios, por lo que es importanet que contenmos con un listado de las aplicaciones web, sus colecciones y base de datos de contenido.
Cuando creamos de cero una granja y deseamos montar manualmente las base de datos de contenido, es importante saber cual es la base de datos de contenido que tiene la colección de sitios primaria ya que esta debe de restaurarse de primera instancia.
También es importante cuando el contenido esta distribuído que base de datos de contendio tiene la colección de sitios que deseamos restaurar.
El comando deberá ejecutarse desde un servidor de SharePoint desde SharePoint Management Shell. Y la línea de comando es la siguiente:
Get-spsite -Limit all | select url, webapplication, contentdatabase | Export-Csv e:\infoware\listados\ColeccionesSitios.csv -NoTypeInformation
En este ejemplo ficticio vemos que la base de datos de contenido primaria se llama WSS_Content.
Esta será la primera que debemos de montar a través del comando
mount-SPContentDatabase -Name Wss_Content -url http://miportal
Para más información sobre el comando puede utilizar la siguiente línea de comando:
get-help mount-SPContentDatabase -full
Eso esto por este artículo.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
Cuando creamos de cero una granja y deseamos montar manualmente las base de datos de contenido, es importante saber cual es la base de datos de contenido que tiene la colección de sitios primaria ya que esta debe de restaurarse de primera instancia.
También es importante cuando el contenido esta distribuído que base de datos de contendio tiene la colección de sitios que deseamos restaurar.
El comando deberá ejecutarse desde un servidor de SharePoint desde SharePoint Management Shell. Y la línea de comando es la siguiente:
Get-spsite -Limit all | select url, webapplication, contentdatabase | Export-Csv e:\infoware\listados\ColeccionesSitios.csv -NoTypeInformation
Url | WebApplication | ContentDatabase |
http://miportal | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content |
http://miportal/logistica | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_DataCross |
http://miportal/portales | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_Portales |
http://miportal/sites/permisos | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_Search_Center |
http://miportal/sites/apps | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=SharePoint_OC |
http://miportal/sites/capacitacion | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=SharePoint_OC |
http://miportal/sites/inversiones | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_Inversiones |
http://miportal/sites/seguridad | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content |
http://miportal/sites/Proyectos | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_ProyectosIT |
http://miportal/sites/prueba_EC | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_Esthela_Prueba |
http://miportal/sites/search | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_Search_Center |
http://miportal/sites/sharedspace | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_SharedSpace |
http://miportal/sites/temp | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content |
http://miportal/sites/temporal | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_ProyectosIT |
http://miportal/sitios/rrhh | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=SharePoint_OC |
http://miportal/sitios/prueba3 | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_Esthela_Prueba |
http://miportal/sitios/test | SPWebApplication Name=SharePoint - 80 | SPContentDatabase Name=WSS_Content_Portales |
http://miportal:21387/sites/prueba | SPWebApplication Name=Aplicacion Prueba | SPContentDatabase Name=WSS_Content_PRUEBA |
http://miportal:21387/sites/prueba2 | SPWebApplication Name=Aplicacion Prueba | SPContentDatabase Name=WSS_Content_PRUEBA |
http://miportal:21387/sites/prueba3 | SPWebApplication Name=Aplicacion Prueba | SPContentDatabase Name=WSS_Content_PRUEBA |
http://miportal:24301/sites/prueba | SPWebApplication Name=Sitio Federado | SPContentDatabase Name=WSS_Content_SITIOFEDERADO |
En este ejemplo ficticio vemos que la base de datos de contenido primaria se llama WSS_Content.
Esta será la primera que debemos de montar a través del comando
mount-SPContentDatabase -Name Wss_Content -url http://miportal
Para más información sobre el comando puede utilizar la siguiente línea de comando:
get-help mount-SPContentDatabase -full
Eso esto por este artículo.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
Etiquetas:
PowerShell para SharePoint 2010,
PowerShell para SharePoint 2013,
PowerShell para SharePoint 2016,
SharePoint,
SharePoint 2016
martes, 20 de diciembre de 2016
Optimizando SQL Server para Granjas de SharePoint
Ya han pasado 16 años de evolución de la plataforma de SharePoint y así como los seres humanos somos entre el 70% y 80% agua así SharePoint es 80% base de datos por lo menos, así que debemos de cuidar de este recurso tan vital para SharePoint y debemos de empezar configurando SQL Server de forma optima para el funcionamiento de una Granja de SharePoint.
Aspectos Físicos
Desde su concepción debemos de cuidar cosas como:
1) Velocidad de Lectura y Escritura de los discos asignados SQL Server. Hoy en día estamos en un mundo virtual así que muy probablemente se asignen recurson de almacenamiento de la SAN pero debemos de incliniarnos por tener los discos más veloces posibles para ellos, y no asumir que porque es una SAN ya es seguro que tiene discos veloces, hemos visto que SANs con pesimo rendimiento debido a los discos utilizados para este dispositivo de almacenamiento masivo. Discos de estado solido sería la mejor apuesta en cuento a rendimiento.
3) Distribución de discos una buena practica es tener entre 5 y 7 Discos distribuídos de la siguiente forma:
Disco 0 - Sistema Operativo (2 veces la RAM de espacio libre + 1 Gb para Memoria Virtual)
Disco 1 - Page File (Memoria Virtual) (1.5 del total de la RAM)
Disco 2 - Instalación de SQL Server y otro software como antivirus, firewall, etc)
Disco 3 - Bases de datos de Sistema de SQL Server (Master, TempDB, * )
Disco 4 - Archivos de Datos de base de datos
Disco 5 - Archivos de Logs de base de datos
Disco 6 - Para uso temporal (Backups, copia de arhivos y otros usos)
* Para establecer el tamaño máximo de la base de datos tempdb requerido podemos utilizar un factor sencillo como el volumen total de bases de datos esperado por 5% factor obtenido de experiencia de instalaciones que tenemos sobre SharePoint o algo mucho más complejo pueden consutlar el siguiente enlace de Microsoft:
https://technet.microsoft.com/es-es/library/ms345368(v=sql.105).aspx
2) Virtualizar o físico aunque esto ya no debería ser un tema de discusión todavía hay personas que piensas que lo físico tiene mayor rendimiento que lo virtual y en nuestra experiencia las brechas son muy cerradas y el gran inconveniente de lo físico es su capacidad de crecimiento por lo que recomiendo siempre se vayan por una opción virtual y dejen el mito que Servidor de base de datos físico es una mejor apuesta.
Aspectos de Instalación
Una malisima práctica es Instalar todos las características disponibles de SQL Server para una instalación de SharePoint. Esto no solo resta recursos inecesariamente sino que amplia la brecha de ataque malisioso o de puntos de falla de SQL Server y es a lo que menos queremos exponernos.
Las características mínimas recomendadas para SharePoint Standard son:
Database Engine
Full Text Search
Connectivity Client Tools
Management Studio Tools
Reporting Services for SharePoint (Opcional, para versiones 2010 en adelante)
Para SharePoint Enterprise son:
Database Engine, Full Text Search, Client Connectivity and Management Tools, PowerPivot for SharePoint, SSRS SharePoint Integration, Analysis Services
No deberemos incluir cosas como SQL Server Integration Services, tampoco SDKs, Reporting Services Nativo, y el resto de características no mencionadas arriba, no las instale.
Aspectos de Configuración
Para el Motor de base de Datos de SQL Server Para SharePoint las propiedades que debemos de modificar y validar son:
https://technet.microsoft.com/en-us/library/hh292622.aspx
Memoria
Memoria del Servidor Máxima: 65% y 75%
Memoria del Servidor Mínima : 35% del Valor de la memoria Máxima
Procesadores
Validar que esten hablitados todos los procesadores y que NO este habilitado Boost SQL Server Priority. Microsoft no recomienda utilizarla y la eliminará en el futuro.
https://msdn.microsoft.com/en-us/library/ms188709.aspx
his feature will be removed in a future version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.
Configuración de base de datos
Default index fill factor 80. Este valor es optimo para el crecimiento y reducir la fragmentación de los índices
https://msdn.microsoft.com/en-us/library/ms177459.aspx
https://technet.microsoft.com/en-us/library/cc262731(v=office.14).aspx
Opciones
Modelo de Recuperación Simple. Solo si el negocio le solicita recuperar la ultima transacción de un desastre, no esta en alta disponibilidad su granaja y tiene una disciplina de Backups Completos e incrementales se recomienda Full. De lo contrario evitese lidiar con grandes arhivos Logs cambiandolo al modelo Simple y luego haga un shrink al archivo log de base de datos.
Avanzado
Max Degree of Parallelism = 1. Esto es para asegurar que un solo proceso de SQL Server sirve para cada solicitud. https://msdn.microsoft.com/en-us/library/ms189094.aspx
Crecimiento de los archivos
Los archivos de base de datos deberemos colocarlos sin restricción con autocrecimiento pero en vez de un porcentaje asignele un valor en MB que puede ser entre 100 Mb y 2,000 MB dependiendo del volumen de los documentos que se suban a SharePoint o el volumen de transacciones.
Por ultimo un plan de mantenimiento de base de datos siempre es importante para mantener los datos a salvo y disponible eso será el próximo artículo que les escribiré amigos lectores.
Estas prácticas lo ayudaran a tener optimo el servidor de base de datos y funcionando de forma balanceada para garantizar la disponibilidad y buen funcionamiento de SQL Server para SharePoint.
SharePoint4Fun,
Juan Manuel Herrera
Aspectos Físicos
Desde su concepción debemos de cuidar cosas como:
1) Velocidad de Lectura y Escritura de los discos asignados SQL Server. Hoy en día estamos en un mundo virtual así que muy probablemente se asignen recurson de almacenamiento de la SAN pero debemos de incliniarnos por tener los discos más veloces posibles para ellos, y no asumir que porque es una SAN ya es seguro que tiene discos veloces, hemos visto que SANs con pesimo rendimiento debido a los discos utilizados para este dispositivo de almacenamiento masivo. Discos de estado solido sería la mejor apuesta en cuento a rendimiento.
3) Distribución de discos una buena practica es tener entre 5 y 7 Discos distribuídos de la siguiente forma:
Disco 0 - Sistema Operativo (2 veces la RAM de espacio libre + 1 Gb para Memoria Virtual)
Disco 1 - Page File (Memoria Virtual) (1.5 del total de la RAM)
Disco 2 - Instalación de SQL Server y otro software como antivirus, firewall, etc)
Disco 3 - Bases de datos de Sistema de SQL Server (Master, TempDB, * )
Disco 4 - Archivos de Datos de base de datos
Disco 5 - Archivos de Logs de base de datos
Disco 6 - Para uso temporal (Backups, copia de arhivos y otros usos)
* Para establecer el tamaño máximo de la base de datos tempdb requerido podemos utilizar un factor sencillo como el volumen total de bases de datos esperado por 5% factor obtenido de experiencia de instalaciones que tenemos sobre SharePoint o algo mucho más complejo pueden consutlar el siguiente enlace de Microsoft:
https://technet.microsoft.com/es-es/library/ms345368(v=sql.105).aspx
2) Virtualizar o físico aunque esto ya no debería ser un tema de discusión todavía hay personas que piensas que lo físico tiene mayor rendimiento que lo virtual y en nuestra experiencia las brechas son muy cerradas y el gran inconveniente de lo físico es su capacidad de crecimiento por lo que recomiendo siempre se vayan por una opción virtual y dejen el mito que Servidor de base de datos físico es una mejor apuesta.
Aspectos de Instalación
Una malisima práctica es Instalar todos las características disponibles de SQL Server para una instalación de SharePoint. Esto no solo resta recursos inecesariamente sino que amplia la brecha de ataque malisioso o de puntos de falla de SQL Server y es a lo que menos queremos exponernos.
Las características mínimas recomendadas para SharePoint Standard son:
Database Engine
Full Text Search
Connectivity Client Tools
Management Studio Tools
Reporting Services for SharePoint (Opcional, para versiones 2010 en adelante)
Para SharePoint Enterprise son:
Database Engine, Full Text Search, Client Connectivity and Management Tools, PowerPivot for SharePoint, SSRS SharePoint Integration, Analysis Services
No deberemos incluir cosas como SQL Server Integration Services, tampoco SDKs, Reporting Services Nativo, y el resto de características no mencionadas arriba, no las instale.
Aspectos de Configuración
Para el Motor de base de Datos de SQL Server Para SharePoint las propiedades que debemos de modificar y validar son:
https://technet.microsoft.com/en-us/library/hh292622.aspx
Memoria
Memoria del Servidor Máxima: 65% y 75%
Memoria del Servidor Mínima : 35% del Valor de la memoria Máxima
Procesadores
Validar que esten hablitados todos los procesadores y que NO este habilitado Boost SQL Server Priority. Microsoft no recomienda utilizarla y la eliminará en el futuro.
https://msdn.microsoft.com/en-us/library/ms188709.aspx
his feature will be removed in a future version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.
Configuración de base de datos
Default index fill factor 80. Este valor es optimo para el crecimiento y reducir la fragmentación de los índices
https://msdn.microsoft.com/en-us/library/ms177459.aspx
https://technet.microsoft.com/en-us/library/cc262731(v=office.14).aspx
Opciones
Modelo de Recuperación Simple. Solo si el negocio le solicita recuperar la ultima transacción de un desastre, no esta en alta disponibilidad su granaja y tiene una disciplina de Backups Completos e incrementales se recomienda Full. De lo contrario evitese lidiar con grandes arhivos Logs cambiandolo al modelo Simple y luego haga un shrink al archivo log de base de datos.
Avanzado
Max Degree of Parallelism = 1. Esto es para asegurar que un solo proceso de SQL Server sirve para cada solicitud. https://msdn.microsoft.com/en-us/library/ms189094.aspx
Crecimiento de los archivos
Los archivos de base de datos deberemos colocarlos sin restricción con autocrecimiento pero en vez de un porcentaje asignele un valor en MB que puede ser entre 100 Mb y 2,000 MB dependiendo del volumen de los documentos que se suban a SharePoint o el volumen de transacciones.
Por ultimo un plan de mantenimiento de base de datos siempre es importante para mantener los datos a salvo y disponible eso será el próximo artículo que les escribiré amigos lectores.
Estas prácticas lo ayudaran a tener optimo el servidor de base de datos y funcionando de forma balanceada para garantizar la disponibilidad y buen funcionamiento de SQL Server para SharePoint.
SharePoint4Fun,
Juan Manuel Herrera
Etiquetas:
Optimización,
SharePoint,
SQL Server
5 razones para No compartir el servidor de base de datos de SharePoint con otras aplicaciones
A veces no es bien comprendido la importancia del Back-End en una granja de SharePoint y sin validar de forma adecuada los requerimientos del negocio, del producto (SharePoint) y del alcance de un proyecto de implementación de la granja de SharePoint.
Para evaluar las 5 razones que debemos ver para no compartir el servidor de SQL SErver son:
1) El Negocio
2) La Versión de SharePoint
3) La Edición de SharePoint
4) La pontencial demanda
5) El Mantenimiento
El Negocio
Define la exigencia de la disponibilidad de SharePoint, el volumen de usuarios activos en SharePoint. Es decir El negocio puede definir que el horario de disponbilidad de SharePoint debe de ser desde las 6 am hasta las 11 pm. Esto implica que si hay otras instancias en SQL Server corriendo otras aplicaciones pueda que no coincidan con la misma exigencia de disponibilidad. También el negocio define la criticidad tanto de SharePoint como de las otras instancias las cuales requieran una mayor exigencia.
La Versión de SharePoint
La versión de SharePoint nos define la versión de SQL Server por ejemplo veamos esta tabla:
Por ejemplo para la edición Standard de SharePoint requieres como mínimo SQL Server Standard y las siguientes características del SQL Server (Aplica para Versiones 2007 en adelante):
Database Engine
Full Text Search
Connectivity Client Tools
Management Studio Tools
Reporting Services for SharePoint (Opcional, para versiones 2010 en adelante)
En cambio para la edición SharePoint Enterprise es otra historia dependiendo de versión de SharePoint requeriras diferentes ediciones de SQL Server. A continuación la tabla y sus características mínimas a instalar:
Esto implica que la instancia para SharePoint demandará características del producto que pueda no tenga otra de las aplicaciones que consumen los servicios de SQL Server y esto demanda mas recursos del servidor y mas puntos de falla que puedan no ser deseables para aplicaciones transaccionales por ejemplo.
La potencial demanda
SharePoint es una plataforma multiproposito podemos utilizarlo como un portal de comunicación institucional, como un repositorio de documentos, como un repositorio de activos digitales o multimeda donde el consumo de recursos sea altos por videos, imágenes, que se subien o visualizan en el portal. Además podemos interconectar otras aplicaciones para que sean visualizadas a través de SharePoint, edición de documentos en línea, consumo de datos multidimensonales a través del despliegue de reportes o gráficas todo esto puede conllevar a que no sean los recursos suficientes o le este quitando los recursos a otras instancias en SQL Server, dependerá como se haya configurada cada instancia del SQL Server Compartido.
El Mantenimiento
Por último pero no por ello menos importante es el mantenimiento como toda aplicación o plataforma la instancia de SharePoint requiere mantenimiento y si la ventana de mantenimiento es muy reducida debido a las otras instancias que comparte pueda que no sea suficiente cuando hay grandes volumenes de contenido ya en SharePoint los procesos demoran más y no es posible en ese rango de 3 o 4 horas finalizarlos. Además será muy agotador para las áreas de tecnología responsables realizar estos mantenimientos en horarios nocturnos o de madrugada.
Por lo anterior mi recomendación es que no compartan el SQL Server asignado a SharePoint con otras aplicaciones y menos de misión crítica y si ya la estan compartiendo y SharePoint es un producto demandado presupuesten la migración a un servidor de SQL Server exclusivo para la Granja de SharePoint, vivirán menos estresados y mas confiados en que no estan adicionando stress a la ya compleja y sofisticada configuración de una Granja de SharePoint.
Hasta la próxima,
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
Para evaluar las 5 razones que debemos ver para no compartir el servidor de SQL SErver son:
1) El Negocio
2) La Versión de SharePoint
3) La Edición de SharePoint
4) La pontencial demanda
5) El Mantenimiento
El Negocio
Define la exigencia de la disponibilidad de SharePoint, el volumen de usuarios activos en SharePoint. Es decir El negocio puede definir que el horario de disponbilidad de SharePoint debe de ser desde las 6 am hasta las 11 pm. Esto implica que si hay otras instancias en SQL Server corriendo otras aplicaciones pueda que no coincidan con la misma exigencia de disponibilidad. También el negocio define la criticidad tanto de SharePoint como de las otras instancias las cuales requieran una mayor exigencia.
La Versión de SharePoint
La versión de SharePoint nos define la versión de SQL Server por ejemplo veamos esta tabla:
SharePoint Version | SQL Server Version | SharePoint N-1 on SQL Server N+1 |
SHAREPOINT 2007 | SQL Server 2000 with the latest service pack or Microsoft SQL Server 2005 SP1, 2008, 2008 R2 | https://technet.microsoft.com/en-us/library/cc262485(v=office.12).aspx |
SHAREPOINT 2010 | SQL Server is 2008/2008 R2 and N+1 is SQL Server 2012 | https://technet.microsoft.com/en-us/library/cc262485(office.14).aspx |
SHAREPOINT 2013 | SQL Server 2008 R2 Service Pack 1, SQL Server is 2012 and the N+1 is SQL Server 2014. | https://technet.microsoft.com/en-us/library/cc262485(v=office.15).aspx |
SHAREPOINT 2016 | Microsoft SQL Server 2014 Service Pack 1 (SP1), Microsoft SQL Server 2016 RTM, SQL Express is not supported | https://technet.microsoft.com/en-us/library/cc262485(v=office.16).aspx |
La Edición de SharePoint
La Edición de SharePont es importante ya que para la edición de SharePoint Standard se requierie menos servicios de SQL Server y para la versión Enterprise más y esto puede impactar los servicios configurados en una instalación compartida de SQL Server.
Por ejemplo para la edición Standard de SharePoint requieres como mínimo SQL Server Standard y las siguientes características del SQL Server (Aplica para Versiones 2007 en adelante):
Database Engine
Full Text Search
Connectivity Client Tools
Management Studio Tools
Reporting Services for SharePoint (Opcional, para versiones 2010 en adelante)
En cambio para la edición SharePoint Enterprise es otra historia dependiendo de versión de SharePoint requeriras diferentes ediciones de SQL Server. A continuación la tabla y sus características mínimas a instalar:
SharePoint Versiones | SQL Server Versions & Editions | Características | Enlaces |
SHAREPOINT Server 2007 Enterprise | SQL SERVER 2000,2005, 2008, 2008 R2 STANTARD, ENTERPRISE, DATACENTER | Database Engine, Full Text Search, Client Connectivity and Management Tools, Analysis Services, SSRS Integration Only | https://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx |
SharePoint Server 2010 Enterprise | SQL SERVER 2008 R2 Enterprise, DataCenter | Database Engine, Full Text Search, Client Connectivity and Management Tools, PowerPivot for SharePoint, SSRS SharePoint Integration, Analysis Services | https://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx |
SharePoint Server 2013 Enterprise | SQL Server 2012 y 2014 Business Intelligence, Enterprise | Database Engine, Full Text Search, Client Connectivity and Management Tools, PowerPivot for SharePoint, SSRS SharePoint Integration, Analysis Services | https://msdn.microsoft.com/en-us/library/cc645993(v=sql.110).aspx#PowerPivot https://msdn.microsoft.com/en-us/library/cc645993(v=sql.120).aspx#PowerPivot |
SharePoint Server 2016 Enterprise | SQL Server 2016 Enterprise | Database Engine, Full Text Search, Client Connectivity and Management Tools, PowerPivot for SharePoint, SSRS SharePoint Integration, Analysis Services | https://msdn.microsoft.com/en-us/library/mt742501.aspx#PPSP |
Esto implica que la instancia para SharePoint demandará características del producto que pueda no tenga otra de las aplicaciones que consumen los servicios de SQL Server y esto demanda mas recursos del servidor y mas puntos de falla que puedan no ser deseables para aplicaciones transaccionales por ejemplo.
La potencial demanda
SharePoint es una plataforma multiproposito podemos utilizarlo como un portal de comunicación institucional, como un repositorio de documentos, como un repositorio de activos digitales o multimeda donde el consumo de recursos sea altos por videos, imágenes, que se subien o visualizan en el portal. Además podemos interconectar otras aplicaciones para que sean visualizadas a través de SharePoint, edición de documentos en línea, consumo de datos multidimensonales a través del despliegue de reportes o gráficas todo esto puede conllevar a que no sean los recursos suficientes o le este quitando los recursos a otras instancias en SQL Server, dependerá como se haya configurada cada instancia del SQL Server Compartido.
El Mantenimiento
Por último pero no por ello menos importante es el mantenimiento como toda aplicación o plataforma la instancia de SharePoint requiere mantenimiento y si la ventana de mantenimiento es muy reducida debido a las otras instancias que comparte pueda que no sea suficiente cuando hay grandes volumenes de contenido ya en SharePoint los procesos demoran más y no es posible en ese rango de 3 o 4 horas finalizarlos. Además será muy agotador para las áreas de tecnología responsables realizar estos mantenimientos en horarios nocturnos o de madrugada.
Por lo anterior mi recomendación es que no compartan el SQL Server asignado a SharePoint con otras aplicaciones y menos de misión crítica y si ya la estan compartiendo y SharePoint es un producto demandado presupuesten la migración a un servidor de SQL Server exclusivo para la Granja de SharePoint, vivirán menos estresados y mas confiados en que no estan adicionando stress a la ya compleja y sofisticada configuración de una Granja de SharePoint.
Hasta la próxima,
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
Etiquetas:
Planificación,
SharePoint,
SQL Server
Suscribirse a:
Entradas (Atom)