I am using the extracted XML below to provision Enterprise Search on a farm with search topology split onto four (4) servers.
After running ASPO I wind up with two (2) Search topologies and only one has Search components (and it is 'inactive'). On the two (2) Index and Content Query servers (08 & 09) the Search Host controller fails to start, and Services are never provisioned on these servers either. Yet ASPI never reports an error.
I'm still digging deeper, but I can see that the Search Service account has not been given any permissions to the DataDir either by file system permissions or Local Admin.
[TechNet Planning for Search says](http://technet.microsoft.com/en-us/library/cc263445(v=office.15).aspx)
* Full Control access to the index partitions on the query servers
ASPI doesn't explicitly grant this anywhere. Is this an Oversight?
```
<DataDir>D:\SharePointData</DataDir>
<ManagedAccount CommonName="SearchService">
<Username>domain.com\SVC_SP13PRDSrchSvc</Username>
<Password>P@ssword1</Password>
</ManagedAccount>
<EnterpriseSearchService Provision="TOTSPSVCPRD06,TOTSPSVCPRD07" ContactEmail="me@domain.com" ConnectionTimeout="60" AcknowledgementTimeout="60" ProxyType="Default" IgnoreSSLWarnings="false" InternetIdentity="Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)" CustomIndexLocation="" PerformanceLevel="PartlyReduced" ShareName="SearchIndex">
<EnterpriseSearchServiceApplications>
<EnterpriseSearchServiceApplication Name="Search Service Application" FailoverDatabaseServer="" Partitioned="false" Partitions="1" SearchServiceApplicationType="Regular" ContentAccessAccount="domain.com\SVC_SP13PRDSrchCnt" ContentAccessAccountPassword="P@ssword1">
<Database>
<Name>Search</Name>
<DBServer />
<DBAlias Create="false" DBInstance="localhost" DBPort="" />
</Database>
<ApplicationPool Name="SharePoint Search Application Pool" />
<CrawlComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</CrawlComponent>
<QueryComponent>
<Server Name="SERVER08" />
<Server Name="SERVER09" />
</QueryComponent>
<SearchQueryAndSiteSettingsServers>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</SearchQueryAndSiteSettingsServers>
<AdminComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
<ApplicationPool Name="SharePoint Search Application Pool" />
</AdminComponent>
<IndexComponent>
<Server Name="SERVER08" />
<Server Name="SERVER09" />
</IndexComponent>
<ContentProcessingComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</ContentProcessingComponent>
<AnalyticsProcessingComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</AnalyticsProcessingComponent>
<Proxy Name="Search Service Application" Partitioned="false">
<ProxyGroup Name="Default" />
</Proxy>
<SearchCenterUrl>http://search.domain.com</SearchCenterUrl>
</EnterpriseSearchServiceApplication>
</EnterpriseSearchServiceApplications>
</EnterpriseSearchService>
```
Comments: ** Comment from web user: webguynj **
After running ASPO I wind up with two (2) Search topologies and only one has Search components (and it is 'inactive'). On the two (2) Index and Content Query servers (08 & 09) the Search Host controller fails to start, and Services are never provisioned on these servers either. Yet ASPI never reports an error.
I'm still digging deeper, but I can see that the Search Service account has not been given any permissions to the DataDir either by file system permissions or Local Admin.
[TechNet Planning for Search says](http://technet.microsoft.com/en-us/library/cc263445(v=office.15).aspx)
* Full Control access to the index partitions on the query servers
ASPI doesn't explicitly grant this anywhere. Is this an Oversight?
```
<DataDir>D:\SharePointData</DataDir>
<ManagedAccount CommonName="SearchService">
<Username>domain.com\SVC_SP13PRDSrchSvc</Username>
<Password>P@ssword1</Password>
</ManagedAccount>
<EnterpriseSearchService Provision="TOTSPSVCPRD06,TOTSPSVCPRD07" ContactEmail="me@domain.com" ConnectionTimeout="60" AcknowledgementTimeout="60" ProxyType="Default" IgnoreSSLWarnings="false" InternetIdentity="Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)" CustomIndexLocation="" PerformanceLevel="PartlyReduced" ShareName="SearchIndex">
<EnterpriseSearchServiceApplications>
<EnterpriseSearchServiceApplication Name="Search Service Application" FailoverDatabaseServer="" Partitioned="false" Partitions="1" SearchServiceApplicationType="Regular" ContentAccessAccount="domain.com\SVC_SP13PRDSrchCnt" ContentAccessAccountPassword="P@ssword1">
<Database>
<Name>Search</Name>
<DBServer />
<DBAlias Create="false" DBInstance="localhost" DBPort="" />
</Database>
<ApplicationPool Name="SharePoint Search Application Pool" />
<CrawlComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</CrawlComponent>
<QueryComponent>
<Server Name="SERVER08" />
<Server Name="SERVER09" />
</QueryComponent>
<SearchQueryAndSiteSettingsServers>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</SearchQueryAndSiteSettingsServers>
<AdminComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
<ApplicationPool Name="SharePoint Search Application Pool" />
</AdminComponent>
<IndexComponent>
<Server Name="SERVER08" />
<Server Name="SERVER09" />
</IndexComponent>
<ContentProcessingComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</ContentProcessingComponent>
<AnalyticsProcessingComponent>
<Server Name="SERVER06" />
<Server Name="SERVER07" />
</AnalyticsProcessingComponent>
<Proxy Name="Search Service Application" Partitioned="false">
<ProxyGroup Name="Default" />
</Proxy>
<SearchCenterUrl>http://search.domain.com</SearchCenterUrl>
</EnterpriseSearchServiceApplication>
</EnterpriseSearchServiceApplications>
</EnterpriseSearchService>
```
Comments: ** Comment from web user: webguynj **
Hmm. Will try first thing in the morning...