I had to migrate a BAM implementation into production from a development environment where everything in localized to a clustered database back end.
The deployment went fine, including the BAM part, but I couldn't access the views in the BAM portal. I verified that data was being written into the BAM database, but when I went to the portal to view the data I saw the following message:
Views or Activites may be missing because one or more database(s) could not be contacted. No view to display
There was also an error in the event log which read:
Referenced database 'BAMPrimaryImport' on server 'xxxx' is not accessible. The error is:
System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be called on Null values.
After some investigation I learned that the owner of the BAMPrimaryImport database needed to be a domain account. I tried to change the account role:
sp_addrolemember 'dbowner' 'domain\user'This failed with an error.
So I ran instead (which does not remove the user, just ‘resets’ the users access rights):
sp_revokedbaccess 'domain\user'Which threw an error, but the account was holding the db owner schema, so I changed that to dbo and it worked.
Then, I could run the original call (which now worked):
sp_changedbowner 'domain\user'The views are now visible in the portal, so if you see this error above, this may be the cause.