I created an ECT using SPD2013 last week. It connects to a SQL DB while using the Secure Store
to impersonate a domain user for a particular DB View. Last week, I used my personal (farm admin) credentials because our SharePoint farm is still pre-production and we were doing a proof-of-concept. After some errors, learning, and remediation, we were able to crawl the external system of about 4500 items with no issues.
Then, we did the following (in order):
- Created a service account which will act as the impersonated account for DB access
- Overwrote my credentials in
BCS
in theManage Service Applications
section ofCentral Administration
- Gave the service account similar permissions to my credentials on the specific DB View. (Note: we did not give it
db_owner
role. Onlyread
) - Re-Indexed the crawled data by deleting the content source for the external system and restarted the
SharePoint Search Service Host
service - Re-Created the content source for the LOB Data
As mentioned before, we were able to crawl all of the 4500+ items without error while using my personal credentials. Using the new service account, search errors out with 1 error (as follows):
Error while crawling LOB contents. ( Error caused by exception: Microsoft.BusinessData.Runtime.ExceededLimitException Database Connector has throttled the response. The response from database contains more than '2000' rows. The maximum number of rows that can be read through Database Connector is '2000'. The limit can be changed via the 'Set-SPBusinessDataCatalogThrottleConfig' cmdlet. )
I would like to avoid raising the throttle limit unless absolutely necessary. I would also like to know why changing the account would suddenly bring in the throttle when all that changed were the credentials in Secure Store
. Any insight into this situation would be greatly appreciated!
Edit: added info about user role permissions.