6

I have used SIF to install Sitecore 9.1 and it worked (database is created and everything is working).

Now I want to install a new instance of Sitecore 9.1 on another server - without creating a database, because I already have it.

How can I do this? It might be obvious, but I can't seem to find this in the installation guide.

I was speculating that the Install-SitecoreConfiguration command would discover that the database already existed and then just install the website, but when I try this I get an error somewhat like this: "You must remove all users with password before setting the containment property to NONE” (which I suppose means that it is trying to create the database, and then failing because it is already there).

2 Answers 2

7

To do this you can create a custom version of Sitecore 9.1.1 rev. 002459 (XM) (OnPrem)_cm.scwdp.zip (Or whatever version of the WDP package you are using for your install)

  • Remove everything except iisapp from the archive.xml
  • Remove all the .sql and /dacpac files
  • Recreate the zip
  • Run SIF referencing updated package. DB operations won't happen.

Even better you can remove all the unused db params too

1

On Sif Configuration files sitecore-XP0.json and xconnect-xp0.json you have a

InstallWD task like below.

"InstallWDP": {
        // Syncs the web deploy package with the website.
        "Type": "WebDeploy",
        "Skip":"True"
        "Params": {
            "Verb": "Sync",
            "Arguments": {
                "Source": {
                    "Package": "[resolvepath(parameter('Package'))]"
                },
                "Dest": "Auto",
                "SetParam": [
                    { "Name": "IIS Web Application Name", "Value": "[parameter('SiteName')]" },
                    { "Name": "Database Server Name", "Value": "[parameter('SqlServer')]" },
                    { "Name": "Database Admin User Name", "Value": "[parameter('SqlAdminUser')]" },
                    { "Name": "Database Admin User Password", "Value": "[parameter('SqlAdminPassword')]" },
                    { "Name": "Collection Database Server Name", "Value": "[parameter('SqlServer')]" },
                    { "Name": "Collection Shard Map Manager Database Name", "Value": "[variable('Sql.Database.ShardMapManager')]" },
                    { "Name": "Collection Shard 0 Database Name", "Value": "[variable('Sql.Database.Shard0')]" },
                    { "Name": "Collection Shard 1 Database Name", "Value": "[variable('Sql.Database.Shard1')]" },
                    { "Name": "Processing Pools Database Name", "Value": "[variable('Sql.Database.Pools')]" },
                    { "Name": "Marketing Automation Database Name", "Value": "[variable('Sql.Database.MarketingAutomation')]" },
                    { "Name": "Messaging Database Name", "Value": "[variable('Sql.Database.Messaging')]" },
                    { "Name": "Reference Data Database Name", "Value": "[variable('Sql.Database.Reference')]" },
                    { "Name": "Search SOLR Core Application Connection String", "Value": "[variable('Solr.Url.Xdb')]" },
                    { "Name": "XConnect Server Configuration Environment", "Value": "[parameter('XConnectEnvironment')]" },
                    { "Name": "XConnect Server Certificate Validation Thumbprint", "Value": "[variable('Security.XConnect.CertificateThumbprint')]" },
                    { "Name": "XConnect Server Log Level", "Value": "[parameter('XConnectLogLevel')]" },
                    { "Name": "Marketing Automation Engine Xconnect Collection Client Endpoint", "Value": "[variable('Endpoint.MarketingAutomation')]" },
                    { "Name": "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint", "Value": "[variable('Security.XConnect.CertificateThumbprint')]" },
                    { "Name": "Marketing Automation Engine Xdb Reference Data Endpoint", "Value": "[variable('Endpoint.ReferenceData')]" },
                    { "Name": "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint", "Value": "[variable('Security.XConnect.CertificateThumbprint')]" },
                    { "Name": "Collection Database Application User Name", "Value": "[parameter('SqlCollectionUser')]" },
                    { "Name": "Collection Database Application User Password", "Value": "[parameter('SqlCollectionPassword')]" },
                    { "Name": "Processing Pool Database Application User Name", "Value": "[parameter('SqlProcessingPoolsUser')]" },
                    { "Name": "Processing Pool Database Application User Password", "Value": "[parameter('SqlProcessingPoolsPassword')]" },
                    { "Name": "Reference Data Database Application User Name", "Value": "[parameter('SqlReferenceDataUser')]" },
                    { "Name": "Reference Data Database Application User Password", "Value": "[parameter('SqlReferenceDataPassword')]" },
                    { "Name": "Marketing Automation Database Application User Name", "Value": "[parameter('SqlMarketingAutomationUser')]" },
                    { "Name": "Marketing Automation Database Application User Password", "Value": "[parameter('SqlMarketingAutomationPassword')]" },
                    { "Name": "Messaging Database Application User Name", "Value": "[parameter('SqlMessagingUser')]" },
                    { "Name": "Messaging Database Application User Password", "Value": "[parameter('SqlMessagingPassword')]" }
                ]
            }
        }
    }

You need to add "Skip" parameter to skip this task.

Other way to do is to add Skip parameter to Install-SitecoreConfiguration command:

Install-SitecoreConfiguration @params -Skip InstallWD

Please have a look on:

https://sitecoredude.com/how-to-skip-tasks-in-sitecore-installation-framework-sif/

https://phani-abburi.blogspot.com/2018/

1
  • Thanks, but if I skip the InstallWDP step the website is not created - and then the following steps will fail, because they depend on the website. I am looking for a way to install the Sitecore website, but just skip the creation of the database. I guess I could let it create a new database and then delete it afterwards and change the connectionstrings to the old one. It just seems unnecessarily complicated - I can't be the first person that needs to install sitecore for an existing database? Apr 4, 2019 at 7:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.