Showing posts from September, 2013

Tuning SQL Server for SharePoint

SharePoint is highly dependent on SQL Server.  For optimal performance and in fact even to use SQL at all, there are some settings that are required and some that are suggested. Collation SharePoint databases require Latin1_General_CI_AS_KS_WS.  It will not let you create a database if the collation is otherwise. Your best bet is to use a separate instance of SQL for SharePoint and set the server default configuration to this collation during install (the only time you can set the server default). If you do not have this collation set, just make sure to set this collation when you create a new blank database for use with SharePoint. Instance It is recommended to create a separate instance of SQL for SharePoint and not to share other applications with this database. Disks RAID 10 Use this setting for all SQL server disk arrays on a production farm. This could be modified slightly if using Solid State (i.e. using a pair of SSD drives in RAID 1 for tempdb may be s

SharePoint Designer Workflow Date Strings

Recently I needed to create a custom column identifier using the ID field.  I would normally use a calculated field to do this, but calculated fields do not work with the ID field, because the ID field is not updated until after the item is created, so there is a timing issue.  If we use a Designer workflow to fire when a new item is created, we can use the ID field because the workflow runs after the item created event. Calculated Field The calculated filed can easily pull the year our of the Created date/time. =CONCATENATE("Risk-",YEAR(Created)) But if we include the ID column, the ID portion will remain blank or at least not consistently work correctly. THIS FAILS: =CONCATENATE("Risk-",YEAR(Created),"-",(ID)) Designer Workflow Create a Local Variable Name: ISODate Type: String Create a local Variable Name: DateYear Type: String Create a step Title: Get Year Add Action Set Workflow Variable Set: Variable: ISODate to Current