2008-09-16

SharePoint 2007 - setting up Kerberos correctly one and for all

No this s not "breeze" :-) But thanx to the following article I think I'll make it work - finally.

Kerberos and Excel Services

SharePoint 2007 - Item level security performance issues

I just got the following log entry:

List item query elapsed time: 39030 milliseconds, Additional data (if available): Query HRESULT: 80131530 List internal name, flags, and URL:
{6FB8EDE9-689F-45C1-B016-A4975B652F54}, flags=0x0000000024c01080, URL="xxxxx"...

And the SQL Server CPU was up to almost 100 % all the time.

The list has less than 600 elements, but each item has unique security settings. There are som severe performance issues here.

I turns out that our problem was not directly related to the list in question and item level security after all - it was a symptom on anothere severe problem; a custom SQL query against another database. BUT in the process of discovering the true cause of our performeance issue Microsoft Support could confirm that item level security WILL - sooner or later - cause troubles.

Eli Robbelard has written an article "SharePoint Security: Hard limits and recommended practices" that discusses the topic, and how to make workarounds.

2008-09-11

SharePoint 2007 - correct disposal of SPSite og SPWeb objects - SPRequest objecst allocation

There has been writtem several articles on how to correct create and dispose SPWeb and SPSite objects, but what to do if you still get errors like:

"An SPRequest object was not disposed before the end of this thread. To avoid wasting system resources, dispose of this object or its parent (such as an SPSite or SPWeb) as soon as you are done using it. This object will now be disposed. ... To determine where this object was allocated, create a registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\HeapSettings. Then create a new DWORD named SPRequestStackTrace with the value 1 under this key"

Do what the error tell you: "Create the registry key and add the DWORD". Then you will get at stack trace which help you determine which part of your (or som others) code that are not coded correctly, but it will not neccesarily get you the answer - just a clue on where to start checking.

Articles: