Installing App Broker - DB exists, but NOT A VALID App Portal database
I am installing App Broker for the first time on a client's infrastructure, but during installation the installer complains that the database "AppBroker" (which was created for us) exists, but is not valid. The collation setting SQL_Latin1_General_CP1_CI_AS however is set and the service account that I am using is db_owner. When I am using the Browse function he is showing me four system databases and my "AppBroker" database - as expected. But chosing "AppBroker" the install still complains.
So why does this not work? What is a valid database?
Typically, App Broker creates its own DB as part of a fresh installation. My guess is that somebody pre-created this DB, and you are simply pointing the App Broker installer at the DB? In any event, the installer will query the DB to see if the table WD_WebPackages exists. If it does not, then you will see the error that you are reporting. If it does exist, then App Broker will treat the install as an upgrade.
I've not tried this, and I'm not sure that it is even worth trying, as you may end up with an incomplete DB, but if you were to create the table WD_WebPackages in the DB, then it would get you past the error.
I guess my best suggestion would be to let App Portal create the DB. We would then know that things were setup correctly.
As stated above, you should let App Broker Setup create the database for you. Simply delete the existing database and ensure that the installer account has the sysadmin role (or at least dbcreator - and possibly securityadmin if you haven't pre-created the login for the App Broker service account). The installer account will need to be able to create/modify the database, create the service account login (if it doesn't already exist), and assign the service account as db_owner on the new database. If you are using the service account as the installer account, you can always revoke these additional elevated security roles after completing setup.
I should note that I have run into issues in the past when I simply deleted an existing DB, and then proceeded to try and create a new DB with the same name.. I'm no SQL expert, but it seems like there were some database files left behind after the DB was deleted. In particular, the <databaseName>.mdf and <databaseName>_log.idf files.
At the time, I simply deleted the DB through SQL Server management studio.. Perhaps it would be better to DROP the DB, rather than deleting it through the UI.. One sure fire way to make sure you do not run into issues would be to simply give the DB created by the installer a unique name that has not been used before.