<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">SQLOS &amp;amp; Cloud Infrastructure Team Blog</title><subtitle type="html">Notes from the SQL Server Cloud Infrastructure team.</subtitle><id>http://blogs.msdn.com/b/sqlosteam/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/sqlosteam/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2012-03-22T17:19:00Z</updated><entry><title>SQL Server in Windows Azure Infrastructure Services – Updated Documentation and Best Practices for GA, Upcoming Blogs</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2013/04/24/sql-server-in-windows-azure-infrastructure-services-updated-documentation-and-best-practices-for-ga-upcoming-blogs.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2013/04/24/sql-server-in-windows-azure-infrastructure-services-updated-documentation-and-best-practices-for-ga-upcoming-blogs.aspx</id><published>2013-04-24T23:04:16Z</published><updated>2013-04-24T23:04:16Z</updated><content type="html">&lt;p&gt;It&amp;rsquo;s been just over a week since Windows Azure announced the GA of &lt;a href="http://www.windowsazure.com/en-us/home/scenarios/infrastructure-services/"&gt;Infrastructure Services&lt;/a&gt;, marking the beginning of a fully supported Infrastructure as a Service in Windows Azure, with SQL Server as a major component.&lt;/p&gt;
&lt;p&gt;Pre-installed SQL Server VMs are available for pay-per-hour usage in the Windows Azure gallery. Currently Enterprise, Standard and Web edition VMs running on Windows Server 2008 R2 SP1 are available, with more SQL Server editions coming soon. SQL Server editions running on Windows Server 2012 images are also on the way. For more details on the scenarios and benefits of running SQL Server workloads on Windows Azure Virtual Machines, please visit the SQL Server blog post &lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2013/04/16/develop-and-test-new-sql-server-apps-scale-existing-apps-and-unlock-hybrid-scenarios-with-windows-azure-infrastructure-services.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We are very happy to announce that the updated technical documentation for deploying and running SQL Server in Windows Azure Infrastructures Services is now available online. When deploying SQL Server in Windows Azure Virtual Machines, we recommend that you follow the detailed guidance given in the new &lt;a href="http://go.microsoft.com/fwlink/?linkid=294719&amp;amp;clcid=0x409" target="_blank"&gt;SQL Server in Windows Azure Virtual Machines&lt;/a&gt; documentation in the library. This documentation includes a series of articles and tutorials that provide detailed guidance on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294720&amp;amp;clcid=0x409" target="_blank"&gt;Getting Started with SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294721&amp;amp;clcid=0x409" target="_blank"&gt;Getting Ready to Migrate to SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294722&amp;amp;clcid=0x409" target="_blank"&gt;SQL Server Deployment in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294723&amp;amp;clcid=0x409" target="_blank"&gt;Connectivity Considerations for SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294724&amp;amp;clcid=0x409" target="_blank"&gt;Performance Considerations for SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294725&amp;amp;clcid=0x409" target="_blank"&gt;Security Considerations for SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294726&amp;amp;clcid=0x409" target="_blank"&gt;Troubleshooting and Monitoring for SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294727&amp;amp;clcid=0x409" target="_blank"&gt;High Availability and Disaster Recovery for SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=294728&amp;amp;clcid=0x409" target="_blank"&gt;Backup and Restore for SQL Server in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj992719.aspx" target="_blank"&gt;SQL Server Business Intelligence in Windows Azure Virtual Machines&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Over the next few weeks we are planning a series of blog posts to provide more detailed information on specific SQL Server topics. Subjects in the pipeline include: high availability, disaster recovery, performance, application migration and security. Let us know what topics you would like to see covered in this series by adding comments to this post.&lt;/p&gt;
&lt;p&gt;SQL Server Team&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10413825" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author><category term="IaaS" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/IaaS/" /><category term="Windows Azure" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Windows+Azure/" /><category term="Developer" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Developer/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server/" /></entry><entry><title>SQL Server Backup to Cloud – Managing Interrupted backups  </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2013/03/12/sql-server-backup-to-cloud-managing-interrupted-backups.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2013/03/12/sql-server-backup-to-cloud-managing-interrupted-backups.aspx</id><published>2013-03-12T22:48:00Z</published><updated>2013-03-12T22:48:00Z</updated><content type="html">&lt;div&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Writer: Karthika Raman&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Technical Reviewers: Guy Bowerman, Pat Schaefer, Andrew Cherry&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;On January 24, 2013, the SQL Server engineering team released new functionality in SQL Server 2012 SP1 CU2, enabling &lt;/span&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2013/01/24/sql-server-backup-and-restore-to-cloud-simplified.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;"&gt;SQL Server native backup to cloud&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;. The steps to creating a SQL Server backup to Windows Azure Blob storage are simple, but if a backup is interrupted it can leave behind blob files that require additional steps to delete.&amp;nbsp; Some of this information along with other best practices and troubleshooting tips is addressed in the &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/jj919149.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;"&gt;Best Practices topic&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt; in SQL Server Books online.&amp;nbsp; In this blog post, we focus on the interrupted backup scenario, identifying locked blobs that might be partial or corrupt as a result of interrupted backups, and deleting them. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;The&amp;nbsp;&lt;span style="color: #0000ff;"&gt;Blob, Blob Leases, and SQL Server&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;section provides background information about blobs and leases in relation to SQL Server Backup to cloud. The&amp;nbsp;&lt;span style="color: #0000ff;"&gt;Managing Interrupted Backup&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;section discusses managing interrupted backups and a sample PowerShell code you can use to get started.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #4f81bd;"&gt;&lt;span style="font-family: Cambria;"&gt;Blobs, Blob Leases, and SQL Server&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;In order to get exclusive write access to a blob, a lease is acquired. Acquiring a lease helps avoid accidental overwrites or deletes when there is already another process accessing a blob. Blob leases are two types:&amp;nbsp; One type of lease has a set duration.&amp;nbsp; This duration can be anywhere from 15 to 60 seconds. The lease is active for the time of duration, but can be reacquired before it expires, to complete the backup or restore process, by specifying the existing lease Id.&amp;nbsp;&amp;nbsp; The other type where there is no set duration is an infinite lease.&amp;nbsp; Infinite leases are active unless explicitly released or broken.&amp;nbsp; In effect, the infinite lease on a blob acts like a lock.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;SQL Server acquires an infinite lease for backup and restore processes.&amp;nbsp; In the case of backup, a unique lease Id is used, and in the case of restore, a known lease id &amp;lsquo;BAC2BAC2BAC2BAC2BAC2BAC2BAC2BAC2&amp;rsquo; is used.&amp;nbsp; Once the backup or restore process is successfully completed, the lease is released.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;What happens when a backup or restore is interrupted?&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;During restores, the restore process always attempts to release the lease unless the network is interrupted.&amp;nbsp; If the lease remains active, overwrites or deletes cannot be performed until the lease is broken or released through a subsequent restore.&amp;nbsp; So an interrupted restore may not often be something that requires close monitoring.&amp;nbsp; However, interrupted backups present a different scenario.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;If the backup process is interrupted, it can result in a partial or corrupt blob with an active lease which remains, blocking any overwrites, or deletes.&amp;nbsp; It also prevents any restores using this file, since the restore process needs to acquire a lease with the well-known lease Id, but the existing active backup lease prevents this &amp;ndash; which is probably a desirable result as the file could be partial or corrupt.&amp;nbsp; So with an active lease on the blob, the blob remains locked until the lease is explicitly broken.&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #4f81bd;"&gt;&lt;span style="font-family: Cambria;"&gt;Managing Interrupted Backups&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;As stated in the section above, interrupted backups need to be monitored and managed.&amp;nbsp; This section walks through the process of monitoring interrupted backups, identifying locked blobs, and breaking the lease using PowerShell scripts. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Backups can be interrupted due to several reasons such as network failures, process canceled by the user, power outage etc.&amp;nbsp; As interrupted backups can result in a partial blob with an active lease, in order to overwrite this file or delete it, you must first identify such blobs and break the lease.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;One way to identify such blobs is to actively monitor backup return codes/errors and interrupted backups.&amp;nbsp; Below is a list of error/return codes that are returned from SQL Server Backup and restore process, which you can use to monitor for blob files with active leases.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="color: #ff6600; font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Msg 3202, Level 16, State 1, Line 1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Write on "&lt;/span&gt;&lt;a href="https://mystorage.blob.core.windows.net/mycontainer/test.bak"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;"&gt;https&lt;/span&gt;&lt;/a&gt;&lt;a href="https://mystorage.blob.core.windows.net/mycontainer/test.bak"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;"&gt;://mystorage.blob.core.windows.net/mycontainer/test.bak&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;" failed: Backup to URL received an exception from the remote endpoint. Exception Message: The remote server returned an error: &lt;span style="color: #ff6600;"&gt;(412)&lt;/span&gt; There is currently a lease on the blob and no lease ID was specified in the request.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;BackupIoRequest::ReportIoError: read failure on backup device &lt;/span&gt;&lt;a href="https://mystorage.blob.core.windows.net/mycontainer/test.bak"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;"&gt;https://mystorage.blob.core.windows.net/mycontainer/test.bak &lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;'. Operating system error Backup to URL received an exception from the remote endpoint. Exception Message: The remote server returned an error: &lt;span style="color: #ff6600;"&gt;(409)&lt;/span&gt; Conflict..&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;This method won&amp;rsquo;t catch cases where the backup process is aborted or the machine goes down.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Another way is to run a script periodically to look for blobs with active leases in the storage account.&amp;nbsp; The PowerShell script example included here is a good starting point.&amp;nbsp; The PowerShell script establishes an authenticated connection to the storage account, looks for all files in a specified container that are in a &amp;lsquo;locked&amp;rsquo; state and filters out restore leases using the well-known lease Id.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Below is the PowerShell example to identify locked blobs and breaking the lease. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;A downloadable version of the code is available on the &lt;/span&gt;&lt;a href="http://gallery.technet.microsoft.com/Breaking-leases-on-locked-28f896dc"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;"&gt;TechNet code gallery&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: small;"&gt;Important Note:&amp;nbsp; &lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: small;"&gt;This example is intended to show how to break a lease, but running this while a backup is running will cause the backup to fail as it will break the lease that SQL Server acquired to do the backup.&amp;nbsp; Before running this script or scheduling it, ensure that no backup is running at the same time.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000080;"&gt;param&lt;/span&gt;(&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[&lt;span style="color: #00ccff;"&gt;Parameter&lt;/span&gt;(Mandatory&lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;$true&lt;/span&gt;)]&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[string]&lt;span style="color: #ff0000;"&gt;$storageAccount&lt;/span&gt;,&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[&lt;span style="color: #00ccff;"&gt;Parameter&lt;/span&gt;(Mandatory&lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;$true&lt;/span&gt;)]&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[string]&lt;span style="color: #ff0000;"&gt;$storageKey&lt;/span&gt;,&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[&lt;span style="color: #00ccff;"&gt;Parameter&lt;/span&gt;(Mandatory&lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;$true&lt;/span&gt;)]&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[string]&lt;span style="color: #ff0000;"&gt;$blobContainer&lt;/span&gt;,&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[&lt;span style="color: #00ccff;"&gt;Parameter&lt;/span&gt;(Mandatory&lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;$true&lt;/span&gt;)]&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;[string]&lt;span style="color: #ff0000;"&gt;$storageAssemblyPath&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;# Well known Restore Lease ID&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;$restoreLeaseId&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #800000;"&gt;"BAC2BAC2BAC2BAC2BAC2BAC2BAC2BAC2"&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;# Load the storage assembly without locking the file for the duration of the PowerShell session&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff6600;"&gt;$bytes&lt;/span&gt; = &lt;span style="color: #008080;"&gt;[System.IO.File]&lt;/span&gt;&lt;span style="color: #c0c0c0;"&gt;::&lt;/span&gt;ReadAllBytes(&lt;span style="color: #ff0000;"&gt;$storageAssemblyPath&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008080;"&gt;[System.Reflection.Assembly]&lt;/span&gt;&lt;span style="color: #c0c0c0;"&gt;::&lt;/span&gt;Load(&lt;span style="color: #ff0000;"&gt;$bytes&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;$cred&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #3366ff;"&gt;New-Object &lt;/span&gt;&lt;span style="color: #800000;"&gt;'Microsoft.WindowsAzure.Storage.Auth.StorageCredentials' &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;$storageAccount&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;$storageKey&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;$client&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #3366ff;"&gt;New-Object&lt;/span&gt; &lt;span style="color: #800000;"&gt;'Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient' "https://&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;$storageAccount&lt;/span&gt;.blob.core.windows.net", &lt;span style="color: #ff0000;"&gt;$cred&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;$container&lt;/span&gt;&lt;span style="color: #c0c0c0;"&gt; =&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;$client&lt;/span&gt;.GetContainerReference(&lt;span style="color: #ff0000;"&gt;$blobContainer&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;#list all the blobs&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;$allBlobs&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;$container&lt;/span&gt;.ListBlobs()&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;$lockedBlobs&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; @()&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;"&gt;# filter blobs that are have Lease Status as "locked"&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000080;"&gt;foreach&lt;/span&gt;(&lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt;&lt;span style="color: #000080;"&gt; in &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;$allBlobs&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;$blobProperties&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt;.Properties&lt;/p&gt;
&lt;p&gt;if(&lt;span style="color: #ff0000;"&gt;$blobProperties&lt;/span&gt;.LeaseStatus &lt;span style="color: #c0c0c0;"&gt;-eq&lt;/span&gt; &lt;span style="color: #800000;"&gt;"Locked"&lt;/span&gt;)&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="color: #ff0000;"&gt;$lockedBlobs&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;+=&lt;/span&gt; $blob&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (&lt;span style="color: #ff0000;"&gt;$lockedBlobs&lt;/span&gt;.Count &lt;span style="color: #c0c0c0;"&gt;-eq &lt;/span&gt;&lt;span style="color: #800000;"&gt;0&lt;/span&gt;)&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="color: #3366ff;"&gt;Write-Host&lt;/span&gt; &lt;span style="color: #800000;"&gt;" There are no blobs with locked lease status"&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;}&lt;/p&gt;
&lt;p&gt;if(&lt;span style="color: #ff0000;"&gt;$lockedBlobs&lt;/span&gt;.Count -gt 0)&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="color: #3366ff;"&gt;write-host&lt;/span&gt; &lt;span style="color: #800000;"&gt;"Breaking leases"&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="color: #000080;"&gt;foreach&lt;/span&gt;(&lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt; &lt;span style="color: #000080;"&gt;in&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;$lockedBlobs&lt;/span&gt; )&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;try&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;&lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt;.AcquireLease(&lt;span style="color: #ff0000;"&gt;$null&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;$restoreLeaseId&lt;/span&gt;,&lt;span style="color: #ff0000;"&gt; $null&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;$null&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;$null&lt;/span&gt;)&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;&lt;span style="color: #3366ff;"&gt;Write-Host&lt;/span&gt; &lt;span style="color: #800000;"&gt;"The lease on&lt;/span&gt; $(&lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt;.Uri) &lt;span style="color: #800000;"&gt;is a restore lease"&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;}&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;catch &lt;span style="color: #008080;"&gt;[Microsoft.WindowsAzure.Storage.StorageException]&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;if(&lt;span style="color: #ff0000;"&gt;$&lt;/span&gt;_.Exception.RequestInformation.HttpStatusCode &lt;span style="color: #c0c0c0;"&gt;-eq &lt;/span&gt;&lt;span style="color: #800000;"&gt;409&lt;/span&gt;)&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left: 150px;"&gt;&lt;span style="color: #3366ff;"&gt;Write-Host&lt;/span&gt; &lt;span style="color: #800000;"&gt;"The lease on&lt;/span&gt; $(&lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt;.Uri) &lt;span style="color: #800000;"&gt;is not a restore lease"&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;}&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;}&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="color: #3366ff;"&gt;Write-Host&lt;/span&gt; &lt;span style="color: #800000;"&gt;"Breaking lease on&lt;/span&gt; $(&lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt;.Uri)&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="color: #ff0000;"&gt;$blob&lt;/span&gt;.BreakLease($(&lt;span style="color: #3366ff;"&gt;New-TimeSpan&lt;/span&gt;), &lt;span style="color: #ff0000;"&gt;$null&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;$null&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;$null&lt;/span&gt;) &lt;span style="color: #c0c0c0;"&gt;|&lt;/span&gt; &lt;span style="color: #3366ff;"&gt;Out-Null&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;}&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;&lt;span style="color: #4f81bd;"&gt;&lt;span style="font-family: Cambria;"&gt;&lt;span style="font-size: small;"&gt;How to test the interrupted backup scenario using the script.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: small;"&gt;The following is a self-guided walkthrough of creating a locked blob by interrupting a backup process, and using the script to release the lease to successfully delete the blob file that resulted from the interrupted backup.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;The script prompts for storage account name, storage access key, container name, and the path and file name of the Windows Azure Storage Assembly.&amp;nbsp; You can either choose to provide these interactively or you can replace the params () section like this:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="color: #008000; font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;#provide values for parameters&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #ff0000;"&gt;$storageAccount&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #800000;"&gt;"mycloudstorage"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #ff0000;"&gt;$storageKey&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #800000;"&gt;"&amp;lt;primary/secondary access key value of the storage account&amp;gt;&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #ff0000;"&gt;$blobContainer&lt;/span&gt; &lt;span style="color: #c0c0c0;"&gt;=&lt;/span&gt; &lt;span style="color: #800000;"&gt;"sqlbackup"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: #ff0000;"&gt;$storageAssemblyPath&lt;/span&gt;&lt;span style="color: #c0c0c0;"&gt; =&lt;/span&gt; &lt;span style="color: #800000;"&gt;"C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\Microsoft.WindowsAzure.Storage.dll"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="color: #3366ff; font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Note:&amp;nbsp; The storage assembly is stored in the Binn folder of the SQL Server 2012 SP1 CU2 instance. In the above example, it is the default SQL Server instance.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Create a SQL Server Backup to Windows Azure blob storage which completes successfully.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/1817.InterruptedBackup_5F00_Step2.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/1817.InterruptedBackup_5F00_Step2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Run the PowerShell script.&amp;nbsp; It returns a message that says that there are no locked blobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0871.InterruptedBackup_5F00_Step3.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0871.InterruptedBackup_5F00_Step3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Now run another SQL Server backup but stop it before it can complete to simulate interrupted backup scenario.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/3678.InterruptedBackup_5F00_Step4.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/3678.InterruptedBackup_5F00_Step4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Check to see if the file was created on the storage account.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0083.InterruptedBackup_5F00_Step5.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0083.InterruptedBackup_5F00_Step5.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Try to overwrite the file &amp;ndash; see error:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0118.InterruptedBackup_5F00_Step6.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0118.InterruptedBackup_5F00_Step6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Try to delete &amp;ndash; see error:&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/5025.InterruptedBackup_5F00_Step7.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/5025.InterruptedBackup_5F00_Step7.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Run the PowerShell script again.&amp;nbsp; This time you should see that locked blob is identified, and after checking that it is not a restore lease, the lease is broken.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0724.InterruptedBackup_5F00_Step8.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/0724.InterruptedBackup_5F00_Step8.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Try overwriting or deleting the file.&amp;nbsp; It should work! &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: small;"&gt;Here are some ways you can enhance this script to automate this process:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Output the list of all blobs that are locked to a report (ex: excel file).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Break the active leases and report out the list. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Break the active leases and report out the list, but remove the filter for restore lease.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Delete the blobs with active backup leases and report out the list.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Times New Roman;"&gt;NOTE: &lt;em&gt;If you are running PowerShell 2.0, you may have problems loading the Microsoft WindowsAzure.Storage.dll assembly. We recommend that you upgrade to Powershell 3.0 to solve the issue. You may also use the following workaround for PowerShell 2.0: &lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Times New Roman;"&gt;Create or modify the powershell.exe.config file to load .NET 2.0 and .NET 4.0 assemblies at runtime with the following:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;?xml version="1.0"?&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;configuration&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;lt;startup useLegacyV2RuntimeActivationPolicy="true"&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;lt;supportedRuntime version="v4.0.30319"/&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;lt;supportedRuntime version="v2.0.50727"/&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;lt;/startup&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;/configuration&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;For more information on best practices, see &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/jj919149.aspx"&gt;&lt;span style="color: #0000ff; font-family: Calibri; font-size: small;"&gt;SQL Server Backup and Restore Best Practices (Windows Azure Blob Storage Service)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10401786" width="1" height="1"&gt;</content><author><name>Karthika [MSFT]</name><uri>http://blogs.msdn.com/Karthika-Raman/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server+2012/" /><category term="Azure VM" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Azure+VM/" /><category term="SQL Server Backup to Cloud" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server+Backup+to+Cloud/" /><category term="SQL Server Backup to Azure" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server+Backup+to+Azure/" /></entry><entry><title>When will my SQL Server Evaluation Edition expire?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2013/02/17/when-will-my-sql-server-evaluation-edition-expire.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2013/02/17/when-will-my-sql-server-evaluation-edition-expire.aspx</id><published>2013-02-18T01:43:00Z</published><updated>2013-02-18T01:43:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;span style="color: #000000; font-size: small;"&gt;The &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=29066"&gt;SQL Server Evaluation Edition&lt;/a&gt;&amp;nbsp;is a great way to&amp;nbsp;get a fully functional and free instance of SQL Server for learning and developing solutions. The edition has a built in expiry of 6 months from the time that you install it. I often install an Eval edition on a machine to set up a test or demo, and then 6 months later it comes as a complete surprise when it suddenly stops working.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Needless to say this can be&amp;nbsp;mildly inconvenient, as it typically expires on the day you plan to demo it. It would be nice to get some kind warning.&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;This problem&amp;nbsp;is exacerbated in the SQL Server&amp;nbsp;virtual machine&amp;nbsp;images in the Windows Azure gallery. While Azure VM's are in preview the SQL Server platform images are created with Evaluation edition, but the 6 month counter starts ticking&amp;nbsp;when the VM is created rather than when you deploy it. This came to a head recently as a few months went by&amp;nbsp;between platform image refreshes, so people deploying SQL VM images in Windows Azure were seeing them expire a few days later. See &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/WAVirtualMachinesforSQLServer/thread/bd89b9c5-7f3c-4bb6-96c7-439a4f94c008"&gt;this thread&lt;/a&gt; for more details. Since then the SQL Server platform image has been refreshed so it won't be expiring for several months.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;The problem with Azure VM's will go away soon as fully licensed pay-per-hour images will be available soon, and free trial offers will be available.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;What happens when your&amp;nbsp;SQL instance does expire? What are the options? Particularly if you've developed a working solution and want to put it into production?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;One option is to purchase a license and&amp;nbsp;enter the license key in &lt;span style="color: #0000ff;"&gt;SQL Server Installation Center-&amp;gt;Maintenance-&amp;gt;Upgrade License&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;If you're using an Azure VM another option would be to migrate your application to a new VM.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;One thing we've learned from this is&amp;nbsp;that as long as&amp;nbsp;time-bombed images are being used we need to be better at communicating and setting expectations about their expiration. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;If you're running an Evaluation edition now, how can you tell when it's due to expire? One way is to run this query...&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: small;"&gt;sp_configure &lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;'show advanced options'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="font-family: Consolas;"&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;RECONFIGURE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff; font-size: small;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;sp_configure &lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;'Agent XPs'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="font-family: Consolas;"&gt; 1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;RECONFIGURE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff; font-size: small;"&gt;GO&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #0000ff;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;@daysleft &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;int&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;DECLARE&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;@instancename &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;sysname&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;@instancename &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;= &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #ff00ff; font-family: Consolas;"&gt;&lt;span style="color: #ff00ff; font-family: Consolas;"&gt;&lt;span style="color: #ff00ff; font-family: Consolas;"&gt;CONVERT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;&lt;span style="color: #0000ff; font-family: Consolas;"&gt;sysname&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #ff00ff; font-family: Consolas;"&gt;&lt;span style="color: #ff00ff; font-family: Consolas;"&gt;&lt;span style="color: #ff00ff; font-family: Consolas;"&gt;SERVERPROPERTY&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;'InstanceName'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;))&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;EXEC&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;@daysleft &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;= &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #800000; font-family: Consolas;"&gt;&lt;span style="color: #800000; font-family: Consolas;"&gt;&lt;span style="color: #800000; font-family: Consolas;"&gt;xp_qv &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;'2715127595'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;&lt;span style="color: #808080; font-family: Consolas;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;@instancename&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;&lt;span style="color: #008080; font-family: Consolas;"&gt;@daysleft &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;&lt;span style="color: #ff0000; font-family: Consolas;"&gt;'Number of days left'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="color: #0000ff; font-size: small;"&gt;GO&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;That will give you an&amp;nbsp;answer in days until expiry. As of today,&amp;nbsp;the SQL Server gallery image I&amp;nbsp;launched a few days ago has 122 days left, which gives me a few months to&amp;nbsp;do my&amp;nbsp;demos and then forget that it's going to expire. Hopefully by that time I'll have either upgraded it&amp;nbsp;or started with a refreshed or pay per hour image.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;- Guy&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10394695" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server+2012/" /><category term="IaaS" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/IaaS/" /><category term="Azure VM" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Azure+VM/" /><category term="Expiry" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Expiry/" /></entry><entry><title>Backup and Restore to Cloud Simplified in SQL Server 2012 SP1 CU2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2013/01/24/backup-and-restore-to-cloud-simplified-in-sql-server-2012-sp1-cu2.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2013/01/24/backup-and-restore-to-cloud-simplified-in-sql-server-2012-sp1-cu2.aspx</id><published>2013-01-24T19:47:00Z</published><updated>2013-01-24T19:47:00Z</updated><content type="html">&lt;div class="WordSection1"&gt;
&lt;div&gt;
&lt;p&gt;SQL Server 2012 SP1 Cumulative Update 2 includes new functionality that simplifies the backup and restore capability of an on-premises SQL Server database to Windows Azure.&amp;nbsp;&amp;nbsp; You can now directly create a backup to Windows Azure Storage using SQL Server Native Backup functionality. Read the information below to get a brief introduction to the new functionality and follow the links for more in-depth information.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;To download the update, go to the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=271608"&gt;SQL Release Services Blog&lt;/a&gt;&amp;nbsp;or to &lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;&lt;a href="http://support.microsoft.com/kb/2792921"&gt;Download SQL Server 2012 SP1 CU2&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;Overview:&lt;/h1&gt;
&lt;p&gt;In addition to disk and tape you can now use SQL Server native backup functionality to back up your SQL Server Database to the Windows Azure Blob storage service.&amp;nbsp; In this release, backup to Windows Azure Blob storage is supported using T-SQL and&lt;br /&gt;SMO.&amp;nbsp; SQL Server Databases on an on premises instance of SQL Server or in a hosted environment such as an instance of SQL Server running in Windows Azure VMs can take advantage of this&lt;br /&gt;functionality.&lt;/p&gt;
&lt;h1&gt;Benefits:&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Flexible, reliable, and limitless off-site storage for improved disaster recovery: Storing your backups on Windows Azure Blob service can be a convenient, flexible and easy to access off-site option. Creating off-site storage for your SQL Server backups can be as easy as modifying your existing scripts/jobs. Off-site storage should typically be far enough from the production database location to prevent a single disaster that might impact both the off-site and production database locations. You can also restore the backup to a SQL Server Instance running in a Windows Azure&lt;br /&gt;Virtual Machine for disaster recovery of your on-premises database.&amp;nbsp; By choosing to geo-replicate the Blob storage you have an extra layer of protection in the event of a disaster that could affect the whole region. In addition, backups are available from anywhere and at any time and can easily be accessed for restores.&lt;/li&gt;
&lt;li&gt;Backup Archive: The Windows Azure Blob Storage service offers a better alternative to the often used tape option to archive backups. Tape storage might require physical transportation to an off-site facility and measures to protect the media. Storing your backups in Windows Azure Blob Storage provides an instant, highly available and durable archiving option.&lt;/li&gt;
&lt;li&gt;No overhead of hardware management: There is no overhead of hardware management with Windows Azure storage service. Windows Azure services manage the hardware and provides geo-replication for redundancy and protection against hardware failures.&lt;/li&gt;
&lt;li&gt;Currently for instances of SQL Server running in a Windows Azure Virtual Machine, backing up to Windows Azure Blob storage services can be done by creating attached disks. However, there is a limit to the number of disks you can attach to a Windows Azure Virtual Machine. This limit is 16 disks for an extra-large instance and fewer for smaller instances. By enabling a direct backup to Windows Azure Blob Storage, you can bypass the 16 disk limit.&lt;/li&gt;
&lt;li&gt;In addition, the backup file which now is stored in the Windows Azure Blob storage service is directly available to either an on-premises SQL Server or another SQL Server running in a Windows Azure Virtual Machine, without the need for database attach/detach or downloading and attaching the VHD.&lt;/li&gt;
&lt;li&gt;Cost Benefits: Pay only for the service that is used. Can be cost-effective as an off-site and backup archive option.&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="DdueNormal"&gt;The &lt;a href="http://go.microsoft.com/fwlink/?LinkId=277060"&gt;Windows Azure pricing calculator&lt;/a&gt; can help estimate your costs.&lt;/p&gt;
&lt;p class="DdueNormal"&gt;Storage: Charges are based on the space used and are calculated on a graduated scale and the level of redundancy. For more details, and up-to-date information, see the &lt;a href="http://www.windowsazure.com/en-us/pricing/details/#header-4"&gt;Data Management&lt;/a&gt; section of the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=277059"&gt;Pricing Details&lt;/a&gt; article.&lt;/p&gt;
&lt;p class="DdueNormal"&gt;Data Transfers: Inbound data transfers to Windows Azure are free. Outbound transfers are charged for the bandwidth use and calculated based on a graduated region-specific scale. For more details, see the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=277061"&gt;Data Transfers&lt;/a&gt; section of the Pricing Details article.&lt;/p&gt;
&lt;h1&gt;How it works:&lt;/h1&gt;
&lt;p&gt;Backup to Windows Azure Storage is engineered to behave much like a backup device (Disk/Tape).&amp;nbsp; Using the Microsoft Virtual Backup Device Interface (VDI), Windows Azure Blob storage is coded like a &amp;ldquo;virtual backup device&amp;rdquo;, and the URL format used to access the Blob storage is treated as a device.&amp;nbsp; The main reason for supporting Azure storage as a destination device is to provide a consistent and seamless backup and restore experience, similar to what we have today with disk and tape. When the Backup or restore process is invoked, and the Windows Azure Blob storage is specified using the URL &amp;ldquo;device type&amp;rdquo;, the engine invokes a VDI client process that is part of this feature.&amp;nbsp; The backup data is sent to the VDI client process, which sends the backup data to Windows Azure Blob storage.&lt;/p&gt;
&lt;p&gt;As previously mentioned, the URL is much like a backup device used today, but it is not a physical device, so there are some limitations.&amp;nbsp; For a full list of the supported options, see &lt;a href="http://go.microsoft.com/fwlink/?LinkID=271617"&gt;SQL Server Backup and Restore with Windows Azure Blob Storage Service&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;How to use it&lt;/h1&gt;
&lt;p&gt;To write a backup to Windows Azure Blob storage you must first create a Windows Azure Storage account, create a SQL Server Credential to store storage account authentication information. By using Transact-SQL or SMO you can issue backup and restore commands.&lt;/p&gt;
&lt;p&gt;The following Transact-SQL examples illustrate creating a credential, doing a full database backup and restoring the database from the full database backup. For a complete walkthrough of creating a storage account and performing a simple restore, see &lt;a href="http://go.microsoft.com/fwlink/?LinkID=271615"&gt;Tutorial: Getting Started with SQL Server Backup and Restore to Windows Azure Blob Storage Service&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="DdueTitle"&gt;&lt;strong&gt;Create a Credential&lt;/strong&gt;&lt;/p&gt;
&lt;p class="DdueNormal"&gt;The following example creates a credential that stores the Windows Azure Storage authentication information.&lt;/p&gt;
&lt;p class="DdueNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;IF NOT EXISTS&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;(SELECT * FROM sys.credentials WHERE credential_identity = 'mycredential')&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;CREATE CREDENTIAL mycredential&lt;br /&gt;WITH IDENTITY = 'mystorageaccount'&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;,SECRET = '&amp;lt;storage access key&amp;gt;' ;&lt;/p&gt;
&lt;p class="Code"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="DdueTitle"&gt;&lt;strong&gt;Backing up a complete database&lt;/strong&gt;&lt;/p&gt;
&lt;p class="DdueNormal"&gt;The following example backs up the AdventureWorks2012 database to the Windows Azure Blob storage service.&lt;/p&gt;
&lt;p class="DdueNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;BACKUP DATABASE AdventureWorks2012&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;TO URL = 'https://mystorageaccount.blob.core.windows.net/mycontainer/AdventureWorks2012.bak'&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;WITH CREDENTIAL = 'mycredential'&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;,STATS = 5;&lt;/p&gt;
&lt;p class="Code"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="DdueNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="DdueTitle"&gt;&lt;strong&gt;Restoring a database&lt;/strong&gt;&lt;/p&gt;
&lt;p class="DdueNormal"&gt;To restore a full database backup, use the following steps.&lt;/p&gt;
&lt;p class="DdueNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;RESTORE DATABASE AdventureWorks2012 FROM URL =&lt;br /&gt;'https://mystorageaccount.blob.core.windows.net/mycontainer/AdventureWorks2012.bak'&lt;/p&gt;
&lt;p class="Code" style="padding-left: 30px;"&gt;WITH CREDENTIAL = 'mycredential',&amp;nbsp; STATS = 5&lt;/p&gt;
&lt;p class="Code"&gt;-&amp;nbsp;- Note that&amp;nbsp;options like STATS, COMPRESS, FORMAT&amp;nbsp;etc.. can be used or omitted as for any T-SQL BACKUP command.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Resources:&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=271617"&gt;Concepts/Script Examples&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=272394"&gt;Best Practices /Troubleshooting&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=271615"&gt;Getting Started Tutorial&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please send your feedback on the feature and or&lt;br /&gt;documentation to karaman @ Microsoft.com&amp;nbsp;or&amp;nbsp;guybo @ microsoft.com.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;hr align="left" size="1" width="33%" /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;- Karthika Raman&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10388040" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>SQLOS and Cloud Infrastructure sessions at PASS Summit 2012</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2012/11/07/sqlos-and-cloud-infrastructure-sessions-at-pass-summit-2012.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2012/11/07/sqlos-and-cloud-infrastructure-sessions-at-pass-summit-2012.aspx</id><published>2012-11-08T01:47:00Z</published><updated>2012-11-08T01:47:00Z</updated><content type="html">&lt;p&gt;The SQL Pass Summit 2012, the&amp;nbsp;largest yet,&amp;nbsp;is in full swing. Here's a summary of the sessions this week on cloud infrastructure and SQLOS topics. Some of these were today, and you can catch the recordings. One more session takes place on Friday covering SQL Server solution patterns in Windows Azure VMs...&lt;/p&gt;
&lt;p&gt;Also, catch&amp;nbsp;Thursday's keynote with Quentin Clark which will feature a cool IaaS demo!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #000080; font-size: small;"&gt;SQL Server in Windows Azure VM Sessions&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CLD-309-A SQLCAT: Best Practices and Lessons Learned on SQL Server in an Azure VM&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Steve Howard, Arvind Ranasaria - Wednesday 11/6 10:15&lt;/p&gt;
&lt;p&gt;This session looked at some best practices to optimize Networking, Memory, Disk IO and high availability based on lessons learned during SQLCat work with customer deployments. Well worth catching the recording.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SQL Server in Azure VM patterns: Hybrid Disaster Recovery, data movement and BI&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Guy Bowerman, Peter Saddow, Michael Washam, Ross LoForte - &lt;span style="color: #ff0000;"&gt;&lt;strong&gt;Friday 11/9 9:45 Rm 613&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;[Note: In the guides this has an outdated title.]&lt;/p&gt;
&lt;p&gt;This session has a focus on SQL Server Azure VM solutions. Starting with the basics and then going deeper into:&lt;/p&gt;
&lt;p&gt;- New features in the Microsoft Assessment and Planning Toolkit 8.0 to help plan and size SQL VM migrations.&lt;br /&gt;- A Look at a Windows Azure&amp;nbsp;VM SQL Server&amp;nbsp;app making use of load balancing and SQL Server high availability features.&lt;br /&gt;- A BI case study running SQL BI components in Azure VMs and making use of Windows 8 tiles.&lt;br /&gt;- A training class in a VM case study.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000080; font-size: small;"&gt;&lt;strong&gt;SQLOS Sessions&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DBA-500-HD Inside SQLOS 2012 (half-day session)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bob Ward - Wednesday 11/6 1:30pm&lt;/p&gt;
&lt;p&gt;Bob Ward from CSS applies his wealth of experience to look at the internals of SQLOS and what's changed in the various SQL 2012 components, including memory, resource governor, scheduler.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DBA-403-M: SQLCAT: Memory Manager Changes in SQL Server 2012&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Gus Apostol, Jerome Halmans - 1:30pm&lt;/p&gt;
&lt;p&gt;Covers the redesigned SQLOS memory manager in SQL Server 2012 including the new page allocator for any size pages (and all that implies), DMVs, demo's. Not sure why this was placed at the same time as the SQLOS half-day session, but since it's recorded it's available for catch-up.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- Guy&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10366743" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author><category term="SQL/VM" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL_2F00_VM/" /><category term="SQLOS" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQLOS/" /><category term="IaaS" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/IaaS/" /><category term="PASS" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/PASS/" /></entry><entry><title>Resource Governor in SQL Server 2012 technical article published</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2012/07/30/resource-governor-in-sql-server-2012-technical-article-published.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2012/07/30/resource-governor-in-sql-server-2012-technical-article-published.aspx</id><published>2012-07-30T22:35:45Z</published><updated>2012-07-30T22:35:45Z</updated><content type="html">&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;The&amp;nbsp;SQL Server Technical article entitled &lt;a href="http://msdn.microsoft.com/en-us/library/jj573256"&gt;Resource Governor in SQL Server 2012&lt;/a&gt;&amp;nbsp;has just been published. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;The article focuses on the SQL Server 2012 enhancements to the Resource Governor which reflect a growing need for centrally managed database services to&amp;nbsp;support isolated workloads in multitenant environments.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;This document describes the enhancements and why they were added. It includes a self-contained walk through that you can try for yourself in order to gain familiarity with the new features.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;If you're not familiar with the SQL Server Resource Governor (which was introduced&amp;nbsp;in SQL Server 2008), start with a comphrehensive&amp;nbsp;white paper called &lt;span style="line-height: 115%; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"&gt;&lt;a href="http://msdn.microsoft.com/library/ee151608.aspx"&gt;Using the Resource Governor&lt;/a&gt; and then come back to &lt;a href="http://msdn.microsoft.com/en-us/library/jj573256"&gt;Resource Governor in SQL Server 2012&lt;/a&gt; to see what's new.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;&lt;span style="line-height: 115%; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"&gt;- Guy&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #1f497d; font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10334965" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server+2012/" /><category term="Resource Governor" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Resource+Governor/" /></entry><entry><title>Memory Manager Configuration changes in SQL Server 2012</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2012/07/12/memory-manager-configuration-changes-in-sql-server-2012.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2012/07/12/memory-manager-configuration-changes-in-sql-server-2012.aspx</id><published>2012-07-12T15:07:00Z</published><updated>2012-07-12T15:07:00Z</updated><content type="html">&lt;p&gt;Continuing from yesterday's&amp;nbsp;article about &lt;a href="http://blogs.msdn.com/b/sqlosteam/archive/2012/07/11/memory-manager-surface-area-changes-in-sql-server-2012.aspx"&gt;Memory Manager surface area changes in SQL Server 2012&lt;/a&gt;, this&amp;nbsp;post looks at corresponding configuraton changes for the new Memory Manager. The surface area change article mentioned &amp;nbsp;that the Memory Manager redesign resulted in being able to more accurately size and govern all SQL Server memory consumption. Let's look at what this means in terms of sizing the total memory usage.&lt;/p&gt;
&lt;h3&gt;Max server memory&lt;/h3&gt;
&lt;p&gt;In SQL Server 2008, the &lt;strong&gt;max server memory&lt;/strong&gt; configuration setting only governed single 8K page allocations. CLR allocations, multi-page allocations, direct Windows allocations (DWA) and memory required by thread stacks would not be included,&amp;nbsp;so you'd have to set the&lt;em&gt; -g memory_to_reserve&lt;/em&gt; startup setting on 32-bit systems if you're using CLR for example, to reserve sufficient address space.&lt;/p&gt;
&lt;p&gt;Setting &lt;em&gt;max server memory&lt;/em&gt; becomes more straightforward with SQL Server 2012. The redesigned Memory Manager takes a central role in providing page allocations for the other components, and the &lt;em&gt;max server memory&lt;/em&gt; setting governs all memory manager allocations.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/2664.sql_5F00_config.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/2664.sql_5F00_config.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With&amp;nbsp;all page allocations are governed, including&amp;nbsp;CLR page allocations, instance sizing is more predictable, which can help a lot in memory constrained and multi-instance scenarios. Direct Windows Allocations, (i.e. calls to VirtualAlloc()) will still remain outside of Memory Manager control.&lt;/p&gt;
&lt;p&gt;Here's a summary of the how the memory startup option settings changed in 2012:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SQL Server 2008 R2&lt;/strong&gt;&lt;/p&gt;
&lt;table style="width: 650px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="oa1" width="176"&gt;
&lt;p&gt;&lt;span style="background-color: #ffffff;"&gt;&lt;strong&gt;Sp_configure option&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa1" width="200"&gt;
&lt;p&gt;&lt;span style="background-color: #ffffff;"&gt;&lt;strong&gt;Default setting&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa1" width="136"&gt;
&lt;p&gt;&lt;span style="background-color: #ffffff;"&gt;&lt;strong&gt;Lowest possible value&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa1" width="222"&gt;
&lt;p&gt;&lt;span style="background-color: #ffffff;"&gt;&lt;strong&gt;Highest possible value&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa2" height="39" width="176"&gt;
&lt;p&gt;Min server memory&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa2" width="200"&gt;
&lt;p&gt;0&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa2" width="136"&gt;
&lt;p&gt;16 (MB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa2" width="222"&gt;
&lt;p&gt;Value&lt;br /&gt;&amp;nbsp; less than max server&lt;/p&gt;
&lt;p&gt;memory setting&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="94"&gt;
&lt;td class="oa3" height="94" width="176"&gt;
&lt;p&gt;Max&lt;br /&gt;&amp;nbsp; server memory&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="200"&gt;
&lt;p&gt;2147483647&lt;/p&gt;
&lt;p&gt;(available memory in the system)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="136"&gt;
&lt;p&gt;16 (MB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="222"&gt;
&lt;p&gt;2147483647&lt;/p&gt;
&lt;p&gt;(available memory in the&lt;/p&gt;
&lt;p&gt;system)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;SQL Server 2012&lt;/strong&gt;&lt;/p&gt;
&lt;table style="width: 650px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="oa1" width="176"&gt;
&lt;p&gt;&lt;strong&gt;Sp_configure option&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa1" width="184"&gt;
&lt;p&gt;&lt;strong&gt;Default setting&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa1" width="160"&gt;
&lt;p&gt;&lt;strong&gt;Lowest possible value&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa1" width="214"&gt;
&lt;p&gt;&lt;strong&gt;Highest possible value&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa2" height="39" width="176"&gt;
&lt;p&gt;Min server memory&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa2" width="184"&gt;
&lt;p&gt;0&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa2" width="160"&gt;
&lt;p&gt;16 (MB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa2" width="214"&gt;
&lt;p&gt;Value&lt;br /&gt;&amp;nbsp; less than max server&lt;/p&gt;
&lt;p&gt;memory setting&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa3" height="39" width="176"&gt;
&lt;p&gt;Max&lt;br /&gt;&amp;nbsp; server memory&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="184"&gt;
&lt;p&gt;2147483647&lt;/p&gt;
&lt;p&gt;(available memory in the system)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="160"&gt;
&lt;p&gt;&lt;strong&gt;32 bit - 64 (MB)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;64 bit &amp;ndash; 128 (MB)&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="214"&gt;
&lt;p&gt;2147483647&lt;/p&gt;
&lt;p&gt;(available memory in the&lt;/p&gt;
&lt;p&gt;system)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sp_configure awe_enabled&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SQL Server 2008 R2 was the last release to support the &lt;em&gt;awe_enabled&lt;/em&gt; option, which allowed use of memory above 4GB on 32-bit systems. In SQL Server 2012 32-bit architectures can no longer use &amp;gt;4GB, though you can still set this value on 32-bit systems to allow the use of locked pages but it's not needed on 64-bit. Note this setting does not affect the way Address Windowing Extensions are use to implement locked pages in memory on 64-bit systems.&lt;/p&gt;
&lt;p&gt;- Guy&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10329269" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author><category term="denali" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/denali/" /><category term="Memory manager" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Memory+manager/" /><category term="max server memory" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/max+server+memory/" /></entry><entry><title>Memory Manager surface area changes in SQL Server 2012</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2012/07/11/memory-manager-surface-area-changes-in-sql-server-2012.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2012/07/11/memory-manager-surface-area-changes-in-sql-server-2012.aspx</id><published>2012-07-11T14:31:00Z</published><updated>2012-07-11T14:31:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-size: small;"&gt;There were various changes to memory related DMVs, DBCC memory status, and Perfmon counters in SQL Server 2012 a&lt;span style="font-size: small;"&gt;s part of the redesign of the Memory Manager component of SQLOS. The Memory Manager redesign resulted in being able to more accurately size and govern all SQL Server memory consumption, making&amp;nbsp;page allocations more efficient, and better handling and tracking of NUMA node memory allocations.&lt;/span&gt; This post aims to document these surface area&amp;nbsp;changes in one place to serve as a quick reference.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Some of these&amp;nbsp;changes were to standardize&amp;nbsp;memory counters as "kb" rather than bytes or pages, continuing a process begun earlier, but now more relevant since the single and multi-page allocators were replaced by an any-size page allocator, so counting pages allocated would no longer give a meaningful view of memory use. This consolidation of allocators also resulted consolidated counters for page allocation.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Other changes reflect the central role of the redesigned Memory Manager in being the interface to the OS,&amp;nbsp;providing page allocations for the other components. A modular summary of the architectural changes&amp;nbsp;is shown below:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/5074.Untitled.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/5468.Untitled.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-23/5468.Untitled.png" width="761" height="398" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;DMV Changes&lt;/h2&gt;
&lt;h3&gt;sys.dm_os_memory_nodes&lt;/h3&gt;
&lt;p&gt;The consolidation of the single and multi-page allocators is reflected in the pages_kb column in sys.dm_os_memory_nodes. The new foreign_committed_kb counter is a result of the improved NUMA management and reporting in SQL 2012 and identifies memory on a noe that belongs to a remote node, which can be useful if you're troubleshooting slower memory access. We will always try and use local memory first, at least until the target memory is reached.&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="610" colspan="2"&gt;
&lt;p&gt;&lt;b&gt;sys.dm_os_memory_nodes&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="286"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="324"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="286"&gt;
&lt;p&gt;pages_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="324"&gt;
&lt;p&gt;single_pages_kb +&lt;br /&gt;&amp;nbsp; multi_pages_kb&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="286"&gt;
&lt;p&gt;foreign_committed_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="324"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;sys.dm_os_sys_info&lt;/h3&gt;
&lt;p&gt;The main memory manager changes here are to standardize memory counters.&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="610" colspan="2"&gt;
&lt;p&gt;&lt;b&gt;sys.dm_os_sys_info&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="334"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="276"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="334"&gt;
&lt;p&gt;physical_memory_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="276"&gt;
&lt;p&gt;physical_memory_in_bytes&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="334"&gt;
&lt;p&gt;virtual_memory_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="276"&gt;
&lt;p&gt;virtual_memory_in_bytes&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="334"&gt;
&lt;p&gt;committed_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="276"&gt;
&lt;p&gt;bpool_committed&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="334"&gt;
&lt;p&gt;committed_target_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="276"&gt;
&lt;p&gt;bpool_commit_target&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="334"&gt;
&lt;p&gt;visible_target_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="276"&gt;
&lt;p&gt;bpool_visible&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;sys.dm_os_memory_cache_counters&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="610" colspan="2"&gt;
&lt;p&gt;&lt;b&gt;sys.dm_os_memory_cache_counters&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;pages_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;single_pages_kb +&lt;br /&gt;&amp;nbsp; multi_pages_kb&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;pages_in_use_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;single_pages_in_use_kb&lt;br /&gt;&amp;nbsp; + multi_pages_in_use_kb&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;sys.dm_os_memory_cache_entries&lt;/h3&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="610" colspan="2"&gt;
&lt;p&gt;&lt;b&gt;sys.dm_os_memory_cache_entries&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;pages_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;pages_allocated_count&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;sys.dm_os_memory_clerks&lt;/b&gt;&lt;/h3&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="610" colspan="2"&gt;
&lt;p&gt;&lt;b&gt;sys.dm_os_memory_clerks&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;pages_kb&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;single_pages_kb +&lt;br /&gt;&amp;nbsp; multi_pages_kb&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;page_size_in_bytes&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;page_size_bytes&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;&lt;b&gt;sys.dm_os_memory_objects&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="610" colspan="2"&gt;
&lt;p&gt;&lt;b&gt;sys.dm_os_memory_objects&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="296"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="314"&gt;
&lt;p&gt;&lt;b&gt;SQL Server 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="296"&gt;
&lt;p&gt;pages_in_bytes&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="314"&gt;
&lt;p&gt;pages_allocated_count&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="296"&gt;
&lt;p&gt;max_pages_in_bytes&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="314"&gt;
&lt;p&gt;max_pages_allocated_count&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;DBCC Memory Status changes&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;Many of the DBCC memory counters that were previously under Buffer Pool have now been consolidated under Memory Manager to reflect the revised architecture. There is also some additional information to reflect OS errors and NUMA awareness. NUMA growth phase&amp;nbsp;shows memory growth before the target is reached. The &amp;ldquo;Pages In Use&amp;rdquo; counter shows the actual number of pages in use, including&amp;nbsp;the stolen pages, database pages, and the reserved memory. The Away Committed counter indicates how much memory from this node is committed from other nodes.&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Large Pages Allocated&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Emergency Memory&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Reserved Memory&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \ Emergency&lt;br /&gt;&amp;nbsp; Memory In Use&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Reserved Memory In Use&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Target Committed (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Target (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Current Committed (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Committed (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages Allocated (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Stolen (Pages) + Buffer Pool \ Database (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages Reserved (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Reserved (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages Free (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \ Free&lt;br /&gt;&amp;nbsp; (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages In Use&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Page Alloc Potential (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Stolen Potential (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; NUMA Growth Phase&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Last OOM Factor&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \ Last&lt;br /&gt;&amp;nbsp; OOM Factor&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Last OS Error&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Large Pages Allocated&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Emergency Memory&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Reserved Memory&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Emergency Memory In Use&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Reserved Memory In Use&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Target Committed (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Target (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \ Current&lt;br /&gt;&amp;nbsp; Committed (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Committed (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages Allocated (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Stolen (Pages) + Buffer Pool \ Database (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages Reserved (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Reserved (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages Free (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \ Free&lt;br /&gt;&amp;nbsp; (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Pages In Use&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Page Alloc Potential (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \&lt;br /&gt;&amp;nbsp; Stolen Potential (Pages)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; NUMA Growth Phase&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Last OOM Factor&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Buffer Pool \ Last&lt;br /&gt;&amp;nbsp; OOM Factor&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Manager \&lt;br /&gt;&amp;nbsp; Last OS Error&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory node Id = n&lt;br /&gt;&amp;nbsp; \ Pages Allocated&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Memory node Id = n&lt;br /&gt;&amp;nbsp; \ MultiPage Allocator + Memory node Id = n \ SinglePage Allocator&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory node Id = n&lt;br /&gt;&amp;nbsp; \ Target Committed&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory node Id = n&lt;br /&gt;&amp;nbsp; \ Current Committed&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory node Id = n&lt;br /&gt;&amp;nbsp; \ Foreign Committed&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory node Id = n&lt;br /&gt;&amp;nbsp; \ Away Committed&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Memory Clerks \&lt;br /&gt;&amp;nbsp; Pages Allocated&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Memory Clerks \&lt;br /&gt;&amp;nbsp; SinglePage Allocator + Memory Clerks \ MultiPage Allocator&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Perfmon counters&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;The Perfmon counter changes follow the same consolidation of counters under the Memory Manager object, and the standardization of counters to KB. Several deprecated AWE counters are now removed.&lt;/p&gt;
&lt;table style="width: 856px;" border="1" cellspacing="0" cellpadding="0"&gt;&lt;colgroup&gt;&lt;col width="432" /&gt;&lt;/colgroup&gt;&lt;colgroup&gt;&lt;col width="424" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr height="39"&gt;
&lt;td class="oa1" height="39" width="432"&gt;
&lt;p&gt;SQL Server 2012&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa1" width="424"&gt;
&lt;p&gt;SQL Server 2008 R2&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa2" height="39" width="432"&gt;
&lt;p&gt;Object - SQLServer:Memory&lt;br /&gt;&amp;nbsp; Manager&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa2" width="424"&gt;
&lt;p&gt;Object - SQLServer:Buffer&lt;br /&gt;&amp;nbsp; Manager&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa3" height="39" width="432"&gt;
&lt;p&gt;Database Cache Memory (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="424"&gt;
&lt;p&gt;Database pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa4" height="39" width="432"&gt;
&lt;p&gt;Free Memory (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa4" width="424"&gt;
&lt;p&gt;Free pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa3" height="39" width="432"&gt;
&lt;p&gt;Reserved Server Memory (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="424"&gt;
&lt;p&gt;Reserved pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa4" height="39" width="432"&gt;
&lt;p&gt;Stolen Server Memory (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa4" width="424"&gt;
&lt;p&gt;Stolen pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa3" height="39" width="432"&gt;
&lt;p&gt;Target&lt;br /&gt;&amp;nbsp; Server Memory&lt;br /&gt;&amp;nbsp; (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="424"&gt;
&lt;p&gt;Target&lt;br /&gt;&amp;nbsp; pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa4" height="39" width="432"&gt;
&lt;p&gt;Total&lt;br /&gt;&amp;nbsp; Server Memory (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa4" width="424"&gt;
&lt;p&gt;Total&lt;br /&gt;&amp;nbsp; pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa3" height="39" width="432"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="424"&gt;
&lt;p&gt;AWE&lt;br /&gt;&amp;nbsp; lookup maps / sec&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa4" height="39" width="432"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa4" width="424"&gt;
&lt;p&gt;AWE stolen maps / sec&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa3" height="39" width="432"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="424"&gt;
&lt;p&gt;AWE&lt;br /&gt;&amp;nbsp; write maps /&lt;br /&gt;&amp;nbsp; sec&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa4" height="39" width="432"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa4" width="424"&gt;
&lt;p&gt;AWE&lt;br /&gt;&amp;nbsp; unmap&lt;br /&gt;&amp;nbsp; calls / sec&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="39"&gt;
&lt;td class="oa3" height="39" width="432"&gt;
&lt;p&gt;-&lt;/p&gt;
&lt;/td&gt;
&lt;td class="oa3" width="424"&gt;
&lt;p&gt;AWE&lt;br /&gt;&amp;nbsp; unmap&lt;br /&gt;&amp;nbsp; pages / sec&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 610px;" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2012&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;&lt;b&gt;SQL Server&lt;br /&gt;&amp;nbsp; 2008 R2&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Object -&lt;br /&gt;&amp;nbsp; SQLServer:Memory Node&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Object -&lt;br /&gt;&amp;nbsp; SQLServer:Buffer Node&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Database Node&lt;br /&gt;&amp;nbsp; Memory (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Database pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Free Node Memory&lt;br /&gt;&amp;nbsp; (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Free pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Foreign Node Memory&lt;br /&gt;&amp;nbsp; (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Foreign pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Stolen Node Memory&lt;br /&gt;&amp;nbsp; (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Stolen pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Target Node Memory&lt;br /&gt;&amp;nbsp; (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Target pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="298"&gt;
&lt;p&gt;Total Node Memory&lt;br /&gt;&amp;nbsp; (KB)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="312"&gt;
&lt;p&gt;Total pages&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I'll follow up this article with some additional surface area changes for configuration and new memory manager messages that appear in the errorlog.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The goal of these changes is to make the new Memory Manager activity easier and more intuitive to track, and to clean up some of the values that no longer make sense with the any size page allocator and deprecation of AWE. Anything you used to use but can't find any more? Let me know.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10328883" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author><category term="denali" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/denali/" /><category term="Memory manager" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Memory+manager/" /><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server+2012/" /></entry><entry><title>SQL Server 2012 Memory Manager KB articles</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2012/06/20/sql-server-2012-memory-manager-kb-articles.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2012/06/20/sql-server-2012-memory-manager-kb-articles.aspx</id><published>2012-06-20T23:20:00Z</published><updated>2012-06-20T23:20:00Z</updated><content type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Since the release of SQL Server 2012 with&amp;nbsp;a redesigned memory manager, a steady stream of KB articles have been produced by CSS to provide guidance on the new or changed options, as well as fixes that have been published..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;How has memory sizing changed in SQL 2012?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;2663912 Memory configuration and sizing considerations in SQL Server 2012 - &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;2663912"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;2663912&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Setting "locked pages" to avoid SQL Server memory pages getting swapped has been simplified, particularly for Standard Edition, the details can be found here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;2659143 How to enable the "locked pages" feature in SQL Server 2012 - &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;2659143"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;2659143&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Note the following deprecation (particularly relevant for 32-bit installations):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;2644592 The "AWE enabled" SQL Server feature is deprecated - &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;2644592"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;2644592&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Note the following fixes available:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;2708594&amp;nbsp;FIX: Locked page allocations are enabled without any warning after you upgrade to SQL Server 2012 - &lt;a href="http://support.microsoft.com/kb/2708594/EN-US"&gt;http://support.microsoft.com/kb/2708594/EN-US&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;2688697&amp;nbsp;FIX: Out-of-memory error when you run an instance of SQL Server 2012 on a computer that uses NUMA - &lt;a href="http://support.microsoft.com/kb/2688697/EN-US"&gt;http://support.microsoft.com/kb/2688697/EN-US&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10322395" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author><category term="Memory manager" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/Memory+manager/" /><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/sqlosteam/archive/tags/SQL+Server+2012/" /></entry><entry><title>Lock Pages in Memory - not deprecated in Denali</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sqlosteam/archive/2012/03/22/lock-pages-in-memory-not-deprecated-in-denali.aspx" /><id>http://blogs.msdn.com/b/sqlosteam/archive/2012/03/22/lock-pages-in-memory-not-deprecated-in-denali.aspx</id><published>2012-03-23T00:19:00Z</published><updated>2012-03-23T00:19:00Z</updated><content type="html">&lt;p&gt;Please note an error in the SQL 2012 documentation for &lt;a href="http://msdn.microsoft.com/en-us/library/ms190730(v=sql.110).aspx"&gt;Lock Pages in Memory&lt;/a&gt;&amp;nbsp;which indicates that it's deprecated. It's not. Locking pages in memory is a useful feature and there are no plans to deprecate it. It looks like it was accidently included on this page when we made changes to deprecate AWE.&lt;/p&gt;
&lt;p&gt;So.. keep using it :-) The documentation has been fixed and should appear in Books Online in the next refresh by mid-April.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Guy&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10286672" width="1" height="1"&gt;</content><author><name>G Bowerman</name><uri>http://blogs.msdn.com/gbowerman/ProfileUrlRedirect.ashx</uri></author></entry></feed>