How to Configure Postgresql 12 Streaming Replication in Centos 8

Total Page:16

File Type:pdf, Size:1020Kb

How to Configure Postgresql 12 Streaming Replication in Centos 8 How To Configure PostgreSQL 12 Streaming Replication in CentOS 8 PostgreSQL database supports several replication solutions to build high- availability, scalable, fault-tolerant applications, one of which is Write-Ahead Log (WAL) Shipping. This solution allows for a standby server to be implemented using file-based log shipping or streaming replication, or where possible, a combination of both approaches. With streaming replication, a standby (replication slave) database server is configured to connect to the master/primary server, which streams WAL records to the standby as they are generated, without waiting for the WAL file to be filled. By default, streaming replication is asynchronous where data is written to the standby server(s) after a transaction has been committed on the primary server. This means that there is a small delay between committing a transaction in the master server and the changes becoming visible in the standby server. One downside of this approach is that in case the master server crashes; any uncommitted transactions may not be replicated and this can cause data loss. This guide shows how to set up a Postgresql 12 master-standby streaming replication on CentOS 8. We will use “replication slots” for the standby as a solution to avoid the master server from recycling old WAL segments before the standby has received them. Note that compared to other methods, replication slots retain only the number of segments known to be needed. Testing Environment: This guide assumes you connected to your master and standby database servers as the root via SSH (use Sudo command where necessary if you are connected as a normal user with administrative rights): Postgresql master database server: 10.20.20.9 Postgresql standby database server: 10.20.20.8 Both database servers must have Postgresql 12 installed, otherwise, see: How to Install PostgreSQL and pgAdmin in CentOS 8. Note: PostgreSQL 12 comes with major changes to replication implementation and configuration such as replacement of recovery.conf and the conversion of recovery.conf parameters to normal PostgreSQL configuration parameters, making it much easier to configure cluster replication. Step 1: Configuring the PostgreSQL Master/Primary Database Server 1. On the master server, switch to the postgres system account and configure the IP address(es) on which the master server will listen to for connections from clients. In this case, we will use * meaning all. # su - postgres $ psql -c "ALTER SYSTEM SET listen_addresses TO '*';" The ALTER SYSTEM SET SQL command is a powerful feature to change a server’s configuration parameters, directly with a SQL query. The configurations are saved in the postgresql.conf.auto file located at the root of data folder (e.g /var/lib/pgsql/12/data/) and read addition to those stored in postgresql.conf. But configurations in the former take precedence over those in the later and other related files. Configure IP Addresses on PostgreSQL Master 2. Then create a replication role that will be used for connections from the standby server to the master server, using the createuser program. In the following command, the -P flag prompts for a password for the new role and -e echoes the commands that createuser generates and sends to the database server. # su – postgres $ createuser --replication -P -e replicator $ exit Create Replication User on Pgmaster 3. Then enter the following entry at the end of the /var/lib/pgsql/12/data/pg_hba.conf client authentication configuration file with the database field set to replication as shown in the screenshot. host replication replicator 10.20.20.8/24 md5 Configure Replication Authentication 4. Now restart the Postgres12 service using the following systemctl command to apply the changes. # systemctl restart postgresql-12.service 5. Next, if you have the firewalld service running, you need to add the Postgresql service in the firewalld configuration to allow requests from the standby server to the master. # firewall-cmd --add-service=postgresql --permanent # firewall-cmd --reload Step 2: Making a Base Backup to Bootstrap the Standby Server 6. Next, you need to make a base backup of the master server from the standby server; this helps to bootstrap the standby server. You need to stop the postgresql 12 service on the standby server, switch to the postgres user account, backup the data directory (/var/lib/pgsql/12/data/), then delete everything under it as shown, before taking the base backup. # systemctl stop postgresql-12.service # su - postgres $ cp -R /var/lib/pgsql/12/data /var/lib/pgsql/12/data_orig $ rm -rf /var/lib/pgsql/12/data/* 7. Then use the pg_basebackup tool to take the base backup with the right ownership (the database system user i.e Postgres, within the Postgres user account) and with the right permissions. In the following command, the option: . -h – specifies the host which is the master server. -D – specifies the data directory. -U – specifies the connection user. -P – enables progress reporting. -v – enables verbose mode. -R – enables the creation of recovery configuration: Creates a standby.signal file and append connection settings to postgresql.auto.conf under the data directory. -X – used to include the required write-ahead log files (WAL files) in the backup. A value of stream means to stream the WAL while the backup is created. -C – enables the creation of a replication slot named by the -S option before starting the backup. -S – specifies the replication slot name. $ pg_basebackup -h 10.20.20.5 -D /var/lib/pgsql/12/data - U replicator -P -v -R -X stream -C -S pgstandby1 $ exit Base Backup of the Master Server 8. When the backup process is done, the new data directory on the standby server should look like that in the screenshot. A standby.signal is created and the connection settings are appended to postgresql.auto.conf. You can list its contents using the ls command. # ls -l /var/lib/pgsql/12/data/ Verify Backup Data Directory A replication slave will run in “Hot Standby” mode if the hot_standby parameter is set to on (the default value) in postgresql.conf and there is a standby.signal file present in the data directory. 9. Now back on the master server, you should be able to see the replication slot called pgstandby1 when you open the pg_replication_slots view as follows. # su - postgres $ psql -c "SELECT * FROM pg_replication_slots;" $ exit Create Replication Slot 10. To view the connection settings appended in the postgresql.auto.conf file, use the cat command. # cat /var/lib/pgsql/12/data/postgresql.auto.conf View Connection Settings 11. Now commence normal database operations on the standby server by starting the PostgreSQL service as follows. # systemctl start postgresql-12 Step 3: Testing PostgreSQL Streaming Replication 12. Once a connection is established successfully between the master and the standby, you will see a WAL receiver process in the standby server with a status of streaming, you can check this using the pg_stat_wal_receiver view. $ psql -c "\x" -c "SELECT * FROM pg_stat_wal_receiver;" Check WAL Receiver Process and a corresponding WAL sender process in the master/primary server with a state of streaming and a sync_state of async, you can check this pg_stat_replication pg_stat_replication view. $ psql -c "\x" -c "SELECT * FROM pg_stat_replication;" Check WAL Sender Process in Master From the screenshot above, the streaming replication is asynchronous. In the next section, we will demonstrate how to optionally enable synchronous replication. 13. Now test if the replication is working fine by creating a test database in the master server and check if it exists in the standby server. [master]postgres=# CREATE DATABASE tecmint; [standby]postgres=# \l Test Streaming Replication Optional: Enabling Synchronous Replication 14. Synchronous replication offers the ability to commit a transaction (or write data) to the primary database and the standby/replica simultaneously. It only confirms that a transaction is successful when all changes made by the transaction have been transferred to one or more synchronous standby servers. To enable synchronous replication, the synchronous_commit must also be set to on (which is the default value, thus no need for any change) and you also need to set the synchronous_standby_names parameter to a non-empty value. For this guide, we will set it to all. $ psql -c "ALTER SYSTEM SET synchronous_standby_names TO '*';" Set Sync Standby Names in Master 15. Then reload the PostgreSQL 12 service to apply the new changes. # systemctl reload postgresql-12.service 16. Now when you query the WAL sender process on the primary server once more, it should show a state of streaming and a sync_state of sync. $ psql -c "\x" -c "SELECT * FROM pg_stat_replication;" Check WAL Sender Process in Master We have come to the end of this guide. We have shown how to set up PostgreSQL 12 master-standby database streaming replication in CentOS 8. We also covered how to enable synchronous replication in a PostgreSQL database cluster. .
Recommended publications
  • RDBMS in the Cloud: Deploying SQL Server on AWS
    RDBMS in the Cloud: Deploying SQL Server on AWS Darryl Osborne Vlad Vlasceanu June 2015 Amazon Web Services – RDBMS in the Cloud: Deploying SQL Server on AWS May 2015 © 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document is provided for informational purposes only. It represents AWS’s current product offerings and practices as of the date of issue of this document, which are subject to change without notice. Customers are responsible for making their own independent assessment of the information in this document and any use of AWS’s products or services, each of which is provided “as is” without warranty of any kind, whether express or implied. This document does not create any warranties, representations, contractual commitments, conditions or assurances from AWS, its affiliates, suppliers or licensors. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers. Page 2 of 67 Amazon Web Services – RDBMS in the Cloud: Deploying SQL Server on AWS May 2015 Contents Abstract 5 SQL Server Solutions on AWS 6 Amazon RDS for SQL Server 6 SQL Server on Amazon EC2 6 Hybrid Scenarios 7 Choosing between SQL Server Solutions on AWS 7 Amazon RDS for SQL Server 9 Starting a Microsoft SQL Server RDS Instance 11 Security 15 Performance Management 19 High Availability 26 Monitoring and Management 27 Managing Cost 30 SQL Server on Amazon EC2 33 Starting a Microsoft SQL Server Instance 33 Security 38 Performance Management 40 High Availability 44 Monitoring and Management 48 Managing Cost 49 Caching 52 Hybrid Scenarios 53 Backups to the Cloud 53 SQL Server Log Shipping – Between On-Premises and Amazon EC2 57 Page 3 of 67 Amazon Web Services – RDBMS in the Cloud: Deploying SQL Server on AWS May 2015 SQL Server AlwaysOn Availability Groups – Between On-Premises and Amazon EC2 58 Amazon RDS Migration Tool 59 Conclusion 60 Further Reading 61 Appendix 62 I.
    [Show full text]
  • Aptum Database Administration Program September 2019 Overview
    SERVICE GUIDE APTUM DATABASE ADMINISTRATION PROGRAM SEPTEMBER 2019 OVERVIEW Aptum’s Database Administration (DBA) Program was designed to DBA Plan hours can be leveraged for all database-related activities help our customers reduce the cost of normal operation and the risk of detailed within this document, up to the allocation purchased. If you application and database downtime. require more hours than are purchased in a plan for a given month, any excess will be billed on an hourly basis at the standard Database Customers can work with Aptum’s Solutions Engineers and Certified Administration rate. Database Administrators to obtain assistance with everything from database engine configuration, performance optimization, clustering Included Database Platforms: administration, and replication administration. Microsoft SQL Server To help you achieve your performance goals, we offer our DBA plans in MySQL/MariaDB/Percona block-hour increments: 4 hours* * Hours are monthly and renew at the 1st of each calendar month and do not roll over. Overage rates are applicable only after block hours are consumed. All hours are 8 hours* applicable to the entire solution not per server. 12 hours* 20 hours* THE NEED FOR DATABASE ADMINISTRATION Most applications—especially those that support enterprise processes enable e-commerce, or facilitate collaboration—are database-intensive and demand optimal performance from the database. Applications and database queries may utilize very lean and elegant code, but the structure and configuration of your databases can be a detriment to high performance. There are dozens, sometimes hundreds, of configuration settings that need to be optimally tuned to enhance database performance. When the database is installed, most configuration defaults are applied automatically.
    [Show full text]
  • Deploying Microsoft SQL Server on Amazon Web Services
    Deploying Microsoft SQL Server on Amazon Web Services This paper has been archived. November 2019 For the latest technical content about the AWS Cloud, see the AWS Whitepapers & Guides page: https://aws.amazon.com/whitepapers Archived Notices Customers are responsible for making their own independent assessment of the information in this document. This document: (a) is for informational purposes only, (b) represents current AWS product offerings and practices, which are subject to change without notice, and (c) does not create any commitments or assurances from AWS and its affiliates, suppliers or licensors. AWS products or services are provided “as is” without warranties, representations, or conditions of any kind, whether express or implied. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers. © 2019 Amazon Web Services, Inc. or its affiliates. All rights reserved. Archived Contents Introduction .......................................................................................................................... 1 Amazon RDS for SQL Server .......................................................................................... 1 SQL Server on Amazon EC2 ........................................................................................... 1 Hybrid Scenarios .............................................................................................................. 2 Choosing Between
    [Show full text]
  • Destiny® System Backups
    Destiny® system backups Establishing a backup and restore plan for Destiny Overview It is important to establish a backup and restore plan for your Destiny installation. The plan must be validated and monitored to ensure that your data is sufficiently backed up and can be recovered in the event of hardware failure or other disaster. IMPORTANT Follett recommends deploying a comprehensive backup solution and testing and monitoring all backup processes. There are tradeoff decisions to be made in the backup strategy that will be shaped by your organization’s risk tolerance, technology constraints, and ability to absorb data loss or downtime. This document provides an overview of standard backup and restore for the Destiny system. IMPORTANT This content does not cover high-availability configurations such as clustered servers or log shipping. Please contact Follett School Solutions, Inc. Technical Support should you have any questions about backing up your Destiny installation. For details, see Destiny® system backups. Backing up Destiny: an overview SQL database The heart of the Destiny data resides in the SQL database. These are the main components of SQL data to be backed up: The Destiny SQL database. This database contains the main Destiny data. Proper SQL backup configuration of this database is essential. NOTE If your installation is a consortium, you will have to ensure a proper backup of multiple SQL databases (one per member). The Destiny SQL transaction log. The Master SQL database. This system database is useful when restoring to a replacement server. It is not necessary to back up the tempdb database. This is a SQL Server work area and is recreated automatically.
    [Show full text]
  • SQL/Oracle Database Administrator Work Location: Brooklyn, NY
    City of New York Department of Information Technology and Telecommunications Job Posting Notice Civil Service Title: Certified IT Administrator (Database) Level: 03 Title Code No: 13644 Salary: $83,323/$95,821 - $110,000 Business Title: SQL/Oracle Database Administrator Work Location: Brooklyn, NY Division/Work Unit: IT Services Number of Positions: 5 Job ID: 249532 Hours/Shift: Day - Due to the necessary technical support duties of this position in a 24/7 operation, candidate may be required to work various shifts such as weekends and/or nights/evenings. Job Description DoITT provides for the sustained, efficient and effective delivery of IT services, infrastructure and telecommunications to enhance service delivery to New York City's residents, businesses, employees and visitors. As the City's technology leader, DoITT is responsible for maintaining the foundational IT infrastructure and systems that touch every aspect of City life from public safety to human services, from education to economic development crossing the full spectrum of governmental operations. The successful candidate will serve as an SQL/Oracle Database Administrator reporting to the IT Services Division. Responsibilities will include: Build and configure multiple MS SQL and Oracle databases, equally clustered, non-clustered and virtual environments for the DoITT Enterprise Content Management shared service implementation; develop, design, configure and document database architecture, including software, hardware and physical layout (Processor configurations, SAN luns,
    [Show full text]
  • Sql Server to Aurora Mysql Migration Playbook
    Microsoft SQL Server To Amazon Aurora with MySQL Compatibility Migration Playbook Version 1.8, September 2018 © 2018 Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document is provided for informational purposes only. It represents AWS’s current product offer- ings and practices as of the date of issue of this document, which are subject to change without notice. Customers are responsible for making their own independent assessment of the information in this document and any use of AWS’s products or services, each of which is provided “as is” without war- ranty of any kind, whether express or implied. This document does not create any warranties, rep- resentations, contractual commitments, conditions or assurances from AWS, its affiliates, suppliers or licensors. The responsibilities and liabilities of AWS to its customers are controlled by AWS agree- ments, and this document is not part of, nor does it modify, any agreement between AWS and its cus- tomers. - 2 - Table of Contents Introduction 8 Tables of Feature Compatibility 11 AWS Schema and Data Migration Tools 23 AWS Schema Conversion Tool (SCT) 24 SCT Action Code Index 38 AWS Database Migration Service (DMS) 54 ANSI SQL 57 Migrate from SQL Server Constraints 58 Migrate to Aurora MySQL Constraints 62 Migrate from SQL Server Creating Tables 67 Migrate to Aurora MySQL Creating Tables 71 Migrate from SQL Server Common Table Expressions 77 Migrate to Aurora MySQL Common Table Expressions 80 Migrate from SQL Server Data Types 84 Migrate to Aurora MySQL Data
    [Show full text]
  • SAP HANA System Replication Company
    PUBLIC SAP HANA Platform 2.0 SPS 04 Document Version: 1.1 – 2019-10-31 SAP HANA System Replication company. All rights reserved. All rights company. affiliate THE BEST RUN 2019 SAP SE or an SAP SE or an SAP SAP 2019 © Content 1 SAP HANA System Replication..................................................6 2 SAP HANA System Replication: Basic Concepts.....................................8 2.1 Introduction.................................................................9 2.2 Replication Modes for SAP HANA System Replication...................................12 2.3 Operation Modes for SAP HANA System Replication....................................14 2.4 Data Transferred to the Secondary System..........................................16 2.5 Resync Optimization..........................................................19 Data Retention........................................................... 20 Log Retention............................................................20 2.6 Network Recommendations.....................................................27 Distance Between Data Centers............................................... 27 Network Throughput.......................................................28 Data and Log Compression...................................................30 Data and Log Volume Encryption...............................................31 2.7 Secondary System Usage...................................................... 31 3 SAP HANA System Replication: Configuration .....................................34 3.1 General Prerequisites
    [Show full text]
  • Litespeed for SQL Server
    LiteSpeed® for SQL Server® 8.7 Configure Log Shipping Guide © 2018 Quest Software Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software license or nondisclosure agreement. This software may be used or copied only in accordance with the terms of the applicable agreement. No part of this guide may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording for any purpose other than the purchaser’s personal use without the written permission of Quest Software Inc. The information in this document is provided in connection with Quest Software products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Quest Software products. EXCEPT AS SET FORTH IN THE TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, QUEST SOFTWARE ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL QUEST SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF QUEST SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Quest Software makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice.
    [Show full text]
  • Salt Lake County Job Description Database Administrator
    Salt Lake County Job Description Database Administrator DEPARTMENT: Administrative Services DIVISION: Information Services / 6050 JOB CODE: 609-2 GRADE: 16 Center for the Arts/ 3500 SALARY PLAN: TRD FLSA STATUS: Exempt SAFETY SENSITIVE: No EFFECTIVE DATE: 12/06/2016 JOB SUMMARY Uses, maintains and develops databases within a wide range of public and private databases. Designs, implements and maintains all functions of database systems while maintaining database policies and procedures, data integrity, data extraction, report customization and analysis. MINIMUM QUALIFICATIONS Seven (7) years of experience in a closely related field; OR a Bachelor’s degree from an accredited college or university in Information Technology, or other closely related field, plus three (3) years of related experience.; Or an equivalent combination of education and experience. FOR DATABASE POSITIONS IN INFORMATION SERVICES PREFERRED CERTIFICATIONS: MCDBA, MTA(Data), MCSA(Data), MCSE(data) Due to the nature of this position, the successful applicant must pass a required pre-employment background check and subsequent mandatory background checks in accordance with current County Human Resources policy requirements. ESSENTIAL FUNCTIONS • Creates databases, configures and manages system database files. • Identifies available space on data volumes, identifies the cause of performance degradation. • Resolves backup/restore incidents. • Identifies problematic execution plans. • Monitors current sessions, identifies sessions that cause blocking activity, identifies sessions that consume resources, and configures the data collector. • Acts as a backup very large databases, configures alerting for failed backups, manages the process to back up database operating systems, manages transaction log backups, configures database recovery models, configures backup automation. • Configures an audit on SQL Server, queries the SQL Server audit log, and manages a SQL Server audit.
    [Show full text]
  • Query Fresh: Log Shipping on Steroids
    Query Fresh: Log Shipping on Steroids Tianzheng Wang Ryan Johnson Ippokratis Pandis University of Toronto LogicBlox Amazon Web Services [email protected] [email protected] [email protected] ABSTRACT to guarantee strong safety [20]: transactions are not committed Hot standby systems often have to trade safety (i.e., not losing com- until their log records are persisted in all (or a majority of) nodes. mitted work) and freshness (i.e., having access to recent updates) Synchronous log shipping ensures that if the primary fails, a backup for performance. Guaranteeing safety requires synchronous log can take over as the new primary without losing committed work. shipping that blocks the primary until the log records are durably In addition to replaying log records, backups can serve read-only replicated in one or multiple backups; maintaining freshness ne- transactions, improving resource utilization and performance. cessitates fast log replay on backups, but is often defeated by the 1.1 The Freshness Gap dual-copy architecture and serial replay: a backup must generate The ability to serve read-only transactions on backups while the “real” data from the log to make recent updates accessible to read-only queries. maintaining strong safety guarantees is a salient feature of log ship- This paper proposes Query Fresh, a hot standby system that pro- ping: modern database servers are high-end machines that constitute vides both safety and freshness while maintaining high performance non-trivial parts of the total cost of ownership, and offloading read- only transactions to backups can significantly increase hardware on the primary. The crux is an append-only storage architecture used in conjunction with fast networks (e.g., InfiniBand) and byte- utilization and read-only throughput.
    [Show full text]
  • SQL Server Interview Questions
    SQL Server interview questions Explain the use of keyword WITH ENCRYPTION. Create a Store Procedure with Encryption. It is a way to convert the original text of the stored procedure into encrypted form. The stored procedure gets obfuscated and the output of this is not visible to CREATE PROCEDURE Abc WITH ENCRYPTION AS << SELECT statement>> GO What is a linked server in SQL Server? It enables SQL server to address diverse data sources like OLE DB similarly. It allows Remote server access and has the ability to issue distributed queries, updates, commands and transactions. Features and concepts of Analysis Services Analysis Services is a middle tier server for analytical processing, OLAP, and Data mining. It manages multidimensional cubes of data and provides access to heaps of information including aggregation of data One can create data mining models from data sources and use it for Business Intelligence also including reporting features. Some of the key features are: • Ease of use with a lot of wizards and designers. • Flexible data model creation and management • Scalable architecture to handle OLAP • Provides integration of administration tools, data sources, security, caching, and reporting etc. • Provides extensive support for custom applications What is Analysis service repository? Every Analysis server has a repository to store metadata for the objects like cubes, data sources etc. It’s by default stored in a MS Access database which can be also migrated to a SQL Server database. What is SQL service broker? Service Broker allows internal and external processes to send and receive guaranteed, asynchronous messaging. Messages can also be sent to remote servers hosting databases as well.
    [Show full text]
  • Data Administration in Information Systems 2Nd Semester Lab 6: Recovery
    MEIC 2019/2020 Data Administration in Information Systems 2nd semester Lab 6: Recovery In this lab class we will approach the following topics: 1. Important Concepts 1.1. Transaction Logs and Recovery in SQL Server 1.2. WAL and ARIES-like logging and recovery scheme 1.3. SQL Server Restore Recovery Models 1.4. Disaster Recovery in SQL Server 2. Experiments and Exercises 2.1. Some Examples on Database Backups 2.2. Exercises 1.1. Transaction Logs and Recovery in SQL Server Every SQL Server database has a transaction log that records all transactions and the database modifications made by each transaction. The transaction log is a critical component of the database. If there is a system failure, the transaction log might be required to bring your database back to a consistent state. The transaction log supports the following operations: • Recovery of individual transactions in the case of a transaction rollback (undoing) • Recovery of all incomplete transactions when SQL Server is started (restart recovery) • Rolling a restored database, file, filegroup, or page forward to the point of failure (restore recovery) • Supporting transactional replication in multiple copies of the same database. If a computer that is running SQL Server fails, the databases may be left in a state where some modifications were never written from the buffer cache to the data files, and there may be some modifications from incomplete transactions in the data files. When an instance of SQL Server is started, it runs a recovery process of each database. Every modification recorded in the log, which may not have been written to the data files, is rolled forward.
    [Show full text]