DNN Forums

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

The DNN 09.11.01 upgrade will only complete on SQL 2016 and above

Sort:
You are not authorized to post a reply.





Veteran Member





    DYI,

    Today I tried ugrading a DNN 09.10.02 site to 09.11.01 on a server with SQL 2012 and it failed.
    There is a SQL script in the install package that can only run SQL 2016+
    SQL 2012 is old, but as DNN officially supports SQL 2008+ I created a ticket for this:

    https://github.com/dnnsof...Platform/issues/5554

    BTW, your site will still run after this, but I would still advise you to restore from backup and either wait for a fix or upgrade SQL server and try again.






    Veteran Member





      Timo,

      I answered this in another thread (that I can't find anymore?) already. First of all: SQL Server 2016 and SQL Server 2017 have already passed the mainstream update phase, so you don't get any security updates anymore (except when you pay a lot of money for extended upgrades). Therefore, using SQL Server 2019 or 2022 is the recommended solution.

      The problem can be found in the file 09.11.01.SqlDataProvider in the installation package for Dnn.PersonaBar.Extensions, lines 25 and 53. This syntax ("DROP PROCEDURE IF EXISTS"...) was introduced with SQL Server 2016, it was one of the few things I always liked in the Oracle PL/SQL "dialect". What a pity, they did not introduce this consequently. Another example for this is "CREATE OR ALTER PROCEDURE..." - these commands work with Stored Procedures and Functions, at least in SQL Server 2019, but not with Views. :-(

      The solution is either upgrade your SQL Server (better way!) or replace the lines with

      IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}UpdateIPFilter') AND type in (N'P', N'PC'))
            DROP PROCEDURE {databaseOwner}{objectQualifier}UpdateIPFilter
      GO

      and

      IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}AddIPFilter') AND type in (N'P', N'PC'))
            DROP PROCEDURE {databaseOwner}{objectQualifier}AddIPFilter
      GO

      before you install DNN.

      Maybe someone should change the DNN Platform Requirements -- DNN Docs (dnncommunity.org) and eliminate at least SQL Server 2012 and SQL Server 2014, better also 2016 and 2017.

      Happy DNNing!
      Michael

       

      Michael Tobisch
      DNN★MVP

      dnnWerk Austria
      DNN Connect





      Senior Member





        Oh, I thought the most current supported SQL Server version was already 2014 and higher.  🤔 






        Veteran Member





          Posted By Will Strohl on 2/27/2023 6:13 PM

          Oh, I thought the most current supported SQL Server version was already 2014 and higher.  🤔 

          Well - that's not in the docs...

          Anyway: There is a statement in the setup/upgrade SQL scripts that requires SQL Server 2016 or higher, therefore SQL Servers 2012 and SQL Server 2014 should be excluded from the minimum requirements, at least for DNN version 9.11.1. We should discuss if SQL Servers are supported that are already past the MS Mainstream Support (for security reasons I would say: No), in this case SQL Server 2016 and SQL Server 2017.

          The problem is obviously that someone generated that part of the script with the script creation tool in SSMS using a newer SQL Server, and was not aware about the consequences in older SQL Server versions.

          Happy DNNing!
          Michael

           

           

          Michael Tobisch
          DNN★MVP

          dnnWerk Austria
          DNN Connect
          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