I have setup a SharePoint Foundation 2010 farm consisting of 2 servers: SQL Server and SharePoint all-in-one server. The setup is without a domain controller, which was possible with some effort with Powershell when creating config-database and web-applications. The authentication and access to the database server is entirely done with SQL accounts since the servers don't share a common domain controller.

When I try to setup Search service I fail however. I create the Foundation Search service with stsadm commands (thanks to the good guide from Gary Lapoint ), where I specify the sql-authentication:

function ConvertTo-UnsecureString([System.Security.SecureString]$string)
  $unmanagedString = [System.Runtime.InteropServices.Marshal]::SecureStringToGlobalAllocUnicode($string)
  $unsecureString = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($unmanagedString)

  return $unsecureString

$searchSvcAccount = Get-Credential "spserver1\spsSearchSvc"
$crawlAccount = Get-Credential "spserver1\spsCrawl"
$searchConnAccount = Get-Credential "spsearchconnect"

$stsadmArgs = "-o spsearch -action start " + `
"-farmserviceaccount `"$($searchSvcAccount.Username)`" " + `
"-farmservicepassword `"$(ConvertTo-UnsecureString $searchSvcAccount.Password)`" " + `
"-farmcontentaccessaccount `"$($crawlAccount.Username)`" " + `
"-farmcontentaccesspassword `"$(ConvertTo-UnsecureString $crawlAccount.Password)`" " + `
"-databaseserver `"111.222.333.444`" " +  `
"-databasename `"SharePoint_FoundationSearch`" " + `
"-sqlauthlogin `"spsearchconnect`" " + `
"-sqlauthpassword `"$(ConvertTo-UnsecureString $searchConnAccount.Password)`""

Write-Host "Running: stsadm $stsadmArgs"
$stsadmoutput = cmd /c "stsadm $stsadmArgs" 2>&1
if ($lastexitcode -ne 0) {
  throw "Unable to start Foundation Search Service.`n$stsadmoutput"

The search accounts need to be local Windows accounts on the SharePoint server (spserver1). The spsearchconnect account is an SQL account on the SQL Server which has dbcreator and securityadmin roles on the server and read permissions on all Content Databases (for crawling).

This successfully creates the search application and the search database. However I beleive the access for crawling is not done with the sql-authentication provided at creation of the service. Which means that crawling fails and that nothing is indexed. The SQL Server simply doesn't acknowledge the local Windows accounts on the SharePoint Server.

My Question is:

Can I setup that access with crawl-account on the SharePoint server is forwarded to another account (SQL account or windows account on the SQL Server) so that crawling succeeds.

I know that setting up an Active Directory would be the obvious choice, but it is not an option since the SQL Server is a production server for other applications as well and we cannot risk disrupting it, and we cannot just setup another SQL Server since we are already paying expensive license money for the SQL Server to allow external users (Processor license to cover CALs).

If anyone knows anything about this I would greatly appreciate it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.