DNN Forums

Ask questions about your website to get help learning DNN and help resolve issues.

Install DNN in a custom database schema

Sort:
You are not authorized to post a reply.





New Around Here





    Hi

    I'd like to know if DNN supports the installation in a custom database schema.
    I've tested the old object qualifier setting by the past but never the database owner setting.

    I set a database with a specific login who owns a custom schema named 'dnn'.
    When I connect to the server with this login. I can run create query and see that it creates objects in the 'dnn' schema instead of the dbo one. But when I try to install DNN with those credentials, it create all the objects in the 'dbo' schema.

    I tried with option 'run database as databse owner' checked and unchecked.

    The best result I've got is: 'The specified schema name "dbo" either does not exist or you do not have permission to use it.', 'CREATE TABLE dbo.[Authentication] ...'.
    I set the databaseOwner settings in the web.config to 'dnn' but the installation process always change it to 'dbo.'.






    Veteran Member





      If you're going to run the database connection using a DBO that's named something other than DBO, you'll need to update your web config to make it aware of this.  

      Now to the main point...  

      Please be aware that the object qualifier feature has had extremely little use over the past 10+ years.  It's likely to become an unsupported feature that's removed at some point in the future.  

      Until then, yes, it works quite well and you can use it.  However, if you're doing this in another database that has existing data in it, you'll want to be incredibly careful to know what database objects are going to change every time you install DNN, upgrade DNN, and the same for every extension before you install/upgrade.  If you don't do this testing before each install/upgrade, you could accidentally permanently delete or change other database objects that were not related to DNN, simply because they had the same name or something. 

      Now, it's also important to note that not all third-party extension vendors support the use of object qualifiers.  These would need to be treated slightly differently.  However, the ones I can immediately think of do a good job of putting in their own implementation of an object qualifier.  

      In short, yes you can do this, but it's risky and will require a lot more work moving forward.  It would be best to just get another database instance and use that.  If you need anything in DNN to read it, you can add a new connection string to the web config, and then anything that knows how to read and use the connection strings can now perform queries on both databases.  

      You are not authorized to post a reply.

      These Forums are dedicated to the discussion of DNN Platform.

      For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

      1. If you have (suspected) security issues, please DO NOT post them in the forums but instead follow the official DNN security policy
      2. No Advertising. This includes the promotion of commercial and non-commercial products or services which are not directly related to DNN.
      3. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
      4. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
      5. No Flaming or Trolling.
      6. No Profanity, Racism, or Prejudice.
      7. Site Moderators have the final word on approving / removing a thread or post or comment.
      8. English language posting only, please.

      Would you like to help us?

      Awesome! Simply post in the forums using the link below and we'll get you started.

      Get Involved