SQL Server

Advanced Developers SharePoint 2007 Training

There are a ton of training opportunities out there today for SharePoint.  Sahil Malik, one of my SharePoint MVP colleagues and most excellent speaker, will be conducting a week of some serious advanced training, including things like Windows Server 2008, SQL Server 2008, Visual Studio 2008, IIS 7, .NET 3.5, WCF, Silverlight, LINQ and Entity Framework and how they all related to SharePoint.

This is aimed at advanced developers and is being held in NORWAY.  That's right, NORWAY.  So in between session you can enjoy the Scandinavian luxuries, like snow, snow and more snow.  You can get additional information here, http://blah.winsmarts.com./2008-6-Advanced_Developers_SharePoint_2007_Training_in_Norway.aspx, and as an added bonus, see a mug shot of Sahil as well.

Forms Based Authentication - Application Pool Account Permissions

Early last year, I posted a couple of articles on how to setup Forms Based Authentication (FBA) in Windows SharePoint Services (WSS v3).

Here are the links:

FBA Walkthrough Part 1

FBA with MySites Walkthrough Part 2

Many people have used this to setup FBA in their environments successfully.  One of the most common issues that come up with many people is that they are not able to resolve users even though the web.config files are configured correctly.  The primary reason ends up being that the Application Pool account for either Central Administration or the Web Application in question has not been granted the appropriate permissions inside of SQL Server to access the membership information.  I referred to this step as the magic step in my earlier posts, but never documented it.  Well the time has come to document that step, so here it is.

I am documenting this for SQL Server 2005.  The same thing can be accomplished in SQL Server 2000, albeit the steps and screen shots will be different (obviously).

As mentioned in my previous post, you will need to run aspnet_regsql to setup the membership database.  This is documented nicely in FBA Walkthrough Part 1

The previous article stops there however and did not discuss permissions.  In the following steps, I assume that the database you created is called "AspNetDb_www.yourwebapplication.com".

Open up SQL Server Management Studio.  When presented with the Connect to Server dialog box, make sure the Server type drop down is set to Database Engine as indicated in the following screen shot.

image

Expand the Databases node and locate your membership database.  Then expand your membership database node, then the Security node within it.

image

Right click on the Users folder and select New User from the context menu.

image

The Database User - New dialog will appear.  Click the Browse button next to the Login name text box.

image

In the Select Login dialog, enter the object name you wish to grant access to.  Let's begin with the Central Administration application pool account.  Keep in mind, your account name will most likely be different than mine.  In my example, I browsed for and located my Central Administration application pool user named moss\ossservice.  Click OK after confirming it via the Check Names button.

image

Enter a User name that will map to the NT Login name.  I use the same name as NT minus the domain portion.  Next, in the Database role membership section, check all of the of the Role Members prefixed with aspnet_.  It is possible that all of these role members are not needed, but I have not taken the time to determine the minimum set of permissions required for this to work.  If someone has tested this and would like to share that information, please do.  This is still a whole lot better than making the application pool account a db_owner!

image

Repeat the process with the application pool account for your web application.

Keep in mind that on a development machine these may very well be the same account, but in production, I would hope that they are not.  That would be bad, very bad.

I hope this helps clear up some of the confusion around my previous post.

Happy FBA'ing!

Technical Interview Tips

Keith Rome, an über smart friend of mine and fellow MVP, recently posted some interview tips on how to increase the odds of landing that next dream job.  Remember, it's the little things that help!

http://www.mindfusioncorp.com/weblog/2007/10/23/10+Interview+Tips+That+Will+Help+You+Land+A+Better+Job.aspx

SQL Server 2005 Service Pack 2 - Community Technology Preview (CTP) November 2006

Courtesy of Teo Lachev:

The second CTP (Community Technology Preview) build of the forthcoming SQL Server 2005 Service Pack 2 was released today. Besides bug fixes, SP2 includes major BI features and enhancements including:

Reporting Services

  • SharePoint 2007 integration – this one is a true enzilla (enhancement Godzilla) and deserves a separate post. Suffice to say that unlike the previous Explorer and Viewer webparts, SP2 will allow you to move the report catalog to SharePoint to enable publishing, viewing, and managing SSRS 2005 reports within SharePoint 2007.
  • Report Builder support for Oracle 9.2.0.3 or above (previously only SQL Server and Analysis Services 2005 were supported for Report Builder models)
  • New .NET Data Provider for Hyperion 9.3 BI+ Essbase Enterprise Analytics
  • Select All option has been restored with multi-valued parameters (it was disabled in SP1 for performance reasons).

Analysis Services

  • Better Excel 2007 integration – advanced filtering, cube formulas, offline cubes.
  • Data mining add-ins for Excel 2007 -- Table Analysis Tools for Excel, Data Mining Client for Excel, Data Mining Templates for Visio
  • Performance improvements with subselects, arbitrary shapes, running sum calculations, visual totals, ROLAP dimensions, cell writeback, many-to-many dimensions, 64-bit NUMA hardware, semi-additive measures and unary operators.
  • Supportability enhancements – enhanced memory dumps, filtered dumps, best practices analyzer

More information about what's new in SQL Server 2005 SP2 CTP2 is available in the readme file.

Posted 11-08-2006 by Dan Attis
Filed under: