AG Cluster db upgrade by vendor












1















Vendor wants to put db into simple mode prior to upgrade then back into full recovery mode after upgrade. I do not want to do this because I am not sure what impact it will have on the db cluster. Won't have to drop the db from the AG then put it back in after this process?










share|improve this question







New contributor




Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    1















    Vendor wants to put db into simple mode prior to upgrade then back into full recovery mode after upgrade. I do not want to do this because I am not sure what impact it will have on the db cluster. Won't have to drop the db from the AG then put it back in after this process?










    share|improve this question







    New contributor




    Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      1












      1








      1








      Vendor wants to put db into simple mode prior to upgrade then back into full recovery mode after upgrade. I do not want to do this because I am not sure what impact it will have on the db cluster. Won't have to drop the db from the AG then put it back in after this process?










      share|improve this question







      New contributor




      Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      Vendor wants to put db into simple mode prior to upgrade then back into full recovery mode after upgrade. I do not want to do this because I am not sure what impact it will have on the db cluster. Won't have to drop the db from the AG then put it back in after this process?







      sql-server






      share|improve this question







      New contributor




      Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked yesterday









      Mike RatliffMike Ratliff

      61




      61




      New contributor




      Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Mike Ratliff is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          4 Answers
          4






          active

          oldest

          votes


















          4














          As seen in the availability group prerequisites the database must be in full recovery mode.



          To change the recovery model, the database must be removed from the Availability Group, and it must be changed back to FULL before adding back into the Availability Group.



          Obviously be very careful here - changing the database to single mode will break your log backup chains so you will be without that recovery mechanism if it goes wrong.






          share|improve this answer

































            2














            There are good answer by George.Palacios & Tony Hinkle



            I suspect the vendor wants to switch to simple because of the amount of log space the upgrade is going to take. Obviously make the upgrade in your test environment first while in full recovery would answer some questions.



            If you do make the upgrade while in full recovery. You can monitor things with these two queries. When the log drive is getting full, run a t-log backup.



            -- Look for locks and waits 
            -- !!!!!Be sure to put your database name in the where clause!!!!!!-----------------
            Select session_ID
            , Start_time
            , [Status]
            , command
            , user_id
            , blocking_session_id as 'blocking ID'
            , wait_type
            , wait_time
            --, estimated_completion_time as 'est comp time'--Values can fluctuate wildly, When it is smaller the cpu_time and decreasing can suddendly finish.
            , cpu_time
            , percent_complete as '%conmplete'
            , lock_timeout
            , deadlock_priority
            , last_wait_type
            , SDB.name as 'DB_name'
            , SDB.state_desc as 'DB_Status'
            --, *

            From sys.dm_exec_requests

            left join sys.databases as SDB
            on sys.dm_exec_requests.database_id = SDB.database_id

            where [status] not in ('background','sleeping')
            and SDB.name = 'DB_name'-- The database I am working on ---------<<<<<<<<<<<<<<< Change this value------------


            --Identifies used space on files, how much data has moved.
            -- Taken from my DataFileFreeSpace Query
            select file_id
            , type_desc
            , name
            , substring([physical_name],1,3) AS [Drive]
            , physical_name
            , state_desc
            , size / 128 as 'AllocatedSizeMB'
            , FILEPROPERTY([name],'SpaceUsed') /128 AS 'SpaceUsedMB' --Addapted from https://sqlperformance.com/2014/12/io-subsystem/proactive-sql-server-health-checks-1
            , (1- (FILEPROPERTY([name],'SpaceUsed') / CAST (size AS MONEY))) *100 AS 'PercentFree'
            , growth / 128 as 'GrowthSettingMB'

            from sys.database_files
            order by type_desc Desc, name





            share|improve this answer































              1














              Yes, you will have to remove it from the availability group in order to put the database in simple recovery mode. The AG replication mechanism requires full recovery mode and it depends on the transactions being fully logged.



              If the database can be synchronized quickly (i.e., it's not too big), removing it from the AG and adding it back is not difficult or time consuming. So whether you want to fight this battle with the vendor probably just depends on how long it would take to resynch.






              share|improve this answer































                1














                My 2 cents :



                Advantage of removing the database from AG Group :



                Just make sure they are fully synchronised before removing it from AG. This gives you a copy of the database in secondary which will not be affected by the upgrade in case of a failure.



                Also since you will make the recovery model 'Simple' the log growth will be under control.



                In case of a failure or data corruption in Primary, the secondary can be used for rollback.(In case the database is huge and restoring backup takes too long.)






                share|improve this answer























                  Your Answer








                  StackExchange.ready(function() {
                  var channelOptions = {
                  tags: "".split(" "),
                  id: "182"
                  };
                  initTagRenderer("".split(" "), "".split(" "), channelOptions);

                  StackExchange.using("externalEditor", function() {
                  // Have to fire editor after snippets, if snippets enabled
                  if (StackExchange.settings.snippets.snippetsEnabled) {
                  StackExchange.using("snippets", function() {
                  createEditor();
                  });
                  }
                  else {
                  createEditor();
                  }
                  });

                  function createEditor() {
                  StackExchange.prepareEditor({
                  heartbeatType: 'answer',
                  autoActivateHeartbeat: false,
                  convertImagesToLinks: false,
                  noModals: true,
                  showLowRepImageUploadWarning: true,
                  reputationToPostImages: null,
                  bindNavPrevention: true,
                  postfix: "",
                  imageUploader: {
                  brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                  contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                  allowUrls: true
                  },
                  onDemand: true,
                  discardSelector: ".discard-answer"
                  ,immediatelyShowMarkdownHelp:true
                  });


                  }
                  });






                  Mike Ratliff is a new contributor. Be nice, and check out our Code of Conduct.










                  draft saved

                  draft discarded


















                  StackExchange.ready(
                  function () {
                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232251%2fag-cluster-db-upgrade-by-vendor%23new-answer', 'question_page');
                  }
                  );

                  Post as a guest















                  Required, but never shown

























                  4 Answers
                  4






                  active

                  oldest

                  votes








                  4 Answers
                  4






                  active

                  oldest

                  votes









                  active

                  oldest

                  votes






                  active

                  oldest

                  votes









                  4














                  As seen in the availability group prerequisites the database must be in full recovery mode.



                  To change the recovery model, the database must be removed from the Availability Group, and it must be changed back to FULL before adding back into the Availability Group.



                  Obviously be very careful here - changing the database to single mode will break your log backup chains so you will be without that recovery mechanism if it goes wrong.






                  share|improve this answer






























                    4














                    As seen in the availability group prerequisites the database must be in full recovery mode.



                    To change the recovery model, the database must be removed from the Availability Group, and it must be changed back to FULL before adding back into the Availability Group.



                    Obviously be very careful here - changing the database to single mode will break your log backup chains so you will be without that recovery mechanism if it goes wrong.






                    share|improve this answer




























                      4












                      4








                      4







                      As seen in the availability group prerequisites the database must be in full recovery mode.



                      To change the recovery model, the database must be removed from the Availability Group, and it must be changed back to FULL before adding back into the Availability Group.



                      Obviously be very careful here - changing the database to single mode will break your log backup chains so you will be without that recovery mechanism if it goes wrong.






                      share|improve this answer















                      As seen in the availability group prerequisites the database must be in full recovery mode.



                      To change the recovery model, the database must be removed from the Availability Group, and it must be changed back to FULL before adding back into the Availability Group.



                      Obviously be very careful here - changing the database to single mode will break your log backup chains so you will be without that recovery mechanism if it goes wrong.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited yesterday

























                      answered yesterday









                      George.PalaciosGeorge.Palacios

                      2,328825




                      2,328825

























                          2














                          There are good answer by George.Palacios & Tony Hinkle



                          I suspect the vendor wants to switch to simple because of the amount of log space the upgrade is going to take. Obviously make the upgrade in your test environment first while in full recovery would answer some questions.



                          If you do make the upgrade while in full recovery. You can monitor things with these two queries. When the log drive is getting full, run a t-log backup.



                          -- Look for locks and waits 
                          -- !!!!!Be sure to put your database name in the where clause!!!!!!-----------------
                          Select session_ID
                          , Start_time
                          , [Status]
                          , command
                          , user_id
                          , blocking_session_id as 'blocking ID'
                          , wait_type
                          , wait_time
                          --, estimated_completion_time as 'est comp time'--Values can fluctuate wildly, When it is smaller the cpu_time and decreasing can suddendly finish.
                          , cpu_time
                          , percent_complete as '%conmplete'
                          , lock_timeout
                          , deadlock_priority
                          , last_wait_type
                          , SDB.name as 'DB_name'
                          , SDB.state_desc as 'DB_Status'
                          --, *

                          From sys.dm_exec_requests

                          left join sys.databases as SDB
                          on sys.dm_exec_requests.database_id = SDB.database_id

                          where [status] not in ('background','sleeping')
                          and SDB.name = 'DB_name'-- The database I am working on ---------<<<<<<<<<<<<<<< Change this value------------


                          --Identifies used space on files, how much data has moved.
                          -- Taken from my DataFileFreeSpace Query
                          select file_id
                          , type_desc
                          , name
                          , substring([physical_name],1,3) AS [Drive]
                          , physical_name
                          , state_desc
                          , size / 128 as 'AllocatedSizeMB'
                          , FILEPROPERTY([name],'SpaceUsed') /128 AS 'SpaceUsedMB' --Addapted from https://sqlperformance.com/2014/12/io-subsystem/proactive-sql-server-health-checks-1
                          , (1- (FILEPROPERTY([name],'SpaceUsed') / CAST (size AS MONEY))) *100 AS 'PercentFree'
                          , growth / 128 as 'GrowthSettingMB'

                          from sys.database_files
                          order by type_desc Desc, name





                          share|improve this answer




























                            2














                            There are good answer by George.Palacios & Tony Hinkle



                            I suspect the vendor wants to switch to simple because of the amount of log space the upgrade is going to take. Obviously make the upgrade in your test environment first while in full recovery would answer some questions.



                            If you do make the upgrade while in full recovery. You can monitor things with these two queries. When the log drive is getting full, run a t-log backup.



                            -- Look for locks and waits 
                            -- !!!!!Be sure to put your database name in the where clause!!!!!!-----------------
                            Select session_ID
                            , Start_time
                            , [Status]
                            , command
                            , user_id
                            , blocking_session_id as 'blocking ID'
                            , wait_type
                            , wait_time
                            --, estimated_completion_time as 'est comp time'--Values can fluctuate wildly, When it is smaller the cpu_time and decreasing can suddendly finish.
                            , cpu_time
                            , percent_complete as '%conmplete'
                            , lock_timeout
                            , deadlock_priority
                            , last_wait_type
                            , SDB.name as 'DB_name'
                            , SDB.state_desc as 'DB_Status'
                            --, *

                            From sys.dm_exec_requests

                            left join sys.databases as SDB
                            on sys.dm_exec_requests.database_id = SDB.database_id

                            where [status] not in ('background','sleeping')
                            and SDB.name = 'DB_name'-- The database I am working on ---------<<<<<<<<<<<<<<< Change this value------------


                            --Identifies used space on files, how much data has moved.
                            -- Taken from my DataFileFreeSpace Query
                            select file_id
                            , type_desc
                            , name
                            , substring([physical_name],1,3) AS [Drive]
                            , physical_name
                            , state_desc
                            , size / 128 as 'AllocatedSizeMB'
                            , FILEPROPERTY([name],'SpaceUsed') /128 AS 'SpaceUsedMB' --Addapted from https://sqlperformance.com/2014/12/io-subsystem/proactive-sql-server-health-checks-1
                            , (1- (FILEPROPERTY([name],'SpaceUsed') / CAST (size AS MONEY))) *100 AS 'PercentFree'
                            , growth / 128 as 'GrowthSettingMB'

                            from sys.database_files
                            order by type_desc Desc, name





                            share|improve this answer


























                              2












                              2








                              2







                              There are good answer by George.Palacios & Tony Hinkle



                              I suspect the vendor wants to switch to simple because of the amount of log space the upgrade is going to take. Obviously make the upgrade in your test environment first while in full recovery would answer some questions.



                              If you do make the upgrade while in full recovery. You can monitor things with these two queries. When the log drive is getting full, run a t-log backup.



                              -- Look for locks and waits 
                              -- !!!!!Be sure to put your database name in the where clause!!!!!!-----------------
                              Select session_ID
                              , Start_time
                              , [Status]
                              , command
                              , user_id
                              , blocking_session_id as 'blocking ID'
                              , wait_type
                              , wait_time
                              --, estimated_completion_time as 'est comp time'--Values can fluctuate wildly, When it is smaller the cpu_time and decreasing can suddendly finish.
                              , cpu_time
                              , percent_complete as '%conmplete'
                              , lock_timeout
                              , deadlock_priority
                              , last_wait_type
                              , SDB.name as 'DB_name'
                              , SDB.state_desc as 'DB_Status'
                              --, *

                              From sys.dm_exec_requests

                              left join sys.databases as SDB
                              on sys.dm_exec_requests.database_id = SDB.database_id

                              where [status] not in ('background','sleeping')
                              and SDB.name = 'DB_name'-- The database I am working on ---------<<<<<<<<<<<<<<< Change this value------------


                              --Identifies used space on files, how much data has moved.
                              -- Taken from my DataFileFreeSpace Query
                              select file_id
                              , type_desc
                              , name
                              , substring([physical_name],1,3) AS [Drive]
                              , physical_name
                              , state_desc
                              , size / 128 as 'AllocatedSizeMB'
                              , FILEPROPERTY([name],'SpaceUsed') /128 AS 'SpaceUsedMB' --Addapted from https://sqlperformance.com/2014/12/io-subsystem/proactive-sql-server-health-checks-1
                              , (1- (FILEPROPERTY([name],'SpaceUsed') / CAST (size AS MONEY))) *100 AS 'PercentFree'
                              , growth / 128 as 'GrowthSettingMB'

                              from sys.database_files
                              order by type_desc Desc, name





                              share|improve this answer













                              There are good answer by George.Palacios & Tony Hinkle



                              I suspect the vendor wants to switch to simple because of the amount of log space the upgrade is going to take. Obviously make the upgrade in your test environment first while in full recovery would answer some questions.



                              If you do make the upgrade while in full recovery. You can monitor things with these two queries. When the log drive is getting full, run a t-log backup.



                              -- Look for locks and waits 
                              -- !!!!!Be sure to put your database name in the where clause!!!!!!-----------------
                              Select session_ID
                              , Start_time
                              , [Status]
                              , command
                              , user_id
                              , blocking_session_id as 'blocking ID'
                              , wait_type
                              , wait_time
                              --, estimated_completion_time as 'est comp time'--Values can fluctuate wildly, When it is smaller the cpu_time and decreasing can suddendly finish.
                              , cpu_time
                              , percent_complete as '%conmplete'
                              , lock_timeout
                              , deadlock_priority
                              , last_wait_type
                              , SDB.name as 'DB_name'
                              , SDB.state_desc as 'DB_Status'
                              --, *

                              From sys.dm_exec_requests

                              left join sys.databases as SDB
                              on sys.dm_exec_requests.database_id = SDB.database_id

                              where [status] not in ('background','sleeping')
                              and SDB.name = 'DB_name'-- The database I am working on ---------<<<<<<<<<<<<<<< Change this value------------


                              --Identifies used space on files, how much data has moved.
                              -- Taken from my DataFileFreeSpace Query
                              select file_id
                              , type_desc
                              , name
                              , substring([physical_name],1,3) AS [Drive]
                              , physical_name
                              , state_desc
                              , size / 128 as 'AllocatedSizeMB'
                              , FILEPROPERTY([name],'SpaceUsed') /128 AS 'SpaceUsedMB' --Addapted from https://sqlperformance.com/2014/12/io-subsystem/proactive-sql-server-health-checks-1
                              , (1- (FILEPROPERTY([name],'SpaceUsed') / CAST (size AS MONEY))) *100 AS 'PercentFree'
                              , growth / 128 as 'GrowthSettingMB'

                              from sys.database_files
                              order by type_desc Desc, name






                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered yesterday









                              James JenkinsJames Jenkins

                              1,89221942




                              1,89221942























                                  1














                                  Yes, you will have to remove it from the availability group in order to put the database in simple recovery mode. The AG replication mechanism requires full recovery mode and it depends on the transactions being fully logged.



                                  If the database can be synchronized quickly (i.e., it's not too big), removing it from the AG and adding it back is not difficult or time consuming. So whether you want to fight this battle with the vendor probably just depends on how long it would take to resynch.






                                  share|improve this answer




























                                    1














                                    Yes, you will have to remove it from the availability group in order to put the database in simple recovery mode. The AG replication mechanism requires full recovery mode and it depends on the transactions being fully logged.



                                    If the database can be synchronized quickly (i.e., it's not too big), removing it from the AG and adding it back is not difficult or time consuming. So whether you want to fight this battle with the vendor probably just depends on how long it would take to resynch.






                                    share|improve this answer


























                                      1












                                      1








                                      1







                                      Yes, you will have to remove it from the availability group in order to put the database in simple recovery mode. The AG replication mechanism requires full recovery mode and it depends on the transactions being fully logged.



                                      If the database can be synchronized quickly (i.e., it's not too big), removing it from the AG and adding it back is not difficult or time consuming. So whether you want to fight this battle with the vendor probably just depends on how long it would take to resynch.






                                      share|improve this answer













                                      Yes, you will have to remove it from the availability group in order to put the database in simple recovery mode. The AG replication mechanism requires full recovery mode and it depends on the transactions being fully logged.



                                      If the database can be synchronized quickly (i.e., it's not too big), removing it from the AG and adding it back is not difficult or time consuming. So whether you want to fight this battle with the vendor probably just depends on how long it would take to resynch.







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered yesterday









                                      Tony HinkleTony Hinkle

                                      2,9801624




                                      2,9801624























                                          1














                                          My 2 cents :



                                          Advantage of removing the database from AG Group :



                                          Just make sure they are fully synchronised before removing it from AG. This gives you a copy of the database in secondary which will not be affected by the upgrade in case of a failure.



                                          Also since you will make the recovery model 'Simple' the log growth will be under control.



                                          In case of a failure or data corruption in Primary, the secondary can be used for rollback.(In case the database is huge and restoring backup takes too long.)






                                          share|improve this answer




























                                            1














                                            My 2 cents :



                                            Advantage of removing the database from AG Group :



                                            Just make sure they are fully synchronised before removing it from AG. This gives you a copy of the database in secondary which will not be affected by the upgrade in case of a failure.



                                            Also since you will make the recovery model 'Simple' the log growth will be under control.



                                            In case of a failure or data corruption in Primary, the secondary can be used for rollback.(In case the database is huge and restoring backup takes too long.)






                                            share|improve this answer


























                                              1












                                              1








                                              1







                                              My 2 cents :



                                              Advantage of removing the database from AG Group :



                                              Just make sure they are fully synchronised before removing it from AG. This gives you a copy of the database in secondary which will not be affected by the upgrade in case of a failure.



                                              Also since you will make the recovery model 'Simple' the log growth will be under control.



                                              In case of a failure or data corruption in Primary, the secondary can be used for rollback.(In case the database is huge and restoring backup takes too long.)






                                              share|improve this answer













                                              My 2 cents :



                                              Advantage of removing the database from AG Group :



                                              Just make sure they are fully synchronised before removing it from AG. This gives you a copy of the database in secondary which will not be affected by the upgrade in case of a failure.



                                              Also since you will make the recovery model 'Simple' the log growth will be under control.



                                              In case of a failure or data corruption in Primary, the secondary can be used for rollback.(In case the database is huge and restoring backup takes too long.)







                                              share|improve this answer












                                              share|improve this answer



                                              share|improve this answer










                                              answered yesterday









                                              Ramakant DadhichiRamakant Dadhichi

                                              998319




                                              998319






















                                                  Mike Ratliff is a new contributor. Be nice, and check out our Code of Conduct.










                                                  draft saved

                                                  draft discarded


















                                                  Mike Ratliff is a new contributor. Be nice, and check out our Code of Conduct.













                                                  Mike Ratliff is a new contributor. Be nice, and check out our Code of Conduct.












                                                  Mike Ratliff is a new contributor. Be nice, and check out our Code of Conduct.
















                                                  Thanks for contributing an answer to Database Administrators Stack Exchange!


                                                  • Please be sure to answer the question. Provide details and share your research!

                                                  But avoid



                                                  • Asking for help, clarification, or responding to other answers.

                                                  • Making statements based on opinion; back them up with references or personal experience.


                                                  To learn more, see our tips on writing great answers.




                                                  draft saved


                                                  draft discarded














                                                  StackExchange.ready(
                                                  function () {
                                                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232251%2fag-cluster-db-upgrade-by-vendor%23new-answer', 'question_page');
                                                  }
                                                  );

                                                  Post as a guest















                                                  Required, but never shown





















































                                                  Required, but never shown














                                                  Required, but never shown












                                                  Required, but never shown







                                                  Required, but never shown

































                                                  Required, but never shown














                                                  Required, but never shown












                                                  Required, but never shown







                                                  Required, but never shown







                                                  Popular posts from this blog

                                                  "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                                                  Alcedinidae

                                                  RAC Tourist Trophy