45
More than Backups for Accounting Databases Cliff Beacham MBA, MCDBA, CPA.CITP Configuring disks can aid performance. Backups may be the last line of defense against data loss but they can also provide operational benefits.

Presentations bu 8

Embed Size (px)

DESCRIPTION

Backing up an Accounting Database

Citation preview

Page 1: Presentations bu 8

More than Backups for Accounting Databases

Cliff Beacham MBA, MCDBA, CPA.CITP

Configuring disks can aid performance.

Backups may be the last line of defense against data loss but

they can also provide operational benefits.

Page 2: Presentations bu 8

© Cliff Beacham 20072

Contents:

1. From the Company point of view

2. What are we hoping to achieve?

3. Technical – hardware - methods

4. Technical Questions (FAQs)

5. Conclusion & Recommendations

Page 3: Presentations bu 8

© Cliff Beacham 20073

Part 1:

1. Whose responsibility is it?

2. Why do it at all?

3. What Risks do we face?

4. Is it just a Management Decision?

5. Emerging Trends

6. Operational advantages

7. Consequences of downtime

Page 4: Presentations bu 8

© Cliff Beacham 20074

ERP Architecture (SQL Server)

msdbDB

AccountingDB

ERPSystemDB

ERP ClientERP ClientERP ClientERP Client

ERP ClientERP ClientERP ClientERP Client

MasterDBERP Server ERP Server ApplicationApplication

ERP Server ERP Server ApplicationApplication

ERP Database ERP Database ServerServer

E.g. SQL ServerE.g. SQL Server

ERP Database ERP Database ServerServer

E.g. SQL ServerE.g. SQL Server

Page 5: Presentations bu 8

© Cliff Beacham 20075

1a. Whose Responsibility?:

Controller IT Manager

CIO

CFO

Directors

Shareholders

Page 6: Presentations bu 8

© Cliff Beacham 20076

1b. Why do it (SOX etc)

Sarbanes Oxley has requirements that are:

1. law to public companies

2. common sense to others

Page 7: Presentations bu 8

© Cliff Beacham 20077

1c. Risks – 5 main areas

Loss or failure of Hardware

Natural Disasters/Catastrophes

Theft or Destruction

Malicious/deliberate

Inadvertent error

Page 8: Presentations bu 8

© Cliff Beacham 20078

1d. Management Decision

1. Compare Cost with Benefits

2. BUT remember there are decisions where cost vs. benefits are not applicable

3. Economic justification can be calculated by:

Anything x Infinity = Infinity

Page 9: Presentations bu 8

© Cliff Beacham 20079

1e. Emerging trends:

1. ISACA – Information Systems Audit and

Control Association (50,000 members) CISA &

CISM

2. CPA/CITP specialist designation

3. SOX applicability to smaller companies

Page 10: Presentations bu 8

© Cliff Beacham 200710

1f. Operational uses of Backups:

1. DSS’s

2. Test Companies

3. Development Companies

4. Scoreboards

5. Lookups

6. Read-only databases

Page 11: Presentations bu 8

© Cliff Beacham 200711

1g. Likely downtime

“I’ll call the company that has the tape backup

and see when they can get it back to us.”

Most error is caused by users – if we have the

backup we can restore immediately with

minimum loss of productivity

Page 12: Presentations bu 8

© Cliff Beacham 200712

An aside (to be personal)

Never, never, NEVER mix data and operating systems on the same drive

Operating System

Data

Page 13: Presentations bu 8

© Cliff Beacham 200713

Part 2: What are we trying to do?

2a. What databases need backing up 2b. Log file 2c. Other applicable DBs

Page 14: Presentations bu 8

© Cliff Beacham 200714

2a. What databases need backing up?

Production System databases – Master, msdb, Model Log file Other applicable DBs

Page 15: Presentations bu 8

© Cliff Beacham 200715

2b. ERP Architecture (SQL Server)

msdbDB

AccountingDB

ERPSystemDB

ERP ClientERP ClientERP ClientERP Client

ERP ClientERP ClientERP ClientERP Client

MasterDB

tempDB

Log file

ERP Server ERP Server ApplicationApplication

ERP Server ERP Server ApplicationApplication

ERP Database ERP Database ServerServer

E.g. SQL ServerE.g. SQL Server

ERP Database ERP Database ServerServer

E.g. SQL ServerE.g. SQL Server

Page 16: Presentations bu 8

© Cliff Beacham 200716

2c. Disk arrangements - Objectives:

1. Speed / Performance

2. Reliability / Redundancy

3. Vulnerability / Risk

Page 17: Presentations bu 8

© Cliff Beacham 200717

Part 3: Disks

1. RAID arrays

2. Appropriate use

3. Typical arrangement

Page 18: Presentations bu 8

© Cliff Beacham 200718

3a. RAID (Redundant Array of Independent/Inexpensive Disks)

RAID # Description

0 Striped set

1 Mirrored set

5 Parity set

10 Striped then Mirrored

Page 19: Presentations bu 8

© Cliff Beacham 200719

3b. Appropriate use

O/S + Programs Cluster

OLTP db 5 or 10

DSS db Stripe

Tempdb Stripe

Log file Mirror

Backup Isolated

Cliff
Page 20: Presentations bu 8

© Cliff Beacham 200720

3c. Optimizing the Database Using Filegroups with Hardware-based RAID

RAID 10 RAID 10 DiskDisk

ControllerController

RAID 10 RAID 10 DiskDisk

ControllerControllerFilegroup 1Filegroup 1

Transaction LogTransaction Log

DiskDiskControllerController

DiskDiskControllerController

Filegroup 2Filegroup 2

RAID 0 RAID 0 DiskDisk

ControllerController

RAID 0 RAID 0 DiskDisk

ControllerController

Filegroup 3Filegroup 3

TempDBTempDB

RAID 5 RAID 5 DiskDisk

ControllerController

RAID 5 RAID 5 DiskDisk

ControllerController

Operating System & Programs

Operating System & Programs

RAID 1 RAID 1 DiskDisk

ControllerController

RAID 1 RAID 1 DiskDisk

ControllerController

Page 21: Presentations bu 8

© Cliff Beacham 200721

Part 4. FAQs

1. RAID

2. Cluster

3. Log Shipping

4. Full Backups

5. Backup Methods

Page 22: Presentations bu 8

© Cliff Beacham 200722

4a. Why backup when I have a RAID system?

Because RAID does not deal with user error RAID deals with Disc Hardware error and

performance issues

Page 23: Presentations bu 8

© Cliff Beacham 200723

4b. Why backup when I have a Clustered system?

Because Clusters do not deal with user error Clusters are designed to deal with O/S and

certain Program errors

Page 24: Presentations bu 8

© Cliff Beacham 200724

Typical Clustered System

Single subnet No routers No Internet

access to DB

ethe

rnet

WebHost 1WebHost 1

WebHost 3WebHost 3

WebHost 6WebHost 6

Network Load BalancingComponent Load Balancing

Network Load BalancingComponent Load Balancing

ClientsClients

SQL Server DatabaseSQL Server Database

2-node Cluster Service2-node Cluster Service

WebHost 2WebHost 2

Node 2

Node 1

Page 25: Presentations bu 8

© Cliff Beacham 200725

4c. Why backup when I have a Log- shipping system?

Because Log shipping does not deal with user error

Log shipping will faithfully replicate the error

Page 26: Presentations bu 8

© Cliff Beacham 200726

4d. Log Shipping

Provides a Baseline Backs Up Original Files, Objects, and Data Backs Up Portions of the Transaction Log

Ship LogShip LogShip LogShip LogData

Log

ProdDB ProdLS

LogData

Page 27: Presentations bu 8

© Cliff Beacham 200727

4e. Why backup the Log when I have Full database backups?

Because Full backups do not enable Point-in-time recovery

A Full backup plan means you have to re-enter everything from the last Full backup

Page 28: Presentations bu 8

© Cliff Beacham 200728

4f. Backup Methods

Full Database Backup

Differential Database Backup

Transaction Log Backup

Piecemeal Filegroup Backup plan

Page 29: Presentations bu 8

© Cliff Beacham 200729

Part 5: Strategies

A. Full Database Backup Strategy

B. Full Database and Transaction Log Backup Strategy

C. Differential Backup Strategy

D. Database File or Filegroup Backup Strategy

Page 30: Presentations bu 8

© Cliff Beacham 200730

5a. Full Database Backup

Provides a Baseline Backs Up Original Files, Objects, and Data Backs Up Portions of the Transaction Log

D:\

NwindBUBackupBackupBackupBackupData

Log

Northwind

Page 31: Presentations bu 8

© Cliff Beacham 200731

Full Database Backup Strategy

Created Database and Performed Full Database Backup

Full Database Backup Full Database Backup

SundaySunday MondayMonday TuesdayTuesday

DataLog

DataLog

DataLog

Page 32: Presentations bu 8

© Cliff Beacham 200732

5b. Full Database and Transaction Log Backup Strategy

SundaySunday MondayMonday

Full Database Backup

Full Database Backup

Log Log LogLog Data

LogData

Log

Page 33: Presentations bu 8

© Cliff Beacham 200733

5c. Differential Backup

Use on Frequently Modified Databases Requires a Full Database Backup Backs Up Database Changes Since the Last

Full Database Backup Saves Time in Both Backup and Restore

Process

Page 34: Presentations bu 8

© Cliff Beacham 200734

Differential Backup Strategy

MondayMonday TuesdayTuesday

Full DatabaseBackup

DifferentialBackup

DifferentialBackup

............LogData

Log Log Log Log Log Log

LogData

Page 35: Presentations bu 8

© Cliff Beacham 200735

5d. Database File or Filegroup Backup Strategy

MondayMonday TuesdayTuesday WednesdayWednesday ThursdayThursday

DataFile 1

DataFile 3

DataFile 2

Full DatabaseBackup

LogData

Log Log Log Log Log Log Log Log

Backup File1

Backup File2

Backup File3

Page 36: Presentations bu 8

© Cliff Beacham 200736

5e. Plan Database Files and Logs

Manage Disk Storage for:– Performance– Fault tolerance

Place Transaction Logs on Separate Disks Place the tempdb Database separately Adopt a coherent Backup policy

Page 37: Presentations bu 8

© Cliff Beacham 200737

Backup Strategy

Plan (and Document the procedure) Implement Test regularly Document effectiveness of Internal Controls

Page 38: Presentations bu 8

THE END

Proudly sponsored by:IFRSUSA.ORG

Thank you for listening:

Cliff Beacham

(949) 813-1349

Page 39: Presentations bu 8

© Cliff Beacham 200739

How the Transaction Log Works

Data modification is sent by application

Data modification is sent by application

1111

Disk

Modification is recorded in transaction log on disk

Modification is recorded in transaction log on disk

3333

Data pages are located in, or read into, RAM and modified

Data pages are located in, or read into, RAM and modified

2222

Buffer Cache

Disk

Checkpoint writes committed transactionsto database

Checkpoint writes committed transactionsto database

4444

Page 40: Presentations bu 8

© Cliff Beacham 200740

Optimizing a Database Using Hardware RAID

Using Hardware-based RAID– Better performance than O/S-based RAID– Enables hot replacement failed drive

Applying Types of RAID (Examples)– Disk mirroring (RAID 1) for redundancy of the log– Disk striping with parity (RAID 5) for performance and

redundancy for data files and transaction logs – Disk mirroring with striping (RAID 10) for maximum

performance for data files

Page 41: Presentations bu 8

© Cliff Beacham 200741

Example of User-defined Filegroups

ProdLog.ldfProdLog.ldf

E:\

User-defined FilegroupPrimary Filegroup Transaction Log

OrdHist1.ndfOrdHist1.ndf OrdHist2.ndfOrdHist2.ndf

D:\

ProdOLTP.mdfProdOLTP.mdf

C:\

sys…sys…sys…sys…

sys…sys…sys…sys…

sysuserssysuserssysuserssysusers

sysobjectssysobjectssysobjectssysobjects

…………

OrdersOrdersOrdersOrders

CustomersCustomersCustomersCustomers

ProductsProductsProductsProducts

OrdHistYear2OrdHistYear2OrdHistYear2OrdHistYear2

OrdHistYear1OrdHistYear1OrdHistYear1OrdHistYear1

Production Database

Page 42: Presentations bu 8

© Cliff Beacham 200742

RAID 0 – Striped drives

Disk 1

100GB

Disk 2

100 GB

Disk 3

100GB

Total Volume = 300GB

Page 43: Presentations bu 8

© Cliff Beacham 200743

RAID 1- Mirrored drives

Disk 1

100GB

Disk 2

100GB

Total Volume = 100GB

Page 44: Presentations bu 8

© Cliff Beacham 200744

RAID 5 – Compressed copy on another disk

Disk 1

100GB

Parity

Disk 2

100GB

Parity

Disk 3

100GB

Parity

Volume = 200GB (n-1 x 100)

Page 45: Presentations bu 8

© Cliff Beacham 200745

RAID 10 – A mirrored stripe set

Disk 1

100GB

Disk 2

100 GB

Disk 3

100GB

Disk 4

100GB

Disk 5

100 GB

Disk 6

100GB

Volume = 300GB