This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
public:microsoft_sql_database [2019/08/19 15:00] ronnie.chan [Backup] |
public:microsoft_sql_database [2019/08/19 15:32] ronnie.chan |
||
---|---|---|---|
Line 4: | Line 4: | ||
{{public:ahsay_wiki_microsoft_sql_database_backup_set.png?640}} | {{public:ahsay_wiki_microsoft_sql_database_backup_set.png?640}} | ||
+ | |||
+ | ---- | ||
===== System Architecture ===== | ===== System Architecture ===== | ||
Below is the system architecture diagram illustrating the major elements involved in the backup process among the MS SQL server, AhsayOBM and AhsayCBS. | Below is the system architecture diagram illustrating the major elements involved in the backup process among the MS SQL server, AhsayOBM and AhsayCBS. | ||
+ | |||
+ | {{public:ahsay_wiki_module_microsoft_sql_requirement_1.png?800}} | ||
---- | ---- | ||
Line 135: | Line 139: | ||
1.SQL Server VSS Writer | 1.SQL Server VSS Writer | ||
- | {{public:ahsay_wiki_module_microsoft_sql_requirement_1.png?800}} | + | {{public:ahsay_wiki_module_microsoft_sql_requirement_2.png?800}} |
2. SQL Server Services | 2. SQL Server Services | ||
- | {{public:ahsay_wiki_module_microsoft_sql_requirement_2.png?800}} | + | {{public:ahsay_wiki_module_microsoft_sql_requirement_3.png?800}} |
3. Volume Shadow Copy | 3. Volume Shadow Copy | ||
- | {{public:ahsay_wiki_module_microsoft_sql_requirement_3.png?800}} | + | {{public:ahsay_wiki_module_microsoft_sql_requirement_4.png?800}} |
</WRAP> | </WRAP> | ||
Line 150: | Line 154: | ||
To access this path, type “regedit” in the command prompt to launch the Registry Editor. | To access this path, type “regedit” in the command prompt to launch the Registry Editor. | ||
- | {{public:ahsay_wiki_module_microsoft_sql_requirement_4.png?800}} | + | {{public:ahsay_wiki_module_microsoft_sql_requirement_5.png?800}} |
<code> | <code> | ||
Line 162: | Line 166: | ||
To prevent this from occurring, you can modify the recovery model of database selected for backup to Simple. | To prevent this from occurring, you can modify the recovery model of database selected for backup to Simple. | ||
- | Alternatively, to truncate the transaction log files, you can perform a transaction log backup manually, or create an additional MS SQL database backup set in ODBC backup mode to perform a transaction log backup. | + | Alternatively, to [[#truncating_transaction_log|truncate the transaction log files]], you can perform a transaction log backup manually, or create an additional MS SQL database backup set in ODBC backup mode to perform a transaction log backup. |
- | <WRAP indent> | ||
- | == Truncating Transaction Log == | ||
- | The instructions below only apply for database with full recovery model. | ||
- | |||
- | Since AhsayOBM v8 utilizes VSS-based backup, which does not support log backup ([[https://technet.microsoft.com/en-us/library/cc966520.aspx]]), transaction log of database in full / bulk-logging recovery model may eventually fill up all disk space available on the volume. | ||
- | |||
- | Below are steps to perform a log backup in the SQL Server Management Studio. For further details on this topic, refer to this URL: [[https://msdn.microsoft.com/en-us/library/ms179478.aspx]] | ||
- | |||
- | - Launch SQL Server Management Studio in Windows. | ||
- | - Select the SQL server you would like to connect to, and the corresponding authentication method, then click Connect to proceed. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_13.png?800}} | ||
- | - Expand the menu tree and select the desired database you would like to back up. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_14.png?800}} | ||
- | - Right click the database name, then go to Tasks > Back Up. The Back Up Database dialog box shows. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_15.png?800}} | ||
- | - In the Source section, confirm the database name, then select Transaction Log in the Backup type drop-down menu. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_16.png?800}} | ||
- | - Select Disk or URL as the destination of the backup, then click Add to select a destination path. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_17.png?800}} | ||
- | - After selecting the destination path, click OK twice to proceed. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_18.png?800}} | ||
- | - Go to the Backup Options, then in the Backup set section, name the backup set and enter a description of the backup set if needed. \\ \\ Configure the Backup set to expire after a specified number of day or on a specified date. Set to 0 day if you do not want the backup set to expire \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_19.png?800}} | ||
- | - Click OK to start the transaction log backup when you are done with all the necessary settings in the Back Up Database dialog box. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_20.png?800}} | ||
- | </WRAP> | ||
</WRAP> | </WRAP> | ||
Line 221: | Line 207: | ||
Launch Services in Windows by clicking Start then typing “Services” in the search box. All MS SQL server related services should be started by default, in case if it is not, turn it on by right clicking the item then selecting Start. | Launch Services in Windows by clicking Start then typing “Services” in the search box. All MS SQL server related services should be started by default, in case if it is not, turn it on by right clicking the item then selecting Start. | ||
- | 1. SQL Server Services \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_5.png?800}} | + | 1. SQL Server Services \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_6.png?800}} |
- | 2. Volume Shadow Copy \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_6.png?800}} | + | 2. Volume Shadow Copy \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_7.png?800}} |
=== MS SQL Server Registry === | === MS SQL Server Registry === | ||
Line 231: | Line 217: | ||
To access this path, type “regedit” in the command prompt to launch the Registry Editor. | To access this path, type “regedit” in the command prompt to launch the Registry Editor. | ||
- | {{public:ahsay_wiki_module_microsoft_sql_requirement_7.png?800}} | + | {{public:ahsay_wiki_module_microsoft_sql_requirement_8.png?800}} |
<WRAP prewrap> | <WRAP prewrap> | ||
Line 277: | Line 263: | ||
==== Restore ==== | ==== Restore ==== | ||
^ Heading 1 ^ Heading 2 ^ | ^ Heading 1 ^ Heading 2 ^ | ||
- | | master | To restore any database, the instance of SQL server must be running. Startup of an instance of SQL server requires that the master database is accessible and at least partly usable. \\ \\ Restore or rebuild the master database completely if master becomes unusable. | | + | ^ master | To restore any database, the instance of SQL server must be running. Startup of an instance of SQL server requires that the master database is accessible and at least partly usable. \\ \\ Restore or rebuild the master database completely if master becomes unusable. | |
- | | model | Restore the model database if: \\ * The master database has been rebuilt. \\ * The model database has been damaged, for example due to media failure. \\ * The model database has been modified, in this case, it is necessary to restore model from a backup when you rebuild master, because the Rebuild Master utility deletes and recreates model. | | + | ^ model | Restore the model database if: \\ * The master database has been rebuilt. \\ * The model database has been damaged, for example due to media failure. \\ * The model database has been modified, in this case, it is necessary to restore model from a backup when you rebuild master, because the Rebuild Master utility deletes and recreates model. | |
- | | msdb | Restore the msdb database if the master database has been rebuilt. | | + | ^ msdb | Restore the msdb database if the master database has been rebuilt. | |
- | | distribution | For restore strategies of distribution database, please refer to the following online document from Microsoft for more details: [[http://msdn.microsoft.com/enus/library/ms152560.aspx]] | | + | ^ distribution | For restore strategies of distribution database, please refer to the following online document from Microsoft for more details: [[http://msdn.microsoft.com/enus/library/ms152560.aspx]] | |
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Best Practice and Recommendation ===== | ||
+ | The following are some best practice and recommendation we strongly recommend you to follow before you start any MS SQL Server backup and restore. | ||
+ | - For VSS backup mode, it is suggested to set the backup schedule to a time when system activity is low to achieve the best possible performance. \\ \\ | ||
+ | - It is recommended to use ODBC backup mode for backup of database with a high volume of transaction, since such setup may require frequent backups. Transaction log backup (which is only supported by ODBC backup mode) can be performed periodically, and is less resource intensive than VSS based backup. \\ \\ | ||
+ | - For maximum data protection and restore options, it is recommended to configure: | ||
+ | - At least one offsite or cloud destination | ||
+ | - At least one local destination for fast recovery \\ \\ | ||
+ | - Perform test restores periodically to ensure your backup is set up and performed properly. Performing recovery test can also help identify potential issues or gaps in your recovery plan. It is important that you do not try to make the test easier, as the objective of a successful test is not to demonstrate that everything is flawless. There might be flaws identified in the plan throughout the test and it is important to identify those flaws. \\ \\ | ||
+ | - The Restore Raw File option is for advanced MS SQL Server administrator and should only be used if you have in-depth knowledge and understanding of your MS SQL Server, otherwise, it is not recommended to use this option as there are additional MS SQL techniques required to perform the manual restore. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Limitations ===== | ||
+ | |||
+ | ==== Standalone Environment Only ==== | ||
+ | AhsayOBM does not support backup of MS SQL server in cluster environment, only standalone environment is supported. | ||
+ | |||
+ | ==== VSS Backup Mode ==== | ||
+ | - Only support backup of database on local drive. Database on network drive is not supported. \\ \\ | ||
+ | - VSS backup mode does not support transaction log backup, therefore, transaction log backup will have to be done manually. Or you can choose ODBC backup mode for transaction log backup. \\ \\ | ||
+ | - In order to truncate transaction logs, you have to perform a manual log truncation, which could be time consuming. | ||
+ | |||
+ | ==== File System for Database Snapshot ==== | ||
+ | You cannot create database snapshots on FAT32 file system or RAW partitions. The sparse files used by database snapshots are provided by the NTFS file system. | ||
+ | |||
+ | ==== SQL Server Version ==== | ||
+ | <WRAP indent> | ||
+ | === Automated Restore Option ==== | ||
+ | If you have chosen the automated restoration to the Original SQL server or Alternate SQL server of your selection, the restoration can only be done in a SQL server version that is the same as the one used for performing the backup. | ||
+ | |||
+ | === Manual Raw-file Restore Option === | ||
+ | If you have chosen to restore the raw file, the raw database file(s) can be manually restored to the same or newer SQL server version that you used to perform the backup. | ||
+ | </WRAP> | ||
+ | |||
+ | ==== Restoration to Other SQL Server ==== | ||
+ | - If you would like to restore database to an alternate SQL server, you can only choose to restore one database to restore at a time.\\ \\ | ||
+ | - If you would like to restore database to an alternate SQL server, make sure you choose to restore raw file by enabling the checkbox Restore raw file. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Backup Modes ===== | ||
+ | You can choose from one of the two backup modes when creating a backup set for MS SQL server. The information below provides you with more details on each backup mode. | ||
+ | <code> | ||
+ | NOTE | ||
+ | For MS SQL server backup sets which are upgraded from v6, the default backup mode will be ODBC. | ||
+ | </code> | ||
+ | |||
+ | ==== VSS Mode ==== | ||
+ | VSS-based backup utilizing the Microsoft SQL Server VSS Writer to obtain a consistent snapshot of the MS SQL databases, no spooling / staging of database file(s) is required during the backup process. | ||
+ | |||
+ | {{public:ahsay_wiki_module_microsoft_sql_requirement_9.png?640}} | ||
+ | |||
+ | (Diagram from Microsoft) | ||
+ | |||
+ | <WRAP indent> | ||
+ | |||
+ | === Process === | ||
+ | |||
+ | {{public:ahsay_wiki_module_microsoft_sql_requirement_11.png?640}} | ||
+ | |||
+ | === Temporary Folder Requirement === | ||
+ | <WRAP indent> | ||
+ | == Location for temporary folder == | ||
+ | The temporary directory folder is used by AhsayOBM for storing backup set index files and incremental/differential delta files. To ensure optimal backup/restoration performance, it is recommended that the temporary directory folder is set to a local drive. The temporary folder should not be located on Windows system partition or the database partition to minimize any potential performance impact on Windows and or database. | ||
+ | |||
+ | == Temporary folder capacity == | ||
+ | With VSS-based backup, the disk space of the temporary folder required for storing the VSS image is significantly smaller than using the ODBC spooling backup method. As the extra space is not required to hold the full database. | ||
+ | |||
+ | It is recommended that the temporary directory should have at least free disk space of 50% of the total database size. The rationale behind this recommended free disk space is the default in-file delta ratio settings is 50%, therefore AhsayOBM could generate incremental or differential delta file(s) of up to 50% of the total database size. The actual free disk space required depends on various factors including the size of the database, number of backup destinations, backup frequency, in-file delta settings etc. | ||
+ | </WRAP> | ||
+ | |||
+ | === Pros === | ||
+ | <WRAP indent> | ||
+ | == Fast and minimal interruption == | ||
+ | The database snapshot capture process is fast and can take place on a running server, as you may continue to work when the snapshot capturing is taking place, there may be another process that holds your input in some memory section until the snapshot capture is completed. That said, the whole snapshot capture is fast, so there is no need for you to stop working and it causes minimal interruption to your business operation. | ||
+ | |||
+ | == Significantly lesser disk burden == | ||
+ | VSS Snapshot typically requires much less additional disk space than clones which is the traditional backup method by spooling database into the temporary folder. Oftentimes, the capacity of the database to back up is huge and therefore the temporary folder would overload with the equal or even larger disk space if traditional backup method is used. By utilizing the VSS technology, it helps your system greatly reduce disk capacity burden and promote optimized performance. | ||
+ | </WRAP> | ||
+ | |||
+ | === Cons === | ||
+ | <WRAP indent> | ||
+ | == No Transaction Log Backup == | ||
+ | MS SQL does not support transaction log backup when VSS is used, therefore, transaction log backup will have to be done manually. | ||
+ | |||
+ | == Workaround is time consuming == | ||
+ | In order to truncate the transaction logs, you have to either change the Recovery model to Simple or perform a manual log truncation, which could be time consuming. | ||
+ | </WRAP> | ||
+ | |||
+ | === Transaction Log Handling === | ||
+ | VSS based backup no longer requires backup of the transaction log files, however for databases configured in either full or bulk-logging recovery model, this may eventually result in transaction logs filling up the available disk space on the volume of the MS SQL Server. [[https://technet.microsoft.com/en-us/library/cc966520.aspx]] | ||
+ | |||
+ | To prevent this from occurring, it is recommended to change the recovery model of database selected for backup to simple recovery model. | ||
+ | Refer to the following steps for details: | ||
+ | |||
+ | - In SQL Server Management Studio, expand Databases, select a user database, or expand System Databases and select a system database. \\ \\ | ||
+ | - Right-click the corresponding database, then click Properties to open the Database Properties dialog box. \\ \\ | ||
+ | - In the Select a page pane, click Options. \\ \\ | ||
+ | - The current recovery model is displayed in the Recovery model list box. Modify the recovery model by selecting Simple from the model list. | ||
+ | |||
+ | <WRAP prewrap> | ||
+ | <code> | ||
+ | IMPORTANT: | ||
+ | Only modify the recovery model of a live database during low activities hour. It is also recommended to perform a full backup before changing the recovery model. | ||
+ | </code> | ||
+ | </WRAP> | ||
+ | |||
+ | For MS SQL Server setups where you cannot modify the recovery model of the database, please refer to here for details on how to truncate transaction log (e.g. perform a transaction log backup manually). | ||
+ | </WRAP> | ||
+ | |||
+ | ==== ODBC Mode ==== | ||
+ | By using the ODBC mode for MS SQL backup, database files are spooled to a temporary directory before being uploaded to the backup destination. | ||
+ | |||
+ | {{public:ahsay_wiki_module_microsoft_sql_requirement_10.png?640}} | ||
+ | |||
+ | <WRAP indent> | ||
+ | |||
+ | === Process === | ||
+ | |||
+ | {{public:ahsay_wiki_module_microsoft_sql_requirement_12.png?640}} | ||
+ | |||
+ | === Temporary Folder Requirement === | ||
+ | |||
+ | <WRAP indent> | ||
+ | == Location for temporary folder == | ||
+ | The temporary directory folder is used by AhsayOBM for storing; the database files, incremental/differential delta files, and backup set index files. To ensure optimal backup/restoration performance, it is recommended that the temporary directory folder is set to a local drive. The temporary folder should not be located on Windows system partition or the database partition to minimize any potential performance impact on Windows and or database. | ||
+ | |||
+ | == Temporary folder capacity == | ||
+ | ODBC backup requires a significantly larger disk space of temporary folder as it need to store the database files spooled during the backup process. | ||
+ | It is recommended that the temporary directory have disk space of at least 150% of the total database size. For each database backup, AhsayOBM will spool the database files to the temporary directory before they are uploaded to the backup destination. Also, additional space is required for in-file delta generation the default in-file delta ratio settings is 50%, therefore AhsayOBM could generate incremental or differential delta file(s) of up to 50% of the total database size. The actual disk space required depends on various factors, including the size of the database, number of backup destinations, backup frequency, in-file delta settings etc. | ||
+ | </WRAP> | ||
+ | |||
+ | === Pros === | ||
+ | <WRAP indent> | ||
+ | == Support Automated Transaction Logs Backup == | ||
+ | Schedule backup of transaction log can be configured so that the transaction logs can be backed up periodically and the transaction logs are truncated automatically after each backup job. | ||
+ | |||
+ | == Support Point in Time Recovery == | ||
+ | The ability to restore to a point in time for all of your transaction log backups. | ||
+ | |||
+ | == Support Backup of High Transaction Databases == | ||
+ | For databases which supports a high number of transaction which may require frequent backups. Transaction log backups at regular intervals are more suitable and less resource intensive than VSS based backups, i.e. transaction log backup every 60 minutes, 30 minutes, 15 minutes etc depending on the database transaction volume. | ||
+ | </WRAP> | ||
+ | |||
+ | === Pros === | ||
+ | <WRAP indent> | ||
+ | == Large disk space required == | ||
+ | Since the database files will be spooled to a temporary folder before uploading to backup destination, investment on hard disk could be high if your MS SQL database size is large. | ||
+ | |||
+ | == Slower backup process == | ||
+ | By utilizing the conventional spooling method, it could take a long time to back up the database and the speed is subject to various factors, including database size, network transfer speed, backup frequency, etc. | ||
+ | </WRAP> | ||
+ | </WRAP> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Truncating Transaction Log ===== | ||
+ | The instructions below only apply for database with full recovery model. | ||
+ | |||
+ | Since AhsayOBM v8 utilizes VSS-based backup, which does not support log backup ([[https://technet.microsoft.com/en-us/library/cc966520.aspx]]), transaction log of database in full / bulk-logging recovery model may eventually fill up all disk space available on the volume. | ||
+ | |||
+ | Below are steps to perform a log backup in the SQL Server Management Studio. For further details on this topic, refer to this URL: [[https://msdn.microsoft.com/en-us/library/ms179478.aspx]] | ||
+ | |||
+ | - Launch SQL Server Management Studio in Windows. | ||
+ | - Select the SQL server you would like to connect to, and the corresponding authentication method, then click Connect to proceed. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_13.png?640}} | ||
+ | - Expand the menu tree and select the desired database you would like to back up. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_14.png?640}} | ||
+ | - Right click the database name, then go to Tasks > Back Up. The Back Up Database dialog box shows. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_15.png?640}} | ||
+ | - In the Source section, confirm the database name, then select Transaction Log in the Backup type drop-down menu. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_16.png?640}} | ||
+ | - Select Disk or URL as the destination of the backup, then click Add to select a destination path. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_17.png?640}} | ||
+ | - After selecting the destination path, click OK twice to proceed. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_18.png?640}} | ||
+ | - Go to the Backup Options, then in the Backup set section, name the backup set and enter a description of the backup set if needed. \\ \\ Configure the Backup set to expire after a specified number of day or on a specified date. Set to 0 day if you do not want the backup set to expire \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_19.png?640}} | ||
+ | - Click OK to start the transaction log backup when you are done with all the necessary settings in the Back Up Database dialog box. \\ {{public:ahsay_wiki_module_microsoft_sql_requirement_20.png?640}} | ||
+ | </WRAP> | ||
+ | |||
+ | ---- | ||
===== Documentation ===== | ===== Documentation ===== |