CHAPTER 6

image

Back Up a Step

Backups are your next line of defense after high availability options like resilience and redundancy. As described in Chapter 4, you can protect against failure to a degree. While hardware failure does happen and disasters, like sheep, do happen, the main cause of unavailability of a system is maintenance that has gone wrong. Backups are always necessary no matter how comprehensive your resilience and redundancy planning because data on a disk is fragile and any number of things can destroy it. However, one of the principal advantages of digital data over physical data is that it is relatively easy to create an exact copy. Content that is simply zeros and ones can be copied with almost perfect fidelity whereas copying a physical document is a process far more prone to error. You’ll rarely regret making copies of data.

Whatever the cause of your system failure, you must have copies or be able to reproduce what has been lost. What is primarily reproducible is the farm itself in the sense that SharePoint can be reinstalled and reconfigured; you don’t have to rewrite the application from scratch. Reinstallation does take time but it has the advantage that you can do this in advance by having a second farm on standby. This approach has cost implications because you have hardware and software serving no immediate purpose other than just waiting to become useful. Your BIA should have convinced your stakeholders and management of the necessity of such an approach. To properly reproduce a farm, however, you must have a detailed design of your production farm.

In other words, you have to know your architecture well to know what to copy and how to copy it. This chapter focuses on the following:

  • Knowing what to copy: Some things are more important to back up and to do so more frequently. Do you know what they are? Your BIA is the key here.
  • Dependencies: SharePoint is a complex system, and backups must include everything required to reproduce the data correctly. You must also know the order in which to restore information.
  • Code and content: SharePoint is an extendable platform. Have you captured all of the extensions correctly?
  • Backup tools: Tools can automate what you capture, but you must know their strengths and weaknesses as they are not a substitute for proper backup planning.
  • Documentation: This is the product of all of the preceding steps. Once again, documentation is not a substitute for careful, responsible planning and re-planning. It is simply the product of your understanding of what needs to be backed up and how it needs to be restored.

Everything the users create is stored in the content databases, which are relatively easy to back up and attach to an existing farm to give users access to their content again. Backing them up is not the hard part. The hard part is bringing back a structure for that content to exist within. To back up something sufficiently you must understand its internal dependencies. After reading this chapter you will understand what backup entails: primarily it is about knowing how to copy or reproduce everything your users need quickly and correctly. But while you need copies of your content databases, reattaching them to a farm is not as hard as getting a farm back to the point it was—hardware, software, configuration, and code-wise—before it was destroyed.

Backup Planning and Preparation

The first step in backup planning and preparation is knowing when to start. The answer is quite simple: when your SharePoint farm goes beyond the point where it will take longer to recreate the farm and its content from scratch than to restore it from a backup. You will find that to be as soon as users start to use it. The uses can be testing or proof of concept, but you have to start creating backups from the very beginning because it will be less painful than starting again with a brand-new, empty server. Virtualization can make recreating the farm architecture and configuration relatively straightforward, but reproducing original, real-time data by users is more time consuming. Furthermore, users hate doing it!

Planning how to copy data, at what intervals, with what tools, and how you will document it is a continuous process. It starts by looking at what your business does and the impact of losing certain content as well as the productivity benefits of the SharePoint application. This is contained in your BIA.

Business Impact Assessment

The backup approach you use will ultimately be informed by the BIA because it is what determines your restore priorities. You must know your RTOs and RPOs for different content, from critical down to noncritical. This is the same as high availability in the sense that some content is more important and must be given higher resources. To understand how to back up SharePoint, you must first understand the architecture thoroughly so you can identify what you have to back up. As demonstrated in Chapter 4, this means collecting details of processes and the impact of their failure over a course of time as well as capturing interdependencies and dates/times that are particularly significant to the business. For example, the payroll site in SharePoint mainly needs to work at the end of the month, and a failure at that time will have a bigger impact than one in the middle of the month.

Some content users can quickly reproduce their content manually, or they may not ever need something again once it has been created. For example, a site used to plan a one-off event has no continued value. Business processes, however, are like IT processes: they are chains of tasks. To fully understand, capture, and back up a process, you sometimes have to ensure that the steps before SharePoint and after are also captured. Carefully backing up the payroll process may be of no value if the parts of the business process preceding it (such as capturing timesheets) or the parts after (creating payment transfers) are also not backed up. There are many dependencies that have to be taken into account in a disaster situation, not just in the planning but in the execution of the plan.

Dependencies

To successfully back up your SharePoint architecture and then successfully restore it requires a detailed understanding of all the dependencies within SharePoint required to make it work. Implicit in the need to backup/restore is the realization that your high availability tactics will eventually not be resilient enough. Data will be corrupted, hardware will fail, or some other event will mean you have to rebuild the platform from the last point you backed it up. Sometimes this may be planned: you may back up your farm to move it to another data center, for example.

In previous chapters you examined the dependencies of a disaster recovery plan, which include the following:

  • Management signoff
  • A BIA
  • Stakeholder input on RTOs and RPOs
  • Physical limitations and logistical planning

You also looked at what is required to put the DR plan into action in the context of an example organization’s broader disaster recovery planning.

  • Who decides there’s actually been a disaster?
  • Who deals with the disaster in general?
  • Who in IT deals with the SharePoint farm disaster as distinct from the inevitable broader IT disaster?
  • How will the SharePoint people know there’s been a disaster?

You have also learned some parts of the logical architecture of SharePoint, namely service applications. To back up and restore SharePoint successfully, you will need to understand these components better, as well as the parts of SharePoint included or not included in SQL Server databases. This is because the different backup options back up some things and not others.

Your core dependencies in SharePoint are the following:

  • The configuration, specifically the logical architecture and service applications.
  • The content stored in the form of data in SQL Server generated by the users.

If you can back up and reproduce only these things, you have the bulk of what is required to bring SharePoint back to life. But remember that SharePoint is an evolving system, and it may have evolved further functionality in the form of code—the part not included in the configuration or in SQL Server.

Code and Content

The part of the system you can’t have ready in advance as easily is the code created by developers and the content created by users that depends on that code to be present. For example, a developer could write a solution that includes creating structural elements like sites, lists, content types, and Web Parts. Restoring the content databases without restoring these code elements won’t get you far: they can’t be used until the structure they depend upon has been reinstalled as well. Reinstallation of a farm without documentation is a haphazard process at best, but asking users or developers to perfectly recall in the correct order and with all dependencies in place again is virtually impossible. As you will see, SharePoint’s built-in tools will capture code wrapped in solution packages and content in content databases, which contain the site collections users work in. This is the good news: the majority of what you have to preserve and recreate can be preserved and recreated.

If you now know you will need to back up the configuration, code, and content, how do you do it?

Backup Tools

“A bad workman blames his tools”

—Old Irish Saying

There is a mistaken belief that the tools you choose will back up SharePoint for you. The reality is the tool only helps you back up what your users need. It can automate tasks and make them more efficient, but you choose what and when. The three main backup tools you have to choose from are

  • SharePoint’s built-in backup tools (or third-party tools)
  • SQL Server’s built-in backup tools (or third-party tools)
  • The Windows file system’s built-in backup tools (or, most commonly, third-party tools)

Figure 6-1 shows that, for example, if you use SharePoint backup for Service Applications, it backs up some settings to files and also uses the SQL backup tool (in the overlap between the two) to back up content in SQL Server databases. However, if you only use SQL Server’s backup tools, you only capture the data in SQL Server, and in that case, the databases would have to be attached to a Service Application in the restore/DR farm. Note also that if some customizations are made to SharePoint but not through SharePoint itself, these have to be recorded and backed up separately—for example, any change to the Web.config file not made via SharePoint Central Administration.

9781430263289_Fig06-01.jpg

Figure 6-1. No one backup method will capture everything

Documentation

I will describe the tools that capture parts of a farm’s infrastructure, but there is still no substitute for good documentation. Think of documentation as the main form of backup you will rely on in the disaster situation—the tools you use to restore it are simply a means to that end. In the end, documenting what you or others have done in the process of creating and evolving the SharePoint farm will be the absolute most important thing you will need to restore it. Content databases are actually quite simple to back up. They’re just a set of tables, after all. It is the system they have to fit into that is complex and has to be thoroughly documented. When your production farm was designed, it likely had two important documents.

  • Solution Architecture, which described the business requirements and the architectural decisions made to address them.
  • Detailed Design, which showed the steps to implement the architecture. This would have included screenshots and tables of configuration data like server names and names of service accounts.

These documents may not exist for a number of reasons. Perhaps an external company installed SharePoint and the task of documenting the process was not included, or SharePoint simply grew from a user’s need on a server under their desk, and so no planning or documenting was done. Whatever the reason, an opportunity was lost to document how the production farm and other farms were installed and configured. What has also been lost is that perhaps this process didn’t go perfectly smoothly because of some idiosyncrasy in your network. A workaround was likely discovered but the information about it is either lost or only partly remembered. Not knowing about any pitfalls means that recreating the production environment will take longer as these workarounds will have to be rediscovered. If this documentation is available, it is very useful as you now have the first document in your disaster recovery plan. If you don’t have it, do it now! While your production farm is operational, capture as much detail as you can about how it has been set up. The main parts to capture in SharePoint are

  • Server names
  • Service accounts
  • IIS configuration: Application pools and accounts used in them
  • Service applications and how they are configured. Focus on the more complex like the User Profile Service and Search
  • Other Central Administration settings such as outgoing and incoming mail servers, and how often and how large your different kinds of logs are captured
  • Web application settings
  • Alternate access mappings
  • Network topology including DNS settings and load balancing settings
  • Any delegation of rights within administration such as administering a specific service
  • Any availability settings like mirroring
  • Overall topology: which servers host which service application instances and proxies (more on what there are later)

As with SharePoint itself, there should also be documentation created by the network and SQL Server people in your organization for the installation of the Windows servers and their network configurations, and details of the SQL Server installation and configuration. SQL Server, for example, should have detailed documentation on how its clustering, mirroring, or log shipping were set up. This will go beyond the generic information provided by Microsoft, as it will detail the specific server names, configurations, and, to some extent, the rationale behind the configuration in terms of how it fits the needs of the business. There is generic information on the Internet for these things, but the documentation I am referring to here specifically reflects the design of your organization’s environment.

If none of this is documented, it is a serious risk to your SharePoint farm. Don’t think that the person who did the original installations will be available to do the reinstalls and that they will remember what to do. While some people do have eidetic memories (perfect recall), most of us don’t. This is why documentation of the installation and configuration of your SharePoint farm and its dependencies, Windows Server and SQL Server, is essential. If it was not done previously, it must be done now as part of your backup preparation process. Bear in mind that your production system is running and accessible now; if it fails, you won’t have the opportunity to look up its settings when you have to reproduce them.

Backup Using SharePoint

“Everything flows, nothing stands still.”

—Heraclitus, quoted by Plato in Cratylus

Using the built-in SharePoint backup tools will produce the most complete picture of your SharePoint environment. The most important parts are the content databases, and they are preserved this way. Every SharePoint farm is unique because so many parts are only part of that farm. For example, the server names and IP addresses are unique in your domain, and the content is unique. Recreating a farm is in a real sense impossible; you are actually creating a new farm very like it. The main part of the SharePoint farm you will want to back up is the configuration database. It’s shown as an option in the SharePoint backup page. The diagram in Figure 6-2 gives the impression that you can back this up using the configuration-only backup. However, it only backs up the configuration settings that are portable to another farm, not those that are unique, such as the following:

  • Antivirus
  • Information rights management (IRM)
  • Outbound e-mail settings (only restored when performing an overwrite)
  • Customizations deployed as trusted solutions
  • Diagnostic logging

9781430263289_Fig06-02.jpg

Figure 6-2. It looks like all the configuration is captured

You can restore this to an existing farm; if these settings don’t have values, they will be set. But notice there are a lot of things missing from that list—the most obvious are the Service Application settings. I’ll talk more about preserving them later in this chapter.

Backup and Restore in Central Administration

Despite this caveat, the SharePoint farm backup tool in Central Administration will capture as much of SharePoint for you as any other automated tool. As you can see in Figure 6-3, it is used to back up, restore, change settings, view a history, and check the status of a current backup job. This chapter has screenshots from SharePoint 2010, and while the look of these pages has changed slightly in later versions of SharePoint they are still mainly the same.

9781430263289_Fig06-03.jpg

Figure 6-3. The main SharePoint backup and restore options

All of the options listed in Figure 6-3 assume you have a running farm to back up or restore to. In a disaster recovery situation, if you have got back to the point where you can see this Central Administration page, you are 90% back to where you were before the disaster. Central Administration provides tools for performing individual backups of the entire farm, individual site collections, sites, libraries, or lists. A full farm backup can be restored from Central Administration, but tools are not provided for scheduling recurring backups or for restoring individual site collections, sites, libraries, or lists. These operations can be managed using PowerShell scripts. To schedule automated recurring backups, use the PowerShell cmdlets in scripts that are scheduled with the Windows Task Scheduler. I’ll talk more about PowerShell next.

Backup Using PowerShell

SharePoint itself doesn’t include a tool for scheduling backups; this is done via PowerShell. A backup can also be done via STSADM, but this tool is being slowly deprecated, so it’s recommended to use PowerShell. Furthermore, I recommend you use PowerShell rather than the options in Central Administration to perform and automate your backups because PowerShell commands can be placed within scripts that can be scheduled with the Windows Task Scheduler. The dependencies for scheduling and running PowerShell-based backups successfully are permission and path related (with thanks to Todd Klindt for these).

  • Your Central Administration application pool account must have read/write access to the location of the backups.
  • Your SQL Service account must have read/write access to the location of the backups.
  • If you’re running a farm backup from STSADM or Windows PowerShell, the account you’re running it as must have read/write access to the location of the backups.
  • The location must be accessible from the SharePoint machine the backup is running on.
  • The location must be accessible from the SQL instance that SharePoint is trying to back up.
  • This is why all the examples are UNCs (\servershare) and not local paths (e:ackups).

To perform a backup with PowerShell, do the following:

  1. On the Start menu, click All Programs.
  2. Click Microsoft SharePoint Products.
  3. Click SharePoint Management Shell.
  4. You use the PowerShell command Backup-SPFarm to start your backup.

    image Note   For help and examples, type get-help Backup-SPFarm –examples.

  5. The following script will start a full backup to e:ackup. To do so, create a new text file in Notepad and add the following line:
    Backup-SPFarm -Directory e:Backup -BackupMethod full
  6. PowerShell files use the .ps1 extension, so save this file as e:ScriptsBackupSharePointFarm.ps1.
  7. For security, Windows Server won’t allow PowerShell scripts to run by default. Thus, you need to adjust the Execution Policy to allow them. To do this, issue this instruction at the PowerShell command line:
    set-executionpolicy RemoteSigned
  8. Next, enter the following command in the Task Scheduler as your scheduled command line action, or enter it in a batch file that you schedule to run:
    powershell -command e:ScriptsBackupSharePointFarm.ps1
  9. The account on which the task runs has to have farm administrator permissions, or at least PowerShell permissions; otherwise it can’t run properly.

Speeding Up Backups

The GUI in Central Administration does have some advantages over the PowerShell commands, however. For example, backups can be made faster by increasing the number of threads used for backing up and restoring (Figure 6-4). Using the Central Administration tool doesn’t mean you can avoid all planning and thought in your backup process, however. For example, you must also specify a location for your backup. I recommend you create the backup on the machine and then copy it to the network. A backup of 600GB in SharePoint will take 6 hours, so factor in the time to do this that doesn’t clash with other operations. Another way to speed up backups is to first do a full backup and then only do subsequent differential backups. You will see these options on the “Perform a backup” page. The differential backups are faster because they only copy what’s changed, not the total farm.

9781430263289_Fig06-04.jpg

Figure 6-4. These settings affect performance and capacity in SharePoint Backup and Restore

Recommendation

Full backups create a new backup of the complete farm. Differential backups create a backup of all the data stored in databases that has changed since the last full backup. Naturally this means you must have first created a full backup. As well as speed, an additional advantage of a differential backup is it uses fewer resources. This is important because a backup will consume all available I/O resources until it has completed its job, so shorter is better. If you perform one full backup per week during nonpeak hours plus a differential backup every night, you will have a good balance between the two. This will depend on the amount of new content your users add. If it is a small percentage, you might only need to create a full backup monthly. If you have the option, perform the backup to a different disk than SQL Server itself. For the backup, RAID 10 is recommended, because of its fast write performance, as opposed to RAID 5, which is slow because it has to maintain parity information. For more information on choosing the appropriate RAID options for SharePoint see http://technet.microsoft.com/en-us/library/cc298801.aspx .

Backup Components

SharePoint allows you to back up many important parts of what makes up your farm. These parts are shown in Figure 6-5. It indicates the importance of packaging customizations in solution packages. These can be backed up using SharePoint. Beyond this, you can see that the main components of your farm are the service applications. So let’s look at the constituent parts of service applications in more detail.

9781430263289_Fig06-05.jpg

Figure 6-5. The SharePoint Backup and Restore components you can back up

Preserving Your Service Application Architecture

As mentioned, to back up something sufficiently, you must understand its internal dependencies. When it comes to service applications, the first point to understand is that, like index partitions, they are logical containers within what is called the shared services architecture. SharePoint has over 20 available services, and it may be simpler to think of these as miniature applications residing on the SharePoint platform. They all have their own administration pages, settings, administrators, and databases. The framework they are part of allows SharePoint to distribute requests between them, providing load balancing and redundancy. It also provides an interface called a service application proxy that allows other applications to interface with them. See Figure 6-6 for details. Because their architecture is so linked to the farm as a whole, you have to back up the whole farm to preserve them. For example, instances and their endpoints are machine specific.

9781430263289_Fig06-06.jpg

Figure 6-6. The logical components of service applications

When you install SharePoint, it gives you the means to install service applications (see Figure 6-7). Doing so installs the service on all the machines in the farm, but not until you install a physical or machine instance on a specific server in the farm do you have an actual service application. An analogy would be when an office administrator makes the install media for Word available on the network but it is not actualized until a user installs it on their PC.

9781430263289_Fig06-07.jpg

Figure 6-7. Installing a new instance of one of a choice of service applications

After you install the service application, you can install a server instance on multiple machines. In Figure 6-7 you aren’t installing the service applications as the titles seem to imply; you are actually installing instances of them. As mentioned in Chapter 4, this approach provides redundancy. Machines/servers running instances of applications are referred to as application servers, although this is just a logical distinction as services can be run on any server in the farm. SharePoint uses a built-in round robin mechanism to find an instance of the application and run the service instance. This helps distribute load.

The connections between the service instances are called endpoints. These are part of the Windows Communication Foundation (WCF), which is an application programming interface (API) for building connected service-oriented applications. These endpoints have an address and binding properties that specify how the data will be transferred.

Each service application also requires a proxy. This is unlike an endpoint in that its purpose is to connect the service to consumers, which can be web applications or even other service applications on other farms. For example, you can connect the Managed Metadata Service to another farm this way to maintain consistent metadata. Service application proxies can be grouped so that when you create a new web application you can simply associate it with a proxy group to connect it with all the service applications in that group together. For example, one web application may be for external users and its proxy group contains Search Service App 01 and Managed Metadata Service App 01 (see Figure 6-8). This web application has a URL like external.something.com.

9781430263289_Fig06-08.jpg

Figure 6-8. A group of service applications for external users

Then a second proxy group for internal users could be on the same farm with service applications called Search Service App 02 and Managed Metadata Service App 02 (see Figure 6-9). This web application has a URL like internal.something.com. This allows for a great deal of scalability and organization within your farm architecture.

9781430263289_Fig06-09.jpg

Figure 6-9. A group of service applications for internal users

When creating a web application you can choose to see the proxies in particular groups by selecting the proxy group from a drop-down (see Figure 6-10). You then can select the services you wish to associate with the web application.

9781430263289_Fig06-10.jpg

Figure 6-10. Grouping of connections via proxy groups

If you use proxy groups, note that after a restore you must re-associate the service application proxies with their respective proxy groups. This is because service application proxies are not assigned to proxy groups when restored. All web applications will be associated with the default proxy group. You must associate web applications with other proxy groups if you want to do that.

Backup for Service Applications

As you can see, a service application is not simply a database. Many of its settings are stored in the Central Administration database because they are part of the farm as a whole or connect it to other applications. If the application does have a database, some of its settings and data are stored there, but not all. The recommended way to back up service applications is therefore a full farm backup. Even if you select the service application to back it up on the SharePoint backup page, you will not have everything required to completely restore the service application.

One main component missing is that backups of service applications don’t include the related proxy. To back up both the service application and the service application proxy, you must either back up the farm or perform two consecutive backups, selecting the service application in one backup and selecting the associated service application proxy in the second backup. A more direct approach is to select the Shared Services node (at the end of Figure 6-5). If you do this, all of the service applications and the related service application proxies on the farm will be backed up.

Table 6-1 shows the data sources used by the different service applications. In some cases, these are databases in SQL Server; in others, the data is simply stored in cache while the data is in the external source, as is the case with the Access and Excel services. Many service application databases can’t be backed up individually from SharePoint Server. To back up service application databases only, you must use SQL Server backup. Once again, a farm backup will capture all you need.

Table 6-1. Databases for Service Applications and Backup Scenarios

Service Application Database or data source name(s) What SharePoint backs up
Business Data Connectivity Business Data Connectivity Backs up external content type definitions. Separate backup required for external data. If you restore the data to a different location, you have to change the location information in the external content type definitions.
Managed Metadata Service Managed Metadata Service If tagging is being used, to successfully use the Managed Metadata Service application in the disaster recovery farm, you must also restore the Social Tagging database for the User Profile service application.
Search Crawl, Property, and Search Administration If your farm includes Microsoft FAST Search Server for SharePoint, your backup will also back up the Content SSA and Query SSA (including the People Search index). However, in addition to your standard backup, you must run a backup of the FAST Search Server for SharePoint the farm.
Secure Store Service Secure Store Before backing up the secure store service, do the following: Record the passphrase. You will need the passphrase when you access the restored Secure Store Service. Ensure that you back up the Secure Store Service every time you change or refresh the master key. When you change or refresh the master key, the database is automatically re-encrypted with the new key. Backing up the secure store service ensures that the database and the master key are in synchronization. Keep the passphrase in a secure location.
User Profile Profile, Synchronization, and Social Tagging Social Tagging database is required by Managed Metadata Service.
Web Analytics Staging and Reporting Microsoft recommends that you not run the Web Analytics service application on the disaster recovery farm until after failover (SP2010).
Access Services Cache Rebuild in disaster recovery farm.
Excel Services Application Cache Rebuild in disaster recovery farm.
InfoPath Forms Services Cache Rebuild in disaster recovery farm.
PerformancePoint Cache Rebuild in disaster recovery farm.
State Service State Log-shipping the State database is not supported.
Usage and Health Data Collection Logging Microsoft recommends you don’t run the Usage and Health Data Collection service on the disaster recovery farm, and that you do not mirror or log-ship the Logging database.
Visio Graphics Service BLOB cache Rebuild in disaster recovery farm.
Word Automation Services Cache Rebuild in disaster recovery farm.
Microsoft SharePoint Foundation Subscription Settings Service Subscription Rebuild in disaster recovery farm.

Backup Using SQL Server

The main limitation with using SQL Server as your only backup method is you can’t use SQL Server tools (or Data Protection Manager) to back up a service application. Use SQL Server to back up content databases, but note that you will have to manually rebuild the rest of your farm, which is not a good option if users are waiting. If you are running SQL Server Enterprise, Microsoft strongly recommends that you use backup compression. For more information about backup compression, go to http://go.microsoft.com/fwlink/?LinkID=129381 .

The danger with focusing on SQL Server for your SharePoint backup strategy is that if you know SQL Server better than you know SharePoint, you will be tempted to assume SQL Server backups are all you need to restore a farm. I would not recommend this, but SharePoint does depend on the following components of SQL Server and you should take them into account when planning your overall SharePoint backup strategy. Capturing the transaction logs will capture changes made within your SQL databases, whereas BLOBs are storage for SharePoint outside of SQL Server, so I have referenced both here.

Transaction Logs

In SQL Server, each database has at least one data file and one transaction log file. SQL Server stores the data physically in the data file. The transaction log file stores the details of all the modifications that you perform on your SQL Server database and the details of the transactions that performed each modification. Because the transactional integrity is considered a fundamental and intrinsic characteristic of SQL Server, logging the details of the transactions can’t be turned off in SQL Server. Transaction logs are automatically backed up when you back up the farm, Web application, or databases by using either SharePoint Central Administration or Windows PowerShell.

The transaction log file is logically divided into smaller segments that are referred to as virtual log files. In SQL Server, you can configure the transaction log file to expand as needed. The transaction log expansion can be governed by the user or can be configured to use all the available disk space. This is something you will want to avoid as it will threaten the availability of your farm.

To keep your transaction logs manageable, use the following guidelines:

  • Set the size of the transaction log files to a large value to avoid them expanding automatically.
  • Configure the automatic expansion of transaction log files by using memory units instead of a percentage after you thoroughly evaluate the optimum memory size.

BLOBs

BLOBs (binary large objects) are used in Remote BLOB Storage (RBS). RBS is a way of storing files outside SharePoint content databases. This is done for a number of reasons.

  • To save money: SQL Server storage is more expensive than using a SAN, NAS, or even a Cloud tier.
  • To improve performance: Uploading or downloading to SQL Server can be slow for larger files.
  • To manage data more easily: Now your storage is centralized.
  • To be compliant: SEC 17a-4, for example, requires an organization to store certain account-holder documents on a specific type of compliant storage tier.

SharePoint Server backup backs up remote BLOB stores but only if you are using the FILESTREAM remote BLOB store provider to put data in remote BLOB stores. If you are using another provider, you must manually back up the remote BLOB stores.

Backup of the File System

As Microsoft points out in TechNet, the following components of your farm are not backed up because they are stored on web servers. A file level backup will capture them.

  • Application pool account passwords
  • HTTP compression settings
  • Time-out settings
  • Custom Internet Server Application Programming Interface (ISAPI) filters
  • Computer domain membership
  • Internet Protocol Security (IPsec) settings
  • Network Load Balancing settings
  • Secure Sockets Layer (SSL) certificates
  • Dedicated IP address settings

These details are best captured in documentation. Customizations like the following must also be captured as files and documented. Note that using Solutions and Features to package these will make their redeployment much more efficient:

  • Master pages, page layouts, and cascading style sheets. These objects are stored in the content database for a web application.
  • Web Parts, site or list definitions, custom columns, new content types, custom fields, custom actions, coded workflows, or workflow activities and conditions.
  • Third-party solutions and their associated binary files and registry keys, such as IFilters.
  • Changes to standard XML files.
  • Custom site definitions (Webtemp.xml).
  • Changes to the Web.config file.

Workflows

Workflows are a special case of customizations that you can back up and recover. The good news is that the definition data and workflow history are preserved in a SharePoint backup. The in-process workflow state is even preserved. Any SharePoint Designer workflow steps that are in the middle of a wait period during the backup will resume and complete after the backup is finished.

As Microsoft suggests, make sure that your backup and recovery plan addresses any of the following declarative or custom declarative workflow scenarios that apply to your environment. Declarative workflows, such as those that you created in Microsoft SharePoint Designer, are stored in the content database for the site collection to which they are deployed. Backing up the content database protects these workflows. Declarative simply means that parts of the workflow are prewritten, in this case by SharePoint Designer, so that everything doesn’t have to be coded from scratch.

Custom declarative workflow actions have components in the following three locations:

  • The Visual Studio assemblies for the Activities are stored in the global assembly catalogue (GAC).
  • The XML definition files (.ACTIONS files) are stored in the 14 (or later) TEMPLATE{LCID}Workflow directory.
  • An XML entry to mark the activity as an authorized type is stored in the Web.config file for the web applications in which it is used.

If your farm workflows use custom actions, you should use a file backup system to protect these files and XML entries. Similar to SharePoint Server features such as Web Parts and event receivers, these files should be reapplied to the farm as needed after recovery.

Workflows that depend on custom code, such as those that are created by using Visual Studio, are stored in two locations. The Visual Studio assemblies for the workflow are stored in the Global Assembly Catalog (GAC), and the XML definition files are stored in the Features directory. This is the same as other kinds of SharePoint Server features such as Web Parts and event receivers. If the workflow was installed as part of a solution package, backing up the content database protects these workflows.

If you create a custom workflow that interacts with a site collection other than the one where the workflow is deployed, you must back up both site collections to protect the workflow. This includes workflows that write to a history list or other custom list in another site collection. Performing a farm backup is sufficient to back up all site collections in the farm and all workflows that are associated with them.

Workflows that are not yet deployed must be backed up and restored separately like any other data file. When you are developing a new workflow but have not yet deployed it to the SharePoint Server farm, make sure that you back up the folder where you store your workflow project files by using Windows Backup or another file system backup application.

Summary

Your farm is a unique and constantly changing complex system. When focusing on how to back this up and restore it successfully, you will need clearly documented and tested steps. You can’t fully rely on automated tools, partly because they can’t capture everything and partly because they can only capture what you tell them to and when. Keep in mind that your SharePoint farm will have external dependencies that must also be backed up and restored before it can be restored. Also, SharePoint is not just the SharePoint application and its settings; it is also built on Windows servers, a network, and SQL Server. Without these parts, it can’t function for your users.

The most important and valuable parts of your SharePoint farm are the parts that took the most time and effort to create: the code created by the developers and the content created by the users. Some code and some content is more important than others and I have already discussed how prioritizing content is essential to achieve your organization’s recovery point and recovery time objectives. Use SharePoint to back everything up and create good documentation, and you will have given yourself the best chance of a successful backup. In the end, preparation and your knowledge are more important than which tools you choose.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.183.150