sábado, 22 de marzo de 2014

Mejores Prácticas SQL Server para Sharepoint 2010/2013 (Best Practices SQL Server for Sharepoint 2010/2013)–Parte 2

Parte 1: Optimización de los servidores de SQL Server

Parte 2: Optimización de la instancia de SQL Server (acá estamos)

Parte 3: Mantenimiento de SQL Server

OPTIMIZACION DE LA INSTANCIA DE SQL SERVER

  • Setear Max Memory y Min Memory de la instancia.

Puede utilizar el siguiente script: Max Server Memory

Tendrás que setear dos variables dentro del script, y el mismo te generará un tamaño adecuado para el MaxMemory.

· MemToApps: default 512 MB

· RoomForOS: default 1 GB

Hay una fórmula que todos los consultores Sharepoint la utilizan:

SQL Max Memory = TotalPhyMem - (NumOfSQLThreads * ThreadStackSize) - (1GB * CEILING(NumOfCores/4))
NumOfSQLThreads = 256 + (NumOfProcessors*- 4) * 8    
ThreadStackSize = 2MB on x64 or 4 MB on 64-bit (IA64)  (*  If NumOfProcessors > 4, else 0)

Tanto el script como la fórmula, obtenes valores similares.

  • Max Worker Threads:

Total available logical CPU’s <= 4: max worker threads = 512
Total available logical CPU’s > 4: max worker threads = 512 + ((logical CPUS’s - 4) * 16)

  • Maxdop (Maximum Degree of Parallelization) = 1
  • Collation para la instancia=Latin1_General_CI_AS_KS_WS
  • Contained Database = 1 (sólo SQL Server 2012)
  • Auto shrink = false
  • Auto close = false
  • Page verify = checksum
  • Index Fill Factor = 80% (a nivel de instancia)
  • Autogrowth = false

Deberá crecer en tamaños fijos, no mediante porcentaje:

1 GB para los datafiles (dependen del tamaño de la base, se recomienda 25% del tamaño de la base). Mi experiencia que 1GB es un buen tamaño para evitar la fragmentación (puede haber un pequeño tiempo de espera hasta que se aloca 1 GB, prefiero pagar ese tiempo y tener menor fragmentación).

256MB para los logs (25% del tamaño del datafile de la base.)

SIEMPRE es recomendable hacer un pre-growth (pre-allocate) de storage por 4 meses, pero esto genera mucho soporte del equipo de BD.

Para la tempDB utilice la siguiente formula:

[MAX DB SIZE (KB)] X [.25] / [# CORES] = DATA FILE SIZE (KB)

El “starting size” de la tempDB debe ser el 25% de la base de contenido más grande. En el post 3, les dejaré un script para obtener un valor inicial de tempdb más certero.

  • Recovery model para base de datos de usuarios= full mode (depende de tu política de backups)
  • Recovery model para la tempdb= simple mode
  • Auto create statistics: false (en general es buena práctica habilitar esta feature, pero para el caso de Sharepoint se recomienda deshabilitar)
  • Auto update statistics= false (misma consideración que el punto anterior.)
  • Auto update statistics asynchronously= false (misma consideración que el punto anterior.)
  • Se debe 1 datafile por virtual core para la tempdb: ej: si yo tengo una VM con 8 cores, debo tener 8 datafiles. Max Files=8 (no hay mejora después de los 8 datafiles) y todos los datafiles de la tempdb deben ser del mismo tamaño (proportional fill algoritm). Algunos recomiendan tener 1/4 o 1/2 datafile por core (link, link2, link3), yo siempre use 1 datafile por core y nunca tuve problemas, así que sigo recomendando esa configuración. Si distribuyes esos datafiles en distintas LUNs tendrás una mejoría importante.

Otra recomendación es tener 1 sólo transaction log para la tempdb (link). El tamaño de este transaction log debe ser el 25% de la base más grande.

Los nombres de los datafiles deben ser: tempdb1, tempdb2, tempdb3, etc

Ej: 4 cores

image

  • Siempre hacer un pre-size de storage de la tempdb
  • Habilitar el trace flag 1117 (permite mantener los datafiles siempre con el mismo tamaño al hacer growth), se utiliza mucho para la tempdb.
  • Habilitar Instant File Initialization: especialmente para la cuenta que ejecuta el servicio de SQL Server. Se deberá setear la policy “Perform volume mintenance task”. Los logs NO son afectados por este feature.
  • IOPS recomendados: 2 por GB de dato para una performance optima. Sharepoint soporta hasta .25 por GB de dato.
  • Utilizar alias para la configuración de Sharepoint (link)
  • Raid 10 para tempDB
  • Cada 4 web servers (WFE) es recomendable tener otra instancia de SQL Server (otro servidor)
  • IOPS necesarios

Las bases que más consumen IOPS son las bases de Search (links)

Les recomiendo leer la siguiente pptx para tener un mejor capacity planning del Search:

http://video.ch9.ms/sessions/teched/na/2013/SES-B310.pptx

image_thumb[7]

image_thumb[9]

Las bases de contenido pueden variar entre 200 IOPS a 4000 IOPS, dependiendo del uso del contenido (Documentos, Videos, etc).

Las demás bases pueden variar entre 100 IOPS a 200 IOPS.

Les dejo un resumen para que lo tengan como referencia:

image_thumb[11]

  • Calcula prematuramente el tamaño estimado que vas a tener en la granja

Database size = ((D × V) × S) + (10 KB × (L + (V × D)))

10KB es el valor promedio de metadata que es requerido por SP2013.

D=Número de documentos

S=Tamaño promedio de los documentos

L=List Items

V=Número de versiones no actuales

Database data files:

     · Target: <10ms

     · Acceptable: 10-20ms

     · Unacceptable: >20ms

Database log files:

     · Target: <5ms

     · Acceptable: 5-15ms

     · Unacceptable: >15ms

Orden de prioridad:

     · tempDB data y logs files

     · Database transaction logs

     · Seach Data files

     · Content Database data files

  • Read Committed Snapshot Isolation NO está soportado
  • Configurar ModelDB: con parametros similares a los definidos para la content database.
  • NO se debe realizar consultas sobre la base de datos (puede ocasionar locks y rebuilds del schema): En el siguiente Link podrás encontrar más información. La UNICA base en la que se puede realizar queries es WSS_Logging. Link, Link 2. En el caso que quieras hacer queries contra la bases de Sharepoint, has un backup y utiliza ese backup para realizar queries.
  • Compress Backups = True
  • NO se puede ejecutar DBCC CHECKDB WITH REPAIR o sus variantes (no soportado). Si se puede ejecutar los siguientes comandos:
    • DBCC CHECKDB
    • DBCC_CHECKDB WITH REPAIR_FAST
    • REPAIR_REBUILD
  • Tener bases de contenido con tamaño máximo de 200GB (no es un límite de Sharepoint, es por cuestiones de administración principalmente)
  • Configurar la instancia de SQL Server con Mixed Mode, ya que el servicio de Access Service lo requiere.
  • Utiliza standarts para los nombres de las bases de datos.

Tipo

Nombre
Configuration SP_<Farm ID>_Config
Content DB SP_<Farm ID>_Content_<Nombre o Propósito>
Ej: SP_FCentral_Content_Intranet , donde FCentral hace referencia a la granja central
Service Application SP_<Farm ID>_Content_<Service Application>
  • Instalar siempre el último CU disponible para SQL Server (a la escritura de este post era el CU 9)
  • Latencia entre los servidores de SQL Server y los de Application Server/WFE < 1 ms
  • Excluir del antivirus las siguientes extensiones: *.mdf, *.ndf, *.ldf, *.bak. En el caso que tengas un cluster, también <$windir>/cluster
  • Utilizar la versión Enterprise de SQL Server

Mejores Prácticas SQL Server para Sharepoint 2010/2013 (Best Practices SQL Server for Sharepoint 2010/2013)–Parte 1

El artículo se divide en 3 posts:

 OPTIMIZACION DE LOS SERVIDORES DE SQL SERVER

  • El servidor de SQL Server debe estar dedicado para Sharepoint, no compartas el servidor con otras apps.
  • Page file: dejar el valor default que viene con Windows Server 2012 (Automatic manage paging file size for all drives), ya que el mismo administra mejor la memoria. Para WS2008 es recomendable 1.5 x RAM disponible.
  • Networking: 1 GB network interface card. En el caso que tengas problemas de performance con el tráfico de red, puede utilizar dos placas de red para los WFE/App Server, una para el servicio con los usuarios y la otra para el procesamiento (requiere configuración adicional, lo cual complica el mantenimiento). Revisar los contadores \Network Interface(*)\Output Queue Length (>1: revisar) y \Network Interface(*)\Current Bandwidth (>80%: revisar)
  • Policy Lock Pages in memory: se recomienda agregar la cuenta de servicio de SQL Server a la policy. Es importante setear Max Memory correctamente y deshabilitar Balloon Drive (ver más abajo). Si hay dos instancias o otras apps corriendo en el servidor, se recomienda no utilizar esta policy, ya que puede afectar la performance
  • Particiones: todas las particiones (volumes) deben estar formateadas con 64KB de allocation unit size. MUY IMPORTANTE este punto, notarás una gran diferencia de performance..

Format <drive> /Q /FS:NTFS /A:64K /V:Volume /Y

Dependiendo de la estimación del espacio requerido, y teniendo en cuenta que los servidores SQL serán virtualizados con VMware, se recomienda la siguiente distribución de discos, en donde:

El disco C: es para el sistema operativo.

El disco D: es para los binarios de SQL y para las apps

El disco E: es para los archivos MDF de las bases de datos (datafiles).

El disco F (High Range): es para la TempDB.

El disco G: es para los archivos LDF de las bases de datos (logs).

Los discos H: en adelante también son para los archivos MDF de las bases de datos, los mismos serán mid-range.

image

El disco C albergará los binarios del sistema operativo, dumps, page file, service packs, hotfixes, logs, etc.

* La suma total de los VMDKs (NTFS 64KB block size) podría disponibilizarse en un único VMSF

* * Los VMDKs (NTFS 64KB block size) se deberán disponibilizar sobre otro volumen VMSF (LUN diferente)

* * * La suma total de los VMDKs (NTFS 64KB block size) podría disponibilizarse en un único VMSF

  • VMware (sólo mostraré para VMWare, para hyper-v son similares):
    • Alinear los VMDK file ,VMFS volume y SAN LUN: Descripción detallada
    • Direct path I/O: permite acceder a la Phisical NIC en vez de una vNIC. Se recomienda probar en ambientes de DEV antes de implementarlo en PRD; se pierden algunos features de VMware. Más información
    • Adaptadores en formato VMXNet3
    • Deshabilitar la feature Balloon Drive para la VM donde reside el SQL Server.
    • Al provisionar la VM se recomienda utilizar el método Thick Provision Eager Zeroed.
    • 1:1 ratio de phisical cores a virtual cores
    • Se recomienda procesadores con alto cache L2 y L3.
    • En el caso de alto throughput de networking, se recomienda utilizar NIC teaming. Más información
  • RAID recomendaciones:

image

Vas a notar una gran mejora si pones la tempdb en un RAID 10 (SAS 15.000 RPM, 210 IOPS), otra posibilidad es usar SSD (discos de estado sólido)

  • PowerPlan: High Performance. NO utilizar BIOS power saving feature.
  • Performance Appearance: adjust for the best performance
  • Procesor Scheduling: Best Performance of Background Services
  • Deshabilitar la feature 8.3 Naming
  • Tener en todas las particiones un 25% de espacio disponible para futuros crecimientos (rebuild de indices, crecimiento innesperado)
  • Excluir del antivirus los paths y extensiones definidos en el siguiente link
  • Cant de Cores y memoria del servidor: cada configuración dependerá de la cantidad de usuarios y documentación a guardar en el servidor, pero les dejo unas recomendaciones:

CORES

>10 gb <=1 TB de datos: 4 cores (1000 usuarios concurrentes)

>1TB de datos: 8 cores (10.000 usuarios concurrentes)

RAM

<1TB de datos: 16 GB

>1TB a 2 TB: 32 GB

>2TB a 5TB: 64 GB

>5TB a 16 TB: >64 GB

IMPORTANTE: esta configuración depende mucho del acceso a la información (porcentaje de reads, writes, etc), del procesamiento de la misma (workflows, BI, etc) y del tipo de información (records center, listas largas, etc)

  • Antes de iniciar la instalación de SQL Server, evalua la performance de I/O del storage. Puedes utilizar SQLIO, IOMETER y CrystalDiskMark. Hay muchos ejemplos en internet de sus usos.
  • Contadores útiles para tener en cuenta en servidores de SQL Server (relacionados a WS2012, más abajo describiré los relacionados a SQL Server):

    · \LogicalDisk(*)\Avg. Disk sec/Read (es el tiempo promedio, en segundos de una lectura de datos al disco):

    >12ms: respuesta lenta

    >25ms: respuesta muy lenta

    · \PhysicalDisk(*)\Avg. Disk sec/Read:

    <10 ms: muy bueno

    >10ms y 20ms: delay

    >20ms y 50ms: lento, evaluar

    >50ms: indica un problema grave I/O.

    · \LogicalDisk(*)\Avg. Disk sec/Write (es el tiempo promedio, en segundos de una escritura de datos al disco):

    >15ms: respuesta lenta

    >25ms: respuesta muy lenta

    · \PhysicalDisk(*)\Avg. Disk sec/Write: se utiliza los mismos threshold que \LogicalDisk(*)\Avg. Disk sec/Write

    · \LogicalDisk(*)\Disk Transfers/sec (es la tasa de lectura y escritura en el disco):

    <80 I/O por segundo en promedio cuando la latencia es mayor que 25ms, indica demasiadas virtual LUNs usando el mismo disco físico de una SAN.

    · \Physical Disk\%Disk Time: representa el porcentaje de tiempo transcurrido que el disco está ocupado ofreciendo servicio de read y write.

    >70%: evaluar I/O (incluir en la evaluación el contador de queue I/O)

    · \Physical Disk\%Idle Time: mide cuando tiempo el disco permance en un estado idle.

    <40%: evaluar discos. Ya que está teniendo mucho procesamiento.

    · \Physical Disk\PhysicalDisk\ Current Disk Queue Length:

    > (Nº de discos + 2): evaluar con PhysicalDisk\ Avg. Disk Queue Length

    · \Process(*)\IO Data Operations/sec (La tasa actual en el cual el proceso emite operaciones de I/O de lectura y escritura, este contado cuenta la actividad de I/O generada por el proceso,incluye file´s, network y device I/Os):

    Revisar si el proceso usa más de 1000 I/Os por segundo.

    · \PagingFile\%Usage: describe la cantidad de uso del page file.

    >90% indica un problema

· \Memory\Available MBytes (Available MBytes es la cantidad de memoria física en MB disponible para procesos ejecutandose en el servidor, este contado sólo indica el último valor y no un promedio ):

          Bajo en memoria: menor a 10%

          Muy bajo en memoria: menor a 5%

          Fluctuaciones de 100MB por hora, esto indica un memory leak.

· \Memory\Pages/sec (si es alto, indica que el sistema se está quedando sin memoria y está tratando de paginar la memoria a disco, es la tasa de páginas que son leídas o escritas a disco. Este contador es un indicador primario de retrasos en el sistema. Picos en pages/sec son normales en backups, lectura de archivos de gran de tamaño:

           Si es mayor a 20 pages/sec,se debería revisar

· \Memory\Free System Page Table Entries (es el número de entradas de la tabla de páginas no está en que utiliza el sistema. Este análisis determina si el sistema se está quedando sin entradas libres de la tabla de páginas del sistema (PTE))

          Menor que 10,000: posiblemente tenga problemas de performance.

· Processor\% Processor Time (es el indicador principal de la actividad del processor activity, altos valores no siempren indican un problemasi se incrementan de forma lineal otros contadores tales como % Privileged Time o Processor Queue Length, se deberá revisar):

          <50% consumido: OK

          >50 y <90%: monitorear

          >90 y <=100%: crítico

· \Processor\% Privileged Time:

          Consistentemente sobre 75% indica un bottleneck.

· \System\Context Switches/sec (Context switching ocurre cuando un thread de mayor prioridad se antepone a un hilthreado de menor prioridad que se está ejecutando. Alto niveles de context switching pueden ocurrir cuando hay muchos threads que tienen el mismo nivel de prioridad. Esto indica que hay demasiados threads compitiendo por el tiempo del procesador:

· \Processor(*)\% Interrupt Time (Este contador indica el porcentaje de tiempo que el procesador invierte la recepción y el servicio de las interrupciones de hardware. Este valor es un indicador indirecto de la actividad de los dispositivos que generan interrupciones, tales como adaptadores de red. Un aumento dramático en este contador indica posibles problemas de hardware)

          High CPU Interrupt Time: >30% indica algún problema de HW

· System\Processor Queue Length (Si hay más tareas listas para ejecutarse que procesadores existentes, los threads se encolan. La cola del procesador es el conjunto de hilos que están listos, pero no podrá ser ejecutado por el procesador porque otro subproceso activo se está ejecutando actualmente. Una queue sostenida o recurrente de más de dos hilos es una clara indicación de un cuello de botella en el procesador. Se puede obtener más rendimiento al reducir el paralelismo en esos casos. Puede usar este contador junto con el contador Procesador \% de tiempo de procesador para determinar si su aplicación puede beneficiarse de más CPU.

          Si cada procesador tiene 10 o más threads esperando, podría indicar que el procesador está a su capacidad límite

          Si cada procesador tiene 10 o más threads esperando, podría indicar que el procesador está trabajando arriba de su capacidad

· \Network Interface(*)\Output Queue Length:

          High Network I/O : más de 1 thread en espera de network I/O

          Very High Network I/O: más de 2 threads en espera de I/O (si output queue length

           es mayor que 2)

· \Network Interface(*)\Current Bandwidth (Este contador indica si el tráfico del adaptador de red está saturado):

          High average network utilization: > 50%

          Very high average network utilization: >80%

· Server\Bytes Total/sec (Este contador indica el número de bytes enviados y recibidos por la red. Los valores altos indican el ancho de banda de red como cuello de botella. Si la suma de Bytes Total / sec para todos los servidores es aproximadamente igual a las velocidades máximas de transferencia de la red, es posible que tenga que segmentar la red)

· \Process(*)\Private Bytes (Private es el tamaño actual, en bytes, de la memoria que este proceso ha asignado y no puede compartir con otros procesos)

          Delta entre minimum size y maximun size no debe ser > 500MB

· \Process(*)\Working Set (Working Set es el tamaño actual, en bytes, del Working Set del proceso. Working Set es el conjunto de páginas de memoria que han sido accedidas por los threads del proceso. Si la memoria libre es mayor que un umbral las páginas se dejan en el Working Set incluso si no la están usando. Cuando hay poca memoria, se sacan del working set:

          Delta entre minimum size y maximun size no debe ser > 500MB

· \Process(*)Thread Count (el número de threads activos en el proceso):

          Para 2GB de memoria máxima, se recomienda un umbral de 6600 threads.

· \Process(*)\Handle Count (Determina cuantos handles ha abierto un proceso, un número grande indica leaks de handles o un procesamiento agresivo)

          >3000 handles indica un comportamiento sospechoso. Algunas excepciones son  System (20.000 handles), lsass.exe (30000), store.exe (50000), sqlsrvr.exe (50000)

  • Utilizar siempre A records para los DNS de los servidores de SQL, ya que es necesario para configurar kerberos.
  • Siempre mantener el servidor con los últimos patchs disponibles. En cada patch no sólo se solucionan bugs, sino se agregan mejoras de performance.
  • Reinicios sanitarios: es recomendado reiniciar una vez por mes.

sábado, 15 de marzo de 2014

Protocolos de Sharepoint

En el siguiente enlace podrán descargar toda la documentación técnica de los protocolos que utiliza Sharepoint: http://download.microsoft.com/download/8/5/8/858F2155-D48D-4C68-9205-29460FD7698F/SharePointProtocols.zip

Además de la información técnica, tiene varios ejemplos útiles. Algunos protocolos que podrás encontrar en la descarga son:

[MC-FPSEWM]"FrontPage Server Extensions: Website Management Protocol".
[MS-AADT]"Access Application Design Time Protocol".
[MS-ACCDT]"Access Template File Format Specification".
[MS-ACMAUDWS]"Audit and Control Management Server Audit Web Service
Protocol".
[MS-ADMINS]"Administration Web Service Protocol".
[MS-ADMWS]"Search Service Administration Web Service Protocol".
[MS-ADR]"Access Services Data Run Time Protocol".
[MS-ADS]"Access Services Data Server Protocol".
[MS-ADTS]"Active Directory Technical Specification".
[MS-ALERTSS]"Alerts Service Protocol".
[MS-APPMWSP]"SharePoint App Management Web Service Protocol".
[MS-ART]"Access Run Time Protocol".
[MS-ASDT]"Access Server Design Time Protocol".
[MS-ASWS]"Access Services Protocol".
[MS-AUTHWS]"Authentication Web Service Protocol".
[MS-AXL]"Access Application Transfer Protocol Structure Specification".
[MS-AXL2]"Access Application Transfer Data Structure Version 2".
[MS-BCSDPFFS]"Business Connectivity Services Deployment Package File
Format Specification".
[MS-BCSDWPS]"Business Connectivity Services Deployment Web Service
Protocol".
[MS-BDCMFFS]"Business Data Connectivity Model File Format Specification".
[MS-BDCMP]"Business Data Catalog Metadata Web Service Protocol".
[MS-BDCRAWPS]"Business Data Connectivity Remote Administration Web
Service Protocol".
[MS-BDCWPS] Microsoft  Corporation, "Business Data Connectivity Web Service Protocol".
[MS-CDEPLOY]"Content Deployment Remote Import Web Service Protocol".
[MS-CIFO]"Content Index Format Structure Specification".
[MS-COMMCSOM]"Community Client-Side Object Model Protocol".
[MS-CONATB]"Content Area Toolbox Web Service Protocol".
[MS-COPYS]"Copy Web Service Protocol".
[MS-CPSWS]"SharePoint Claim Provider Web Service Protocol".
[MS-CSOM]"SharePoint Client Query Protocol".
[MS-CSOMREST]"SharePoint Client Query OData Protocol".
[MS-CSOMSPT]"SharePoint Client-Side Object Model Protocol".
[MS-DADMWS]"Search Admin Web Service Protocol".
[MS-DMCSOM]"Document Management Client-Side Object Model Protocol".
[MSDN-ASPWP]"ASP.NET Web Parts Overview",
http://msdn.microsoft.com/en-us/library/hhy9ewf1.aspx
[MSDN-ESO]"Excel Services Overview", http://msdn.microsoft.com/en-
us/library/ms546696.aspx
[MSDN-EXCELS]"Introducing Excel Services", http://msdn.microsoft.com/en-
us/library/ms519581.aspx
[MSDN-MOSSWF]"Workflows in SharePoint Server 2010 (ECM)",
http://msdn.microsoft.com/en-us/library/ms549489.aspx
[MSDN-ODBC]"Microsoft Open Database Connectivity (ODBC)",
http://msdn.microsoft.com/en-us/library/ms710252.aspx
[MSDN-OLEDB]"Microsoft OLE DB", http://msdn.microsoft.com/en-
us/library/ms722784.aspx
[MSDN-SharePoint2013-SDK]"SharePoint 2013",
http://msdn.microsoft.com/en-us/library/jj162979.aspx
[MSDN-SharePointSDK]"SharePoint Products and Technologies SDK: 2010
API Reference (Technical Preview)", July 2009, http://msdn.microsoft.com/en-
us/library/ee557253(office.14).aspx
[MSDN-WSSWF]"Workflow Development for SharePoint Foundation",
http://msdn.microsoft.com/en-us/library/ms414613.aspx
[MSDN-WSSWP]"Web Parts in SharePoint Foundation",
http://msdn.microsoft.com/en-us/library/ms476318.aspx
[MS-DOCSWS]"SharePoint Document Sharing Web Service Protocol".
[MS-DOCTRANS]"Document Transforms Service Protocol".
[MS-DSPSTSS]"Data-Source Adapter SharePoint Team Services Web Service
Protocol".
[MS-DWSS]"Document Workspace Web Service Protocol".
[MS-EAWF]"Group Approval Web Service Protocol".
[MS-ECTPWPS]"External Content Type Picker Web Service Protocol".
[MS-EDCSOM]"eDiscovery Client-Side Object Model Protocol".
[MS-EDINTWS]"eDiscovery Internal Web Service Protocol".
[MS-EDSA]"eDiscovery Service Application Protocol".
[MS-EMMCSOM]"Enterprise Managed Metadata Client-Side Object Model
Protocol".
[MS-EMMWCF]"Metadata Shared Service WCF Service Protocol".
[MS-EMMWS]"Microsoft Enterprise Managed Metadata Web Service Protocol".
[MS-ESP]"Excel Web Services Protocol".
[MS-ESREST]"Excel Services REST Protocol".
[MS-ESURL]"Excel Services Publishing Protocol".
[MS-EXSPWS]"Excel Calculation Web Service Protocol".
[MS-EXSPWS2]"Excel Calculation Web Service Version 2 Protocol".
[MS-EXSPWS3]"Excel Calculation Web Service Version 3 Protocol".
[MS-EXSPXML]"Excel Calculation Web Service XML Schema Specification".
[MS-EXSPXML3]"Excel Calculation Version 2 Web Service XML Schema".
[MS-FORMS]"Forms Service Protocol".
[MS-FPSE]"FrontPage Server Extensions Remote Protocol".
[MS-FQL2]"Fast Query Language Version 2 Protocol".
[MS-FSDAP]"Forms Services Design and Activation Web Service Protocol".
[MS-FSFDP]"Forms Services Feature Detection Protocol".
[MS-FSPP]"Forms Services Proxy Web Service Protocol".
[MS-FSSHTTP]"File Synchronization via SOAP over HTTP Protocol".
[MS-FSSHTTPB]"Binary Requests for File Synchronization via SOAP Protocol".
[MS-FSSHTTPD]"Binary Data Format for File Synchronization via SOAP
Structure Specification".
[MSFT-ADC]"Active Directory Collection", March 2003,
http://technet2.microsoft.com/WindowsServer/en/library/6f8a7c80-45fc-4916-80d9-1
6e6d46241f91033.mspx
[MS-GLOADWS]"Global Admin Web Service Protocol".
[MS-GLOS]"Windows Protocols Master Glossary".
[MS-IMAGS]"Imaging Service Protocol".
[MS-INFODCF]"InfoPath Data Connection File Download Protocol".
[MS-IPDSP]"InfoPath Digital Signing Protocol".
[MS-IPFF]"InfoPath Form Template Format".
[MS-IPFF2]"InfoPath Form Template Format Version 2".
[MS-IPFFX]"InfoPath Form File Format".
[MS-KQL]"Keyword Query Language Structure Protocol".
[MS-LISTSWS]"Lists Web Service Protocol".
[MS-MAR]"Microsoft Office SharePoint Server (MOSS) Analytics Reporting
Protocol".
[MS-MEETS]"Meetings Web Services Protocol".
[MS-METAWEB]"MetaWeblog Extensions Protocol".
[MS-NOTESWS]"MS Search Lotus Notes Web Service Protocol".
[MS-OAUTH2EX]"OAuth 2.0 Authentication Protocol Extensions".
[MS-OCPROTO]"Office Client Protocols Overview".
[MS-OFBA]"Office Forms Based Authentication Protocol".
[MS-OFCGLOS]"Microsoft Office Master Glossary".
[MS-OFFICIALFILE]"Official File Web Service Protocol".
[MS-OMS]"Office Mobile Service Protocol".
[MS-OOWQWS]"Office Online Web Query Web Service Protocol".
[MS-OSALER]"Alerts Interoperability Protocol".
[MS-OSCO]"Office Server ClickOnce Manifest Structure Specification".
[MS-OUTSPS]"Lists Client Sync Protocol".
[MS-PASCWS]"PowerPoint Automation Services Conversion Web Service
Protocol".
[MS-PEOPS]"People Web Service Protocol".
[MS-PERMS]"Permissions Web Service Protocol".
[MS-PLSP]"Published Links Web Service Protocol".
[MS-PPSAPP]"PerformancePoint Services Application Server Protocol".
[MS-PPSAS]"PerformancePoint Services Authoring Service Protocol".
[MS-PPSDECO]"PerformancePoint Services Decomposition Tree Protocol".
[MS-PRIMEPF]"Deployment Package Format Specification".
[MS-PRSTFR]"ADO XML Persistence Format Protocol Specification".
[MS-PUBCSOM]"Publishing Client-Side Object Model Protocol".
[MS-PUBWS]"Publishing Web Service Protocol".
[MS-QSSWS]"Search Query Shared Services Protocol".
[MS-SADMWS]"Search Site Administration Web Service Protocol".
[MS-SEARCH]"Search Protocol".
[MS-SHDACCWS]"Shared Access Web Service Protocol".
[MS-SITED3S]"Site Data 2003 Web Service Protocol".
[MS-SITEDATS]"Site Data Web Service Protocol".
[MS-SITESS]"Sites Web Service Protocol".
[MS-SLIDELI]"Slide Library Web Service Protocol".
[MS-SLXV]"Silverlight XAML Vocabulary Specification 2008", October 2008,
http://msdn.microsoft.com/en-us/library/dd361850(v=PROT.10).aspx
[MS-SOCCSOM]"SharePoint Social Client-Side Object Model Protocol".
[MS-SPACSOM]"SharePoint Analytics Client-Side Object Model Protocol".
[MS-SPAFWI]"SharePoint Activity Feed Web Interfaces Protocol".
[MS-SPASA]"SharePoint Analytics Service Application Protocol".
[MS-SPDIAG]"SharePoint Diagnostics Web Service Protocol".
[MS-SPEMAWS]"SharePoint Email Web Service Protocol".
[MS-SPLCHK]"SpellCheck Web Service Protocol".
[MS-SPPTC]"User Code Execution Protocol".
[MS-SPRSS]"RSS 2.0 Format Extensions Specification".
[MS-SPS2SAUTH]"OAuth 2.0 Authentication Protocol: SharePoint Profile".
[MS-SPSCRWL]"SPSCrawl Web Service Protocol".
[MS-SPSETWS]"SharePoint Subscription Settings Web Service Protocol".
[MS-SPSTWS]"SharePoint Security Token Service Web Service Protocol".
[MS-SPTWS]"Service Platform Topology Web Service Protocol".
[MS-SPWFCSOM]"SharePoint Workflow Client-Side Object Model Protocol".
[MS-SQP]"MSSearch Query Protocol".
[MS-SQP2]"MSSearch Query Version 2 Protocol".
[MS-SRCHCSOM]"Search Client Query Protocol".
[MS-SSAS]"SQL Server Analysis Services Protocol Specification".
[MS-SSP]"Single Sign-On Protocol".
[MS-SSWPS]"Secure Store Web Service Protocol".
[MS-STSSYN]"StsSync Data Structure".
[MS-SYS]"Windows System Overview".
[MS-TDS]"Tabular Data Stream Protocol Specification".
[MS-TMPLDISC]"Template Discovery Web Service Protocol".
[MS-TSCSOM]"Translation Services Client-Side Object Model Protocol".
[MS-TSWS]"Translation Services Web Service Protocol".
[MS-UDCX]"Universal Data Connection 2.0 XML File Format".
[MS-UGS]"UserGroup Web Service Protocol".
[MS-UPFCWS]"User Activity Feed Cache Web Service Protocol".
[MS-UPIEWS]"User Profile Import and Export Web Service Protocol".
[MS-UPSCDS]"User Profile Synchronization (UPS): Configuration Data
Structure".
[MS-UPSCP]"User Profile Synchronization (UPS): Configuration Protocol
Extensions".
[MS-UPSCWS]"User Profile Service Application Caching Web Service
Protocol".
[MS-UPSDWS]"User Profile Social Data Web Service Protocol".
[MS-UPSLDAP]"User Profile Synchronization (UPS): Lightweight Directory
Access Protocol Version 3 Extensions".
[MS-UPSMODS]"User Profile Synchronization (UPS): Management Objects
Data Structure".
[MS-UPSSCXPP]"User Profile Synchronization (UPS): Schema Exchange
Protocol Profile".
[MS-UPWCFWS]"User Profile Property Service Application Web Service
Protocol".
[MS-USPSWS]"User Profile Service Web Service Protocol".
[MS-USRPCH]"User Profile Change Log Web Service Protocol".
[MS-VERSS]"Versions Web Service Protocol".
[MS-VGSFF]"Visio Graphics Service File Format (.vdw) Specification".
[MS-VGSP]"Visio Graphics Service Protocol".
[MS-VIEWSS]"Views Web Service Protocol".
[MS-VSDX]"Visio Graphics Service VSDX File Format".
[MS-WDV]"Web Distributed Authoring and Versioning (WebDAV) Protocol:
Client Extensions".
[MS-WDVME]"Web Distributed Authoring and Versioning (WebDAV) Protocol:
Microsoft Extensions".
[MS-WDVMODUU]"Office Document Update Utility Extensions Protocol
Specification".
[MS-WDVSE]"Web Distributed Authoring and Versioning (WebDAV) Protocol:
Server Extensions".
[MS-WEBDAVE]"Web Distributed Authoring and Versioning Error Extensions
Protocol".
[MS-WEBSS]"Webs Web Service Protocol".
[MS-WMCSOM]"Work Management Client-Side Object Model Protocol".
[MS-WMS]"Work Management Service Web Service Protocol".
[MS-WORDSWCF]"Word Automation Services WCF Service Protocol".
[MS-WPPS]"Web Part Pages Web Service Protocol".
[MS-WSSCAML]"Collaborative Application Markup Language (CAML)
Structure".
[MS-WSSCAP]"Windows SharePoint Services Collaborative Application
Protocol".
[MS-WSSHP]"HTTP Windows SharePoint Services Headers Protocol".
[MS-WSSREST]"ListData Data Service Protocol".
[MS-WSSTS]"Windows SharePoint Services".
[MS-WWSP]"Workflow Web Service Protocol".

Información sobre el Servicio de Topología ()

SharePoint provee un balanceador de carga básico, que genera request mediante round robin a los Web service applications, también ofrece tolerancia a fallos, ya que permite detectar fallas de los services application proxy.

Cómo funciona?

Un Service Application Proxy solicita un endpoint para conectarse a un Service Application desde el Load Balancer (Service Application Load Balancer), el cual se ejecuta en el mismo dominio que el proxy.

El load balancer mantiene una lista disponible de endpoints para Service Application, y simplemente retorna el próximo endpoint disponible al proxy en un modo round robin.

El load balancer revisa la base de configuración para descubrir la lista disponible de endpoints para un service application

La cache de los endpoint es actualizada si la lista de service application endpoint ha sido actualizada en la base de configuración local, el tiempo promedio de actualización es menor a 1 minuto.

Podrá consultar la base de datos mediante el siguiente script de sql:

SELECT [Id]
,[ClassId]
,[ParentId]
,[Name]
,[Status]
,[Version]
,CAST([Properties] AS XML) AS Properties
  FROM [Nombre_ConfigDB].[dbo].[Objects] WITH (NOLOCK)
WHERE [ParentId] LIKE '<ID from proxy>'

El <ID from proxy> lo podrás consultar con el siguiente script de PowerShell:

(Get-SPTopologyServiceApplicationProxy).ApplicationProxies | ? { $_.Name -eq ((Get-SPTopologyServiceApplication).Id) }

Para comunicarse con un service application en una granja remota (Ej: servicios federados), el load balancer usa el web service de Topology (aka, “Application Discovery and Load Balancer Service”) para descubrir los endpoints disponibles para un service application. Este procedimiento se actualiza cada 15 minutos por el timer job “Application Addresses Refresh”.

El Service Application Proxy podría reporta una falla al load balancer, esto genera que el load balancer saque el endpoint específico de la rotación round robin por un período de tiempo (default: 10 minutos).

Este tiempo puede modificarse mediante el parámetro badtime. Después que se cumplió este tiempo, el endpoint se setea como “bueno” de nuevo.

Por default, siempre se mantiene un endpoint disponible, incluso que reporte un status “malo”.

El Topology web service application proxy es “self-balancing”

Los errores que aparecen en el Event Viewer cuando un endpoint está caído son (Por ej: el service application proxy del servicio de Metadata):

SharePoint Web Services Round Robin Service Load Balancer Event: EndpointFailure Process Name: OWSTIMER Process ID: 12264 AppDomain Name: DefaultDomain AppDomain ID: 1 Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:id#authority=urn:uuid:anotherid&authority=https://myappsserver:1234/Topology/topology.svc Active Endpoints: 1 Failed Endpoints:1 Affected Endpoint: http://myappsserver:1234/1234567890/MetadataWebService.svc
Para solucionar endpoints corruptos podemos realizar las siguientes tareas básicas:

  • Para actualizar la lista de endpoints disponibles, podemos limpiar la cache de Sharepoint: http://blogs.msdn.com/b/jamesway/archive/2011/05/23/sharepoint-2010-clearing-the-configuration-cache.aspx

  • Realizar un iisreset

  • Verificar que el servicio del endpoint esté ejecutando en Central Administration -> System Settings -> Manage services on server(Ej: en este caso, Managed Metadata Web Service)

  • Verifica si las cuentas de usuario con las cuales se ejecutan los services application application pool no estén bloqueadas

  • Si ninguno de los pasos anteriores solucionó tu problema, accede al service directamente y evaluar el error que lanza http://myappsserver:1234/1234567890/MetadataWebService.svc una manera de tener un mensaje de error más adecuado, podrás setear el modo debug en el web.config del service application
  • Para exportar la configuración actual del servicio de topología, ejecuta el siguiente script de powershell:
    Get-SPTopologyServiceApplication  | Export-Clixml .\Get-SPTopologyServiceApplication.xml
    Get-SPTopologyServiceApplicationProxy | Export-Clixml .\Get-SPTopologyServiceApplicationProxy.xml

    miércoles, 5 de marzo de 2014

    Loguearse con otro usuario en Sharepoint 2013

    En Sharepoint 2013 no se tiene más la opción “Sign in as Different User”.

    SHAREPOINT 2010

    image

    SHAREPOINT 2013

    image

    Para tener la misma funcionalidad en SP2013, podemos hacer utilizar la siguiente url, la cual cierra la conexión actual, y pide el usuario/contraseña para acceder.

    http://<site URL>/_layouts/closeConnection.aspx?loginasanotheruser=true

    martes, 25 de febrero de 2014

    Sharepoint backup Avamar troubleshooting

    1.       Re-registrar el writer de SharePoint:

    stsadm -o unregisterwsswriter

    stsadm -o registerwsswriter

    Verificar que estén los writters: vssadmin list writers

    2.       Comprobar los usuarios utilizados para cada uno de los servicios:

    Backup Agent service's "Log on as"  is set to Local System account.

    SharePoint Services VSS Writer's "Log on as" is set to Farm Administrator account.

    SharePoint Services Administrator service's "Log on as " is set to Farm Administrator account.

    SharePoint Services Time service's "Log on as" is set to Farm Administrator account.

    SharePoint Services Search service's "Log on as" is set to Search or Farm Administrator account.

    3.       Comprobar que el writer de SharePoint 2010 VSS Writer está registrado y verificado en el registro en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Diag, quizas necesitemos anadirlo si no existiera. 

    También verifica que las cuentas de Farm y las de backup tengan permisos de full control sobre ese registro

    4.       Ejecutar un browsing por línea de consola utilizando los comandos de Avamar y los de Sharepoint:

    avmossvss.cmd --browse --username=<farmadminaccount> --password= --debugvss –debug

    STSADM.EXE -o backup -showtree

    5.       Forzar el flag in avmossvss.cmd en el backup y browsing:

    --writerid= {da452614-4858-5e53-a512-38aab25c61ad} 

    6.       Chequear que exite un alias pipe y TCP para el SQL server con cliconfg, sino existen crearlos.

    7.       Reinstalar tanto backend como front end plugins de avamar.

     

    Para mayor información:

    http://technet.microsoft.com/en-us/library/cc734545(v=ws.10).aspx

    http://clientedigital.com.br/wp-content/uploads/2013/08/Avamar-6.1-for-SharePoint-VSS-User-Guide.pdf

    http://china.emc.com/collateral/software/white-papers/h8936-backup-recovery-ms-exchange-shrpoint-2010-wp.pdf

    http://www.emc.com/collateral/software/white-papers/h4602-sharepoint-backup-wp.pdf

    miércoles, 19 de febrero de 2014

    Sugerencias de consultas (Query Suggestions) en Sharepoint 2013

    Las sugerencias de consultas son términos sugeridos (sugerencias) mientras el usuario está escribiendo su consulta en el search box.

    Cuando se crea el Search Service Applicatio, no hay query suggestions por default. Después de un tiempo que los usuarios han ejecutado consultas de search, se agregarán de forma automática las sugerencias. Cuando un usuario hace por lo menos 6 click sobre el mismo resultado de búsqueda (EJ: word document), automaticamente e agrega el par (query, result) a la base Analytics Link Store DB, especialmente a la tabla MSSQLogPageClick .

    Después hay un job “Prepare query suggestions” que analiza la tabla y procesa la query suggestions.

    Para agregar una  SUGERENCIA (Sharepoint 2013) puedo ejecutar el siguiente script de

    $proxy = Get-SPEnterpriseSearchServiceApplicationProxy
    $ranking = new-object Microsoft.Office.Server.Search.Administration.
    RemoteRanking($proxy,$owner, [Microsoft.Office.Server.Search.Administration.
    RankingFilter]::Administration)
    $lr= $ranking.LanguageResources[“en-US”] 
    $phraseList = $lr.QuerySuggestionsAlwaysSuggestList
    $phraseList.AddPhrase([System.Guid]::Empty, “SharePoint 2013”, “”)

    Después ejecuto el job:

    $tj = Get-SPTimerJob | ?{$_.Name -match “Prepare query suggestions”} 
    Start-SPTimerJob $tj

    image

    More info: https://blogs.technet.com/b/tothesharepoint/archive/2013/12/05/create-and-import-query-suggestions-in-sharepoint-2013.aspx

    martes, 18 de febrero de 2014

    Mover un site collection a otra content database (Move a Site collection to a different content database)

    Se recomienda tener content database`s  de 200 GB tanto por la performance pero principalmente por la administración (backup & restore). Si una base de contenido pasa este tamaño recomendado, tendremos que mover un site collection a otra content database.

    • Verificar el tamaño del site collection

    $used = (Get-SPSiteAdministration –Identity <http://sitecollectionurl>).DiskUsed
    $used

    • Crear la base de contenidos (en el mismo server de base de datos, si queremos mover el site collection a otra base de contenido que no está en el server de SQL original, el procedimiento cambia)
    • Limpiar los datos de auditoria

    $date = Get-Date
    $date = $date.AddMilliseconds(1)

    (Get-SPSite -Identity <http://sitecollectionurl>).Audit.TrimAuditLog($date)

    • Verifica que haya espacio suficiente en el volumen donde está la base de contenido de destino
    • Mover el site collection

    Move-SPSite <http://sitecollectionurl> -DestinationDatabase <DestinationContentDb>

    Para finalizar has un iisreset en todos los servers, y limpia la cache de Sharepoint (http://blogs.msdn.com/b/jamesway/archive/2011/05/23/sharepoint-2010-clearing-the-configuration-cache.aspx)

    En el caso que quieras mover un site collection a otra base de contenido que NO está en el mismo server que el original, se recomienda crear un base de contenido vacia en el server local, mover ese site collection a esa base, y después mover la base de contenido completa al nuevo server, y attacharla al web application. Es mucho más eficiente que hacer un backup & restore del site.

    domingo, 16 de febrero de 2014

    Tamaño Máximo de subida (Maximum Upload File) en Sharepoint 2013

    El tamaño default de subida de un archivo en Sharepoint 2013 es de 250MB.

    image

    Una nueva feature de SP2013 es que permite cambiar el tamaño máximo por extensión de archivo.

    Ej: subo el tamaño máximo de subida a 512MB para los archivos con extensión mp4

    $WebApp = Get-SPWebApplication "http://webApplicationURL"
    $WebApp.MaximumFileSizePerExtension.Add("mp4",512)
    $WebApp.Update()

    En el caso que quieras setearle el valor default configurado para todos los archivos de la web application, ejecuta lo siguiente:

    $WebApp = Get-SPWebApplication "http://webApplicationURL"
    $WebApp.MaximumFileSizePerExtension.Remove("mp4")
    $WebApp.Update()

    Te recomiendo que leas este artículo (SPS 2010) para ver otras configuraciones de subida: http://todosharepoint.blogspot.com.ar/2012/03/incrementar-el-tamano-de-subida-de.html

    sábado, 15 de febrero de 2014

    Evitar que los site collection administrator hagan un upgrade de los sites collection

    Get-SPSite | where compatibilitylevel –match '14' | foreach {$_.allowselfserviceupgrade=$false]

    http://msdn.microsoft.com/es-es/library/microsoft.sharepoint.administration.spsiteadministration.allowselfserviceupgrade.aspx

    Throttling de Upgrade en Sharepoint 2013

    Es posible configurar varias settings de los upgrades de web application, a continuación lo más importantes:

    • AppPoolConcurrentUpgradeSessionLimit: setea cuantos upgrades por application pool son permitidos. Default=5
    • UsageStorageLimit: tamaño máximo de un site collection puede tener en megabytes para hacer un upgrade del sitio. Default=10 MB
    • SubWebCountLimit: número máximo de subites de un site collection que puede tener para hacer un upgrade. Default=10 subsites

    Para setear los valores, ejecute el siguiente script reemplazando los valores deseados.

    $wa=Get-SPWebApplication <URL>
    $wa.SiteUpgradeThrottleSettings.AppPoolConcurrentUpgradeSessionLimit=<Value>
    $wa.SiteUpgradeThrottleSettings.UsageStorageLimit=<Value>
    $wa.SiteUpgradeThrottleSettings.SubwebCountLimit=<Value>

    Convertir Web application con basic authentication a claims authentication

    $webappname = read-host "Ingrese la url del Web Application"
    $wa = Get-SPWebApplication $webappname
    $wa.UseClaimsAuthentication = $True
    $wa.Update()
    $account = read-host "Ingrese Policy Account"
    $account = (New-SPClaimsPrincipal –Identity $account –IndentityType 1).ToEncodedString()
    $zp = $wa.ZonePolicies("Default")
    $p = $zp.Add($account,"PSPolicy")
    $fc = $wa.PolicyRoles.GetSPecialRole("FullControl")
    $p.PolicyRoleBindings.Add($fc)
    $wa.Update()
    $wa.MigrateUsers($True)
    $wa.ProvisionGlobally()

    Tablas nuevas en Sharepoint 2013 (y removidas)

    La siguiente lista son las tablas que se removieron en Sharepoint 2013 (ya se habían removido en Sharepoint 2010 SP1 Cu Agosto 2012)

    • AllDocStreams
    • ComMd
    • EventLog
    • SharedAccessRequests

    La siguiente listas son las tablas que se agregaron en 2013:

    • AlListsItemCount: mantiene el track de la cantidad de listitems cuando ocurren diferentes eventos sobre la lista. Esto mejora el caching
    • AppDatabaseMetadata: si una app tiene base asociada, esa información se almacena en esta tabla.
    • AppInstallationProperty: mantiene información de las propiedades (bag storage) de las instalacions de las apps pero no de la aplicación en si misma
    • AppInstallations: Realiza un seguimiento de todas las instalaciones de aplicaciones. Esto incluye el sitio y web en el que se instaló, el AppId, y otros detalles sobre lo sucedido, éxito o fracaso durante la instalación.
    • AppJobs: Esto se utiliza para realizar un seguimiento de trabajos que están relacionados con la instalación o eliminación de aplicaciones.
    • AppLifecycleErrors: Cuando una aplicación produce un error, ya sea durante la instalación, mientras se ejecuta, o cuando se instala, se almacena aquí.
    • AppPackages : la aplicación en si se guarda en esta tabla: el .app file, la información de la versión y el archivo de manifiesto.
    • AppPrincipalPerms: la lista de Sites, Web y List IDs y el permiso que tiene sobre esas ubicaciones
    • AppPrincipals: la lista de Application Principals registrados que son creados cuando se instala una aplicación o usando PowerShell (New-SPApplicationPrincipal)
    • AppResources: es usada para mantener los recursos de lenguajes de las apps
    • AppRuntimeIcons: mantiene el icono asociado a las Apps
    • AppRuntimeMetadata: almacena información del status de la aplicación
    • AppRuntimeSubstitutionDictionary: Una property bag para las aplicaciones
    • AppSourceInfo: almacena información de donde viene la app y si hay un update disponible
    • AppSubscriptionCosts: el costo por usuario de la aplicación
    • AppTaskDependencies: mantiene el track de las dependencias entre tareas de aplicaciones
    • AppTasks: Esta tabla almacena información acerca de las tareas relacionadas con los eventos de aplicación.
    • DocsToStreams: mantiene un seguimiento de shredded storage components de un archivo
    • DocStreams: Los fragmentos de documentos que conforman un documento completo se almacenan aquí
    • PreviewSiteRequests: almacena información sobre las solicitudes para actualizar un sitio mediante el look and feel
    • SiteHealthCheckResults: Almacena información sobre la nueva función health check feature. Cada vez que se realiza una comprobación, se añade una nueva fila.
    • SiteUpgradeSessions: hace un seguimiento de una sesión de actualización de un sitio. información incluye la ubicación del archivo de registro, el tipo de actualización, y el error y el recuento de advertencia.
    • SiteUserSyncQueue: mantiene el track la sincronización de usuarios de los sites collection con el User Profile service application.
    • SolutionFiles: Se almacena los archivos de las sandboxed solution

    Drag and Drop de Sharepoint 2013

    Drag and drop en SharePoint 2013 es soportado por la feature drag and drop de HTML 5. Por default no se soporta esta feature en Internet Explorer 8.x y Internet Explorer 9.x pero cuando se instala Office 2013 se agrega un ActiveX control que permite el drag and drop. Este control activeX se agrega cuando se instala SharePoint Designer 2013.

    • Internet Explorer 10
    • Internet Explorer 9 with Office 2013 Installed
    • Internet Explorer 8 with Office 2013 Installed
    • FireFox 3.5+
    • Chrome
    • Safari 5.0+

    Podés verificar si tu navegador soporta el drag and drop mediante la siguiente página: http://html5test.com/

    image

    Que posibilidades tenemos de hacer drag an drop:

    • file system a librería
    • desde una librería a otra librería
    • se permite mover contenido dentro de la misma librería (Ej: docs sueltos a una carpeta)
    • se permite mover contenido desde vistas de librería

    Qué es lo que no se puede mover:

    • videos
    • documentos cross sites
    • list items
    • folders o documents sets

    viernes, 7 de febrero de 2014

    Clase ClientContext no reconocido

    Que pasa cuando Visual Studio no te reconoce la clase ClientContext

    image

    Verifica que tengas agregadas las referencias Microsoft.Sharepoint.Client y Microsoft.Sharepoint.Client.Runtime

    image

    Después verifica que tengas agregada la clase en el encabezado de la clase.

    image

    Y para finalizar verifica que tengas seteado el framework del proyecto de Visual Studio en 3.5

    image

    jueves, 6 de febrero de 2014

    Limpiar la cache de Sharepoint Designer

    Cuando estás trabajando con un archivo (Ej: aspx) y tratas de editar el mismo, Sharepoint Designer muestra el error:

    "Cannot perform this operation. The file is no longer checked out or has been deleted."

    Cerrá Sharepoint Designery a continuación ingresa en los siguientes paths,y borrar todos los archivos.

    %APPDATA%\Microsoft\Web Server Extensions\Cache

    %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache

    viernes, 3 de enero de 2014

    La solicitud de búsqueda no ha podido conectar al servicio de búsqueda.

    Cuando se realiza una búsqueda, aparece el siguiente mensaje.

    image

    Verifica lo siguiente:

    • Haya espacio libre en los WFE, donde se almacena el indice del search
    • Verificar que esté iniciado los servicios del search (Search Query and Site Settings Service)

    image

    • Verificar que esté asociado el proxy al web application donde se ejecuta el search

    image

    image

    • Verificar que esté iniciado el servicio Sharepoint Server Search 14

    image

    • Verificar que se haya hecho un full crawl completo
    • Verificar que la cuenta de servicio de los pool puedan acceder al directorio del search. Puedes usar ProcessMonitor para validar access denied.

    lunes, 23 de diciembre de 2013

    Error en quick launch y en el top navigation

    Cuando ingresaba al sitio, se mostraba un label de error tanto en el quick launch como en el top navigation.

    image

    También me aparecía un error al ingresar a la página: _layouts/AreaNavigationSettings.aspx

    Verificando los logs, salían los siguientes mensajes:

    at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.FetchDynamicItems

    at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildrenInner(NodeTypes includedTypes)

    at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildren(NodeTypes includedTypes)

    Después de navegar un buen rato por los uls logs, me dí cuenta que habían renombrado la librería de Páginas, estaba como “Pages” y en realidad debería estar como “Páginas”

    Entre con el Sharepoint Designer, y renombré de nuevo la librería:

    image

    image

    Otra solución temporal, es desactivar la feature “Infraestuctura de publicación de Sharepoint Server“”

    image

    image

    martes, 10 de diciembre de 2013

    Informes de web analytics muestran 0 visitantes

    Al entrar a la opción “Informes de Web Analytics del sitio”, y después ingresar a la sección “Número de visitas de páginas”, me aparece que tengo 0 visitantes en los últimos días.

    image

    image

    image

    Primero verifiqué que estén iniciado los servicios de web analytics en “Manage Services on server”

    image

    Después verifique que los jobs relacionados estén habilitados y configurados correctamente el schedule.

    image

    También verifique que no haya accesos denegados en el folder donde se guardan los logs (usage) con ProcessMonitor

    image

    Y para finalizar verifiqué dentro de la sección “Configure usage and health data collection”, si estaba habilitada la opción de “Page Request”, la cual NO estaba habilitada. Habilité la misma,y al otro día ya empezó a aparecer los datos de acceso de usuarios (visitas de páginas)

    image

    image

    Les dejo un link, donde podrán ver más en detalle el funcionamiento del servicio de Usage and Health Service: http://blogs.technet.com/b/sharepoint_quick_reads/archive/2013/03/19/3482072.aspx

    miércoles, 4 de diciembre de 2013

    Service Application CrawlStore Database– Demasiado grande (Crawl Database Is Too Large)

    En el caso que tengas la base de crawl (Crawl Store) con un tamaño importante, lo que deberías hacer es realizar un reset del indice, y a continuación hacer un shrink de la base de datos (shrink del datafile)

    image

    image

    image

    All Tasks - Shrink - Database: undo Reorganize files before releasing unused space

    Untitled

    A continuación realiza un full crawl de los content sources.

    Recuerda que la base de crawl dependerá del tamaño de las bases de contenido: average size for crawl = 0,046 * (content SQL DB)

    lunes, 4 de noviembre de 2013

    User Profile Synchronization Service – Starting

    Siempre aparece un nuevo error cuando configuramos el User Profile Syncronization. Cada implementación del user profile syncronization difiere de las anteriores.

    image

    Las mejores guías para solucionar el inicio del servicio de User Profile Syncronization:

    http://www.harbar.net/articles/sp2010ups2.aspx

    http://blogs.msdn.com/b/spses/archive/2012/12/17/proxy-configuration-issues-with-upa-in-sharepoint-2010-2013.aspx

    http://chrishattonnzlsp.wordpress.com/2010/11/30/hostid-is-not-registered-forefront-identity-manager/

    http://blogs.technet.com/b/steve_chen/archive/2010/09/20/user-profile-sync-sharepoint-2010.aspx

    http://blogs.technet.com/b/meamcs/archive/2013/02/18/sharepoint-2010-2013-user-profile-synchronization.aspx

    En este caso en particular, en el event viewer me aparecía el siguiente error:

    .Net SqlClient Data Provider: System.Data.SqlClient.SqlException: HostId is not registered
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
    at System.Data.SqlClient.SqlDataReader.get_MetaData()
    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
    at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
    at System.Data.SqlClient.SqlCommand.ExecuteReader()
    at Microsoft.ResourceManagement.Data.DataAccess.RetrieveWorkflowDataForHostActivator(Int16 hostId, Int16 pingIntervalSecs, Int32 activeHostedWorkflowDefinitionsSequenceNumber, Int16 workflowControlMessagesMaxPerMinute, Int16 requestRecoveryMaxPerMinute, Int16 requestCleanupMaxPerMinute, Boolean runRequestRecoveryScan, Boolean& doPolicyApplicationDispatch, ReadOnlyCollection`1& activeHostedWorkflowDefinitions, ReadOnlyCollection`1& workflowControlMessages, List`1& requestsToRedispatch)
    Y en los logs de ULS de Sharepoint:
    Medium ILM Configuration: Post setup configuration. 
    High ILM Configuration: Post setup configuration failed with error code –532459699
    Para solucionarlo tuve que habilitar las opciones de “Auto Create Statistics” y “Auto Update Statistics” en la base de Sync. Después de habilitar estas opciones, reinicie el servicio de windows.
    image
    image
    image
    Para finalizar hice un iisreset, y el servicio cambio el estado a Started.
    image
     

    Error al abrir el central administration en Sharepoint 2013

    This operation can be performed only on a computer that is joined to a server farm by users who have permissions in SQL Server to read from the configuration database. To connect this server to the server farm, use the SharePoint Products Configuration Wizard, located on the Start menu in Microsoft SharePoint 2010 Products

    image

    Para solucionarlo, ingresa al servidor de SQL Server y verifica que la instancia de SQL Server esté iniciada.

    image

    Una vez iniciado, se soluciona el problema.

    image

    domingo, 3 de noviembre de 2013

    Usage and Health Data Collection Proxy–Stopped

    Al crear la granja de Sharepoint 2013, me aparece el Usage and Health Data Collection Proxy en estado “stopped”.

    image

    Para iniciarlo, hago lo siguiente:

    • Ejecuto: Get-SPServiceApplicationProxy
    • Obtengo el ID del proxy detenido. Ej:

    image

    • Y ejecuto el siguiente script

    $UsageApp = Get-SPServiceApplicationProxy | Where {$_.ID -eq "f1bb3c19-5b91-4392-b41e-a4956f4a2def"}
    $UsageApp.Provision()

    image