<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>SQL Server Knowledge by Batuhan YILDIZ</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/batuhanyildiz/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/feed.xml</link>
    <description>Notes From The Field Experiences and Useful Scripts - By Microsoft Premier Field Engineer</description>
    <lastBuildDate>Mon, 20 Jul 2015 23:07:34 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>What size is suitable as an Initial Size for tempdb system database?</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/what-size-is-suitable-as-an-initial-size-for-tempdb-system-database</link>
      <pubDate>Wed, 29 May 2013 07:13:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/05/29/what-size-is-suitable-as-an-initial-size-for-tempdb-system-database/</guid>
      <description><![CDATA[The size and physical placement of the tempdb database can affect the performance of a system. For...]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="Verdana">The size and physical placement of the tempdb database can affect the performance of a system. For example, if the size that is defined for tempdb is too small, part of the system-processing load may be taken up with auto-growing tempdb to the size required to support the workload every time you restart the instance of SQL Server. You can avoid this overhead by increasing the sizes of the tempdb data and log file.</font></p>  <p><font size="2" face="Verdana">Determining the appropriate size for <strong>tempdb</strong> in a production environment depends on many factors. All those factors have been mentioned in the article “Capacity Planning for tempdb”.</font></p>  <p><font size="2" face="Verdana">Capacity Planning for tempdb      <br /></font><a title="https://msdn.microsoft.com/en-us/library/ms345368(v=sql.105).aspx" href="https://msdn.microsoft.com/en-us/library/ms345368(v=sql.105).aspx"><font size="2" face="Verdana">https://msdn.microsoft.com/en-us/library/ms345368(v=sql.105).aspx</font></a></p>  <p><font size="2" face="Verdana">You can also use the basic calculation like below</font></p>  <p><font size="2" face="Verdana"></font></p>  <div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &quot;Courier New&quot;, verdana, monospace; font-size: 10pt; cursor: text; direction: ltr; max-height: 600px; background-color: rgb(244, 244, 244);">   <pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">declare </span><span style="color: teal;">@tempdb_size1 </span><span style="color: blue;">decimal</span><span style="color: gray;">(</span>15<span style="color: gray;">,</span>2<span style="color: gray;">) = </span>0
<span style="color: blue;">declare </span><span style="color: teal;">@tempdb_size2 </span><span style="color: blue;">decimal</span><span style="color: gray;">(</span>15<span style="color: gray;">,</span>2<span style="color: gray;">) = </span>0
<span style="color: blue;">declare </span><span style="color: teal;">@tempdb_size3 </span><span style="color: blue;">decimal</span><span style="color: gray;">(</span>15<span style="color: gray;">,</span>2<span style="color: gray;">) = </span>0
<span style="color: blue;">declare </span><span style="color: teal;">@tempdb_size </span><span style="color: blue;">decimal</span><span style="color: gray;">(</span>15<span style="color: gray;">,</span>2<span style="color: gray;">) = </span>0
<span style="color: blue;">declare </span><span style="color: teal;">@database_size_info </span><span style="color: blue;">table </span><span style="color: gray;">(
    </span><span style="color: teal;">database_name </span><span style="color: blue;">sysname</span><span style="color: gray;">, </span><span style="color: teal;">database_size </span><span style="color: blue;">decimal</span><span style="color: gray;">(</span>15<span style="color: gray;">,</span>2<span style="color: gray;">)
)
</span><span style="color: blue;">insert into </span><span style="color: teal;">@database_size_info
</span><span style="color: blue;">select </span><span style="color: magenta;">db_name</span><span style="color: gray;">(</span><span style="color: teal;">database_id</span><span style="color: gray;">) </span><span style="color: teal;">database_name</span><span style="color: gray;">, 
</span><span style="color: magenta;">SUM </span><span style="color: gray;">(</span><span style="color: magenta;">CONVERT </span><span style="color: gray;">(</span><span style="color: blue;">numeric </span><span style="color: gray;">(</span>15<span style="color: gray;">,</span>2<span style="color: gray;">) , (</span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">numeric</span><span style="color: gray;">, </span><span style="color: teal;">size</span><span style="color: gray;">) * </span>8192<span style="color: gray;">)/</span>1048576<span style="color: gray;">)) 
</span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">master_files
</span><span style="color: blue;">group by </span><span style="color: teal;">database_id
</span><span style="color: green;">--10% of the total size of databases greater than 1TB
</span><span style="color: blue;">select </span><span style="color: teal;">@tempdb_size1 </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">sum</span><span style="color: gray;">(</span><span style="color: teal;">database_size</span><span style="color: gray;">),</span>0<span style="color: gray;">)
</span><span style="color: blue;">from </span><span style="color: teal;">@database_size_info
</span><span style="color: blue;">where </span><span style="color: teal;">database_size </span><span style="color: gray;">&gt;= </span>1000000
<span style="color: green;">--15% of the total size of databases greater than 100GB and less than 1TB
</span><span style="color: blue;">select </span><span style="color: teal;">@tempdb_size2 </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">sum</span><span style="color: gray;">(</span><span style="color: teal;">database_size</span><span style="color: gray;">),</span>0<span style="color: gray;">)
</span><span style="color: blue;">from </span><span style="color: teal;">@database_size_info
</span><span style="color: blue;">where </span><span style="color: teal;">database_size </span><span style="color: gray;">&gt;= </span>100000 <span style="color: gray;">and </span><span style="color: teal;">database_size </span><span style="color: gray;">&lt; </span>1000000
<span style="color: green;">--25% of the total size of databases greater less than 100GB
</span><span style="color: blue;">select </span><span style="color: teal;">@tempdb_size3 </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">sum</span><span style="color: gray;">(</span><span style="color: teal;">database_size</span><span style="color: gray;">),</span>0<span style="color: gray;">)
</span><span style="color: blue;">from </span><span style="color: teal;">@database_size_info
</span><span style="color: blue;">where </span><span style="color: teal;">database_size </span><span style="color: gray;">&lt; </span>100000

<span style="color: blue;">set </span><span style="color: teal;">@tempdb_size </span><span style="color: gray;">= (</span><span style="color: teal;">@tempdb_size3</span><span style="color: gray;">*</span>0.25<span style="color: gray;">)+(</span><span style="color: teal;">@tempdb_size2</span><span style="color: gray;">*</span>0.15<span style="color: gray;">)+(</span><span style="color: teal;">@tempdb_size1</span><span style="color: gray;">*</span>0.10<span style="color: gray;">)

</span><span style="color: blue;">select </span><span style="color: teal;">@tempdb_size tempdb_estimated_database_size</span><span style="color: gray;">, 
        (</span><span style="color: teal;">@tempdb_size</span><span style="color: gray;">*</span>0.75 <span style="color: gray;">) </span><span style="color: teal;">tempdb_estimated_data_initial_size</span><span style="color: gray;">, 
        (</span><span style="color: teal;">@tempdb_size</span><span style="color: gray;">*</span>0.25 <span style="color: gray;">) </span><span style="color: teal;">tempdb_estimated_log_initial_size
</span></font></font></pre>
</div>

<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">There are some other best practices for tempdb such as one tempdb file for each core processors. If you plan to add addition tempdb data files, tempdb_estimated_data_initial_size can be divided the core processor count.</font></p>]]></content:encoded>
    </item>
    <item>
      <title>Basic steps to setup Windows Server 2012 Cluster with Hyper-V</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/basic-steps-to-setup-windows-server-2012-cluster-with-hyper-v</link>
      <pubDate>Sun, 19 May 2013 10:22:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/05/19/basic-steps-to-setup-windows-server-2012-cluster-with-hyper-v/</guid>
      <description><![CDATA[Setup Windows Server 2012 Cluster in Hyper-V     iSCSI Target Configuration    iSCSI Initiator...]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana">Setup Windows Server 2012 Cluster in Hyper-V</font></p>  <ul>   <li><font size="2" face="Verdana">iSCSI Target Configuration</font></li>    <li><font size="2" face="Verdana">iSCSI Initiator Configuration</font></li>    <li><font size="2" face="Verdana">Setup Windows Server 2012 Cluster</font></li> </ul>  <p><font size="2" face="Verdana">There are different types of Quorum models. Nodes and Disk Majority type will be used fir this example.</font></p>  <p><font size="2" face="Verdana"><strong>Pre-Requisites</strong></font></p>  <ul>   <li><font size="2" face="Verdana">1 Windows Server 2012 server (It will be called as DC01 in this example)</font></li>    <li><font size="2" face="Verdana">2 Windows Server 2012 servers (They will be called as Node01 and Node02 in this example)</font></li>    <li><font size="2" face="Verdana">1 Windows Server 2012&#160; server (It will be called Storage01 in this example – I also used DC01 as a Storage01 server)</font></li> </ul>  <p><font size="2" face="Verdana"><strong>Storage Configuration</strong></font></p>  <p><font size="2" face="Verdana">Step 1: Storage01 iSCSI Target Server Installation</font></p>  <ul>   <li><font size="2" face="Verdana">Open “Server Manager” and click&#160; “Dashboard”</font></li>    <li><font size="2" face="Verdana">Click “Add roles and features”</font></li>    <li><font size="2" face="Verdana">Before You Begin: Click Next</font></li>    <li><font size="2" face="Verdana">Installation Type: Select “Role-based or feature-based installation” and click Next </font></li>    <li><font size="2" face="Verdana">Server Selection: Select the server on which to install roles and features. If there are more than one servers within the “Server Pool”, select the appropriate one to enable iSCSI Target. Select Storage01 server and click Next</font></li>    <li><font size="2" face="Verdana">Server Roles: Select “File and Storage Services” and then “File and iSCSI Services” and then “File Server” and then select “iSCSI Target Server” to enable iSCSI target server role and click Next</font></li>    <li><font size="2" face="Verdana">Features: Click Next </font></li>    <li><font size="2" face="Verdana">Confirmation: Click Installation</font></li>    <li><font size="2" face="Verdana">Restart in necessary</font></li> </ul>  <p><font size="2" face="Verdana">Step2: Node01 Start “Microsoft iSCSI Initiator Service”</font></p>  <ul>   <li><font size="2" face="Verdana">Open Services console</font></li>    <li><font size="2" face="Verdana">Right click on “Microsoft iSCSI Initiator Service” and then select properties</font></li>    <li><font size="2" face="Verdana">Change “Startup type” to Automatic and then press Start button to start the service and then press OK button</font></li> </ul>  <p><font size="2" face="Verdana">Step3: Node02 Start “Microsoft iSCSI Initiator Service”</font></p>  <ul>   <li><font size="2" face="Verdana">Open Services console</font></li>    <li><font size="2" face="Verdana">Right click on “Microsoft iSCSI Initiator Service” and then select properties</font></li>    <li><font size="2" face="Verdana">Change “Startup type” to Automatic and then press Start button to start the service and then press OK button</font></li> </ul>  <p><font size="2" face="Verdana">Step 4: Storage01 iSCSI Target Server Configuration</font></p>  <ul>   <li><font size="2" face="Verdana">Open “Server Manager” and click&#160; “File and Storage Services” and then click “iSCSI”</font></li>    <li><font size="2" face="Verdana">Select “New iSCSI Virtual Disk…” within TASKS menu</font></li>    <li><font size="2" face="Verdana">iSCSI Virtual Disk Location: Select the Volume Drive to create the virtual disk. Click Next       <br />Virtual Hard Disks are created within the “C:\iSCSIVirtualDisks” folder by default. If necessary, the patch can be changed by selecting “Type a custom path” option.         <br />If there is not enough space in the selected volumes (Check the Free Space column), create a new “Hard Disk…” using the “Hyper-V” console (Actions – New – Hard Disk). </font></li>    <li><font size="2" face="Verdana">iSCSI Virtual Disk Name: Type the name of the virtual disk (LUN1.vhd) and click Next</font></li>    <li><font size="2" face="Verdana">iSCSI Virtual Disk Size: Type the size of the virtual disk (512MB for Quorum Disk) and click Next</font></li>    <li><font size="2" face="Verdana">iSCSI Target: Select “New iSCSI target” and click Next       <br />iSCSI target can have more than one virtual disks and any server can connect the “iSCSI Target” and access the Hard Disks within the iSCSI Target. If you plan to create windows cluster, you can create one iSCSI Target with a few Hard Disks and then you can set the same iSCSI Target for both nodes using the iSCSI Initiator on the nodes. It is called as shared storage. If you plan another set of Hard Disks for another server, you can create a new iSCSI Target with a few Hard Disks and that server can access the Hard Disk by connecting the new Target Server.</font></li>    <li><font size="2" face="Verdana">Target Name and Access: Type the name of the new Target Server (iscsitarget1) and click Next</font></li>    <li><font size="2" face="Verdana">Access Servers: Click Add to add an initiator(s) (Initiator is the server name which will have access to the Target Server which has the Virtual Hard Disks) and click Next       <br />If it is planned for the windows cluster, every single node name within the cluster should be added        <br />Our example is also a windows cluster so Add “Node01” and “Node02” as Initiators.        <br />When you add the initiator, you can select “Enter a value for the selected type” and then select “IQN” and then type Value. To write the correct “Value”, connect to Node01 and start the “iSCSI Initiator” and then select the “Configuration” tab and copy the “Initiator Name” and paste it within the Value field.</font></li>    <li><font size="2" face="Verdana">Enable authentication: Click Next </font></li>    <li><font size="2" face="Verdana">Confirmation: Click Create</font></li>    <li><font size="2" face="Verdana">Results: Click Close</font></li> </ul>  <p><font size="2" face="Verdana">Step 5: Node01 iSCSI Initiator Configuration</font></p>  <ul>   <li><font size="2" face="Verdana">Open iSCSI Initiator and Click “Discovery” tab</font></li>    <li><font size="2" face="Verdana">Click “Discovery Portal…” and type the IP address of the iSCSI Target server (IP Address of Storage01) and then click OK</font></li>    <li><font size="2" face="Verdana">Click “Targets” tab and Select the target within the “Discovered targets” field (iscsitarget1) and then click Connect</font></li>    <li><font size="2" face="Verdana">Keep the all default values and Click OK</font></li>    <li><font size="2" face="Verdana">Status should be “Connected”</font></li>    <li><font size="2" face="Verdana">Click OK to close the “iSCSI Initiator Properties”</font></li>    <li><font size="2" face="Verdana">Open “Server Manager” and click&#160; “File and Storage Services” and then click “Disks”</font></li>    <li><font size="2" face="Verdana">The new disk (512MB for Quorum) should be presented as Offline</font></li>    <li><font size="2" face="Verdana">Right click on the disk and select “”Bring Online” and then Click Yes to accept the message</font></li>    <li><font size="2" face="Verdana">Right click on the new disk and select “New Volume”</font></li>    <li><font size="2" face="Verdana">Before You Begin: Click Next</font></li>    <li><font size="2" face="Verdana">Server and Disk: Select the appropriate Server and Disk and then click Next and click OK to accept the message</font></li>    <li><font size="2" face="Verdana">Size: Select the appropriate size for the new disk and then click Next</font></li>    <li><font size="2" face="Verdana">Drive Letter or Folder: Select the appropriate drive letter and ten Click Next</font></li>    <li><font size="2" face="Verdana">File System Settings: Type the label of the volume (Quorum Disk)</font></li>    <li><font size="2" face="Verdana">Confirmation: Click Create</font></li>    <li><font size="2" face="Verdana">Results: Click Close</font></li> </ul>  <p><font size="2" face="Verdana">Step 6: </font><font size="2" face="Verdana">Node02 iSCSI Initiator Configuration</font></p>  <ul>   <li><font size="2" face="Verdana">Open iSCSI Initiator and Click “Discovery” tab</font></li>    <li><font size="2" face="Verdana">Click “Discovery Portal…” and type the IP address of the iSCSI Target server (IP Address of Storage01) and then click OK</font></li>    <li><font size="2" face="Verdana">Click “Targets” tab and Select the target within the “Discovered targets” field (iscsitarget1) and then click Connect</font></li>    <li><font size="2" face="Verdana">Keep the all default values and Click OK</font></li>    <li><font size="2" face="Verdana">Status should be “Connected”</font></li>    <li><font size="2" face="Verdana">Click OK to close the “iSCSI Initiator Properties”</font></li> </ul>  <ul><!--StartFragment-->   <li><font size="2" face="Verdana">Open “Server Manager” and click&#160; “File and Storage Services” and then click “Disks”</font></li>    <li><font size="2" face="Verdana">The new disk should be presented as Offline</font></li>    <li><font size="2" face="Verdana">Right click on the disk and select “”Bring Online” and then Click Yes to accept the message</font></li> <!--EndFragment--></ul>  <p><font size="2" face="Verdana">512MB Disk (Quorum) can be seen on both nodes.</font></p>  <p><font size="2" face="Verdana"><strong>Setup Windows Server 2012 Failover Cluster</strong></font></p>  <p><font size="2" face="Verdana">Step 7: Node01 Install Failover Clustering</font></p>  <ul>   <li><font size="2" face="Verdana">Open “Server Manager” and click&#160;&#160; “Dashboard”</font></li>    <li><font size="2" face="Verdana">Click “Add roles and features”</font></li>    <li><font size="2" face="Verdana">Before You Begin: Click Next</font></li>    <li><font size="2" face="Verdana">Installation Type: Select “Role-based or feature-based installation” and click Next </font></li>    <li><font size="2" face="Verdana">Server Selection: Select the server on which to install roles and features. If there are more than one servers within the “Server Pool”, select the appropriate one to enable iSCSI Target. Select Storage01 server and click Next</font></li>    <li><font size="2" face="Verdana">Server Roles: Click Next</font></li>    <li><font size="2" face="Verdana">Features: Select “Failover Clustering” Click Next </font></li>    <li><font size="2" face="Verdana">Confirmation: Click Installation</font></li>    <li><font size="2" face="Verdana">Restart in necessary</font></li> <!--EndFragment--></ul>  <p><font size="2" face="Verdana">Step 8: Node02 Install Failover Clustering</font></p>  <ul>   <li><font size="2" face="Verdana">Open “Server Manager” and click&#160; “Dashboard”</font></li>    <li><font size="2" face="Verdana">Click “Add roles and features”</font></li>    <li><font size="2" face="Verdana">Before You Begin: Click Next</font></li>    <li><font size="2" face="Verdana">Installation Type: Select “Role-based or feature-based installation” and click Next </font></li>    <li><font size="2" face="Verdana">Server Selection: Select the server on which to install roles and features. If there are more than one servers within the “Server Pool”, select the appropriate one to enable iSCSI Target. Select Storage01 server and click Next</font></li>    <li><font size="2" face="Verdana">Server Roles: Click Next</font></li>    <li><font size="2" face="Verdana">Features: Select “Failover Clustering” Click Next </font></li>    <li><font size="2" face="Verdana">Confirmation: Click Installation</font></li>    <li><font size="2" face="Verdana">Restart in necessary</font></li> </ul>  <p><font size="2" face="Verdana">Step 9: Node01 Validate and Create Windows Cluster</font></p>  <ul>   <li><font size="2" face="Verdana">Open “Failover Cluster Manager”</font></li>    <li><font size="2" face="Verdana">Click “Validate Configuration”</font></li>    <li><font size="2" face="Verdana">Before You Begin: Click Next</font></li>    <li><font size="2" face="Verdana">Select Servers or a Cluster: Add the node names (Node01 and Node02) and click Next</font></li>    <li><font size="2" face="Verdana">Testing Options: Select “Run all tests (recommended)” and click Next</font></li>    <li><font size="2" face="Verdana">Confirmation: Click Next</font></li>    <li><font size="2" face="Verdana">Validating: “Create the cluster now using the validated nodes..” is checked and click Finish</font></li>    <li><font size="2" face="Verdana">Before You Begin: Click Next</font></li>    <li><font size="2" face="Verdana">Access Point for Administering the Cluster: Type the cluster name (SQLNodeClu). Cluster Name object will be created in Active Directory. The user who creates the cluster should have permission in active directory such as create computer object. Type the IP address from the public network.</font></li>    <li><font size="2" face="Verdana">Confirmation: “Add all eligible storage to the cluster” is checked. Click Next</font></li>    <li><font size="2" face="Verdana">Creating New Cluster: Finish</font></li>    <li><font size="2" face="Verdana">Check the Quorum Setting: On the left-hand side select “Failover Cluster Manager” and windows cluster name (SQLNodeClu) and right click on the windows cluster name (SQLNodeClu) and select “More Actions” and then “Configure Cluster Quorum Settings”</font></li>    <li><font size="2" face="Verdana">Before You Begin: Click Next</font></li>    <li><font size="2" face="Verdana">Select Quorum Configuration Option: Select “Add or change the quorum witness” and then click Next</font></li>    <li><font size="2" face="Verdana">Select Quorum Witness: Select “Configure a disk witness” and then click Next</font></li>    <li><font size="2" face="Verdana">Configure Storage Witness: Check the Quorum disk. If it is not correct, select the correct disk and then click Next</font></li>    <li><font size="2" face="Verdana">Confirmation: Click Next</font></li>    <li><font size="2" face="Verdana">Summary: Finish</font></li>    <li><font size="2" face="Verdana">Check the “Current Host Server” and test the failover by selecting “Move Core Cluster Resources” option.</font></li> </ul>  <p><font size="2" face="Verdana"><strong>The Result</strong></font></p>  <p><font size="2" face="Verdana">It is ready to have one of the options below</font></p>  <ul>   <li><font size="2" face="Verdana">New SQL Server failover cluster installation       <br />Failover cluster installation requires shared storage for system databases, user databases, tempdb, backup. Check the steps between “Step 1” and “Step 6”</font></li>    <li><font size="2" face="Verdana">SQL Server 2012 AlwaysOn</font></li> </ul>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana"></font></p>  <p><font size="2" face="Verdana">&#160;</font></p>]]></content:encoded>
    </item>
    <item>
      <title>How to identify and solve the fragmentation in SQL Server?</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/how-to-identify-and-solve-the-fragmentation-in-sql-server</link>
      <pubDate>Thu, 18 Apr 2013 20:04:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/04/18/how-to-identify-and-solve-the-fragmentation-in-sql-server/</guid>
      <description><![CDATA[How does fragmentation occur in SQL Server?  If there is an index on the object, the data is ordered...]]></description>
      <content:encoded><![CDATA[<p>How does fragmentation occur in SQL Server?</p>  <p>If there is an index on the object, the data is ordered in the page using the slot array. When a new insert comes, SQL engine will search an available page to keep the data by using the index. The data should be saved in the specific page because it should be ordered. The data should be in the specific page but if there is no enough space in the page, a new page will be allocated and the original page will be split and previous, next page numbers will be updated. This process will cause fragmentation. It can be monitored using the “page split/sec” counter. </p>  <p>Another reason is because of the data type. Let’s think about that we have one table with a column which is varchar(100) data type. If 10 characters are inserted, it will allocate 10 bytes and if the page is full and if the data is updated to 20 characters it will look for 10 more bytes in the same page. But the page is full so it will place a pointer to forward the date to a new page. This process will also cause fragmentation. It can be monitored using the “forwarded records/sec” counter. </p>  <p>If the pages are fragmented, it will increase the disk search time and it will cause the performance issue. </p>  <p>How can we monitor the fragmentation and How can we fix the fragmentation issue?</p>  <p>Maintenance Plans can be used like below.</p>  <table cellspacing="0" cellpadding="2" width="400" border="0"><tbody>     <tr>       <td valign="top" width="200"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/53/19/metablogapi/8666.Fragmentation_1_5D6A63D1.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-53-19-metablogapi/8666.Fragmentation_5F00_1_5F00_5D6A63D1.jpg"><img title="Fragmentation_1" style="display: inline; background-image: none;" border="0" alt="Fragmentation_1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/53/19/metablogapi/4456.Fragmentation_1_thumb_6CBDC5E0.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-53-19-metablogapi/4456.Fragmentation_5F00_1_5F00_thumb_5F00_6CBDC5E0.jpg" width="124" height="173" /></a></td>        <td valign="top" width="200"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/53/19/metablogapi/5618.Fragmentation_2_794B72FC.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-53-19-metablogapi/5618.Fragmentation_5F00_2_5F00_794B72FC.jpg"><img title="Fragmentation_2" style="display: inline; background-image: none;" border="0" alt="Fragmentation_2" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/53/19/metablogapi/3157.Fragmentation_2_thumb_623CF1C0.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-53-19-metablogapi/3157.Fragmentation_5F00_2_5F00_thumb_5F00_623CF1C0.jpg" width="160" height="175" /></a></td>     </tr>      <tr>       <td valign="top" width="200">Create a maintenance plan</td>        <td valign="top" width="200">Maintenance Tasks</td>     </tr>   </tbody></table>  <p>If the fragmentation level is greater than 25 or 30 percent, Rebuild Index Task is recommended otherwise Reorganize Index Task can be used. But there is no any option to give the threshold in those tasks. </p>  <p>Rebuild Index Task also updates the statistics but Reorganize Index Task does not.</p>  <p>Rebuild Index Task can take longer time to be completed. There may be some big indexes on read-only tables so it is not useful to rebuild them. It will only cause longer time. How can we eliminate those indexes from the plan? The answer is custom script.</p>  <p>You can check the script below and implement it on your environment. You can make some customization on that. Please let us know if you have any improvement on that</p>  <p>&#160;</p>  <div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &quot;Courier New&quot;, verdana, monospace; font-size: 10pt; cursor: text; direction: ltr; max-height: 600px; background-color: rgb(244, 244, 244);">   <p>&#160;</p>    <pre class="code"><span style="color: green;">--part 1: create the objects 
</span><span style="color: blue;">SET NOCOUNT ON</span><span style="color: gray;">;

</span><span style="color: blue;">if </span><span style="color: gray;">not exists (</span><span style="color: blue;">select </span><span style="color: teal;">name </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">databases </span><span style="color: blue;">where </span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'SQLAdmin'</span><span style="color: gray;">)
    </span><span style="color: blue;">create database </span><span style="color: teal;">SQLAdmin
</span><span style="color: blue;">go
use </span><span style="color: teal;">SQLAdmin
</span><span style="color: blue;">go
if </span><span style="color: gray;">not exists (</span><span style="color: blue;">select </span><span style="color: teal;">name </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">objects </span><span style="color: blue;">where </span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'fragmentation_history'</span><span style="color: gray;">)
   </span><span style="color: blue;">create table </span><span style="color: teal;">fragmentation_history</span><span style="color: gray;">(
        </span><span style="color: teal;">history_id </span><span style="color: blue;">int identity</span><span style="color: gray;">(</span>1<span style="color: gray;">,</span>1<span style="color: gray;">), 
        </span><span style="color: teal;">database_id </span><span style="color: blue;">smallint </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">database_name </span><span style="color: blue;">sysname </span><span style="color: gray;">NULL,
        </span><span style="color: magenta;">schema_id </span><span style="color: blue;">int </span><span style="color: gray;">null,
        </span><span style="color: magenta;">schema_name </span><span style="color: blue;">sysname </span><span style="color: gray;">null,
        </span><span style="color: magenta;">object_id </span><span style="color: blue;">int </span><span style="color: gray;">NULL,
        </span><span style="color: magenta;">object_name </span><span style="color: blue;">sysname </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">index_id </span><span style="color: blue;">int </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">index_name </span><span style="color: blue;">sysname </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">partition_number </span><span style="color: blue;">int </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">avg_fragmentation_in_percent_before </span><span style="color: blue;">float </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">avg_fragmentation_in_percent_after </span><span style="color: blue;">float </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">alter_start </span><span style="color: blue;">datetime </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">alter_end </span><span style="color: blue;">datetime </span><span style="color: gray;">NULL,
        </span><span style="color: teal;">progress </span><span style="color: blue;">datetime </span><span style="color: gray;">NULL
    ) </span><span style="color: blue;">ON </span><span style="color: teal;">[PRIMARY]
</span><span style="color: blue;">if </span><span style="color: gray;">not exists (</span><span style="color: blue;">select </span><span style="color: teal;">name </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">objects </span><span style="color: blue;">where </span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'sql_errors'</span><span style="color: gray;">)
    </span><span style="color: blue;">create table </span><span style="color: teal;">sql_errors</span><span style="color: gray;">(
        </span><span style="color: teal;">error_id </span><span style="color: blue;">int identity</span><span style="color: gray;">(</span>1<span style="color: gray;">,</span>1<span style="color: gray;">),
        </span><span style="color: teal;">command </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>4000<span style="color: gray;">) null,
        </span><span style="color: magenta;">error_number </span><span style="color: blue;">int </span><span style="color: gray;">null,
        </span><span style="color: magenta;">error_severity </span><span style="color: blue;">smallint </span><span style="color: gray;">null,
        </span><span style="color: magenta;">error_state </span><span style="color: blue;">smallint </span><span style="color: gray;">null,
        </span><span style="color: magenta;">error_line </span><span style="color: blue;">int </span><span style="color: gray;">null,
        </span><span style="color: magenta;">error_message </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>4000<span style="color: gray;">) null,
        </span><span style="color: magenta;">error_procedure </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>200<span style="color: gray;">) null,
        </span><span style="color: teal;">time_stamp </span><span style="color: blue;">datetime </span><span style="color: gray;">null,
        </span><span style="color: blue;">primary key clustered 
        </span><span style="color: gray;">(
            </span><span style="color: teal;">error_id </span><span style="color: blue;">asc
        </span><span style="color: gray;">) </span><span style="color: blue;">ON </span><span style="color: teal;">[PRIMARY]
    </span><span style="color: gray;">) </span><span style="color: blue;">ON </span><span style="color: teal;">[PRIMARY]
</span><span style="color: blue;">GO
if </span><span style="color: gray;">exists (</span><span style="color: blue;">select </span><span style="color: teal;">name </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">objects </span><span style="color: blue;">where </span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'p_error_handling'</span><span style="color: gray;">)
    </span><span style="color: blue;">drop procedure </span><span style="color: teal;">p_error_handling
</span><span style="color: blue;">go
create procedure </span><span style="color: teal;">p_error_handling 
    @command </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>4000<span style="color: gray;">)
</span><span style="color: blue;">as
DECLARE </span><span style="color: teal;">@error_number </span><span style="color: blue;">int
DECLARE </span><span style="color: teal;">@error_severity </span><span style="color: blue;">int
DECLARE </span><span style="color: teal;">@error_state </span><span style="color: blue;">int
DECLARE </span><span style="color: teal;">@error_line </span><span style="color: blue;">int
DECLARE </span><span style="color: teal;">@error_message </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>4000<span style="color: gray;">)
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@error_procedure </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>200<span style="color: gray;">)
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@time_stamp </span><span style="color: blue;">datetime

SELECT </span><span style="color: teal;">@error_number </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">error_number</span><span style="color: gray;">(),</span>0<span style="color: gray;">),
        </span><span style="color: teal;">@error_severity </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">error_severity</span><span style="color: gray;">(),</span>0<span style="color: gray;">),
        </span><span style="color: teal;">@error_state </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">error_state</span><span style="color: gray;">(),</span>1<span style="color: gray;">),
        </span><span style="color: teal;">@error_line </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">error_line</span><span style="color: gray;">(), </span>0<span style="color: gray;">),
        </span><span style="color: teal;">@error_message </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">error_message</span><span style="color: gray;">(),</span><span style="color: red;">'NULL Message'</span><span style="color: gray;">),
        </span><span style="color: teal;">@error_procedure </span><span style="color: gray;">= </span><span style="color: magenta;">isnull</span><span style="color: gray;">(</span><span style="color: magenta;">error_procedure</span><span style="color: gray;">(),</span><span style="color: red;">''</span><span style="color: gray;">),
        </span><span style="color: teal;">@time_stamp </span><span style="color: gray;">= </span><span style="color: magenta;">GETDATE</span><span style="color: gray;">();

</span><span style="color: blue;">INSERT INTO </span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">sql_errors </span><span style="color: gray;">(</span><span style="color: teal;">command</span><span style="color: gray;">, </span><span style="color: magenta;">error_number</span><span style="color: gray;">, </span><span style="color: magenta;">error_severity</span><span style="color: gray;">, </span><span style="color: magenta;">error_state</span><span style="color: gray;">, </span><span style="color: magenta;">error_line</span><span style="color: gray;">, </span><span style="color: magenta;">error_message</span><span style="color: gray;">, </span><span style="color: magenta;">error_procedure</span><span style="color: gray;">, </span><span style="color: teal;">time_stamp</span><span style="color: gray;">)
</span><span style="color: blue;">SELECT </span><span style="color: teal;">@command</span><span style="color: gray;">, </span><span style="color: teal;">@error_number</span><span style="color: gray;">, </span><span style="color: teal;">@error_severity</span><span style="color: gray;">, </span><span style="color: teal;">@error_state</span><span style="color: gray;">, </span><span style="color: teal;">@error_line</span><span style="color: gray;">, </span><span style="color: teal;">@error_message</span><span style="color: gray;">, </span><span style="color: teal;">@error_procedure</span><span style="color: gray;">, </span><span style="color: teal;">@time_stamp

</span><span style="color: blue;">GO

</span><span style="color: green;">--part 2: Collect the fragmentation data
</span><span style="color: blue;">SET NOCOUNT ON</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@command </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>8000<span style="color: gray;">);
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@databaseid </span><span style="color: blue;">int</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@databasename </span><span style="color: blue;">sysname</span><span style="color: gray;">;

</span><span style="color: blue;">DECLARE </span><span style="color: teal;">database_list </span><span style="color: blue;">CURSOR FOR 
    SELECT </span><span style="color: teal;">database_id</span><span style="color: gray;">, </span><span style="color: teal;">name 
    </span><span style="color: blue;">FROM </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">databases 
    </span><span style="color: blue;">where </span><span style="color: teal;">database_id </span><span style="color: gray;">&gt; </span>4 <span style="color: gray;">and </span><span style="color: blue;">state </span><span style="color: gray;">not in (</span>1<span style="color: gray;">)
    </span><span style="color: blue;">order by </span><span style="color: teal;">name

</span><span style="color: green;">-- Open the cursor.
</span><span style="color: blue;">OPEN </span><span style="color: teal;">database_list

</span><span style="color: green;">-- Loop through the partitions.
</span><span style="color: blue;">FETCH NEXT FROM </span><span style="color: teal;">database_list 
   </span><span style="color: blue;">INTO </span><span style="color: teal;">@databaseid</span><span style="color: gray;">, </span><span style="color: teal;">@databasename

</span><span style="color: blue;">WHILE </span><span style="color: magenta;">@@FETCH_STATUS </span><span style="color: gray;">= </span>0
    <span style="color: blue;">BEGIN
        </span><span style="color: green;">--set @databasename = 'AdventureWorks2008'
        </span><span style="color: blue;">set </span><span style="color: teal;">@command </span><span style="color: gray;">= </span><span style="color: red;">'use [' </span><span style="color: gray;">+ </span><span style="color: teal;">@databasename </span><span style="color: gray;">+ </span><span style="color: red;">'];'
        </span><span style="color: blue;">set </span><span style="color: teal;">@command </span><span style="color: gray;">= </span><span style="color: teal;">@command </span><span style="color: gray;">+ </span><span style="color: red;">'
                                    insert into SQLAdmin.dbo.fragmentation_history (database_id, database_name, schema_id, schema_name, object_id, object_name, index_id, index_name, partition_number, avg_fragmentation_in_percent_before)
                                    SELECT     D.database_id, D.name, O.schema_id, s.name, IPS.object_id, O.name, IPS.index_id, I.name, partition_number, avg_fragmentation_in_percent
                                    FROM sys.dm_db_index_physical_stats (' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>3<span style="color: gray;">), </span><span style="color: teal;">@databaseid</span><span style="color: gray;">) + </span><span style="color: red;">', NULL, NULL , NULL, ''LIMITED'') IPS
                                    join sys.databases D on IPS.database_id=D.database_id
                                    join sys.objects O on IPS.object_id = O.object_id
                                    join sys.schemas as s ON s.schema_id = O.schema_id
                                    join sys.indexes I on IPS.object_id = I.object_id and IPS.index_id = I.index_id
                                    WHERE D.state not in (1) and avg_fragmentation_in_percent &gt; 5.0 AND IPS.index_id &gt; 0
                                    and page_count&gt;1000                                    
                                    '
        </span><span style="color: blue;">exec </span><span style="color: gray;">(</span><span style="color: teal;">@command</span><span style="color: gray;">)
        </span><span style="color: blue;">FETCH NEXT FROM </span><span style="color: teal;">database_list 
           </span><span style="color: blue;">INTO </span><span style="color: teal;">@databaseid</span><span style="color: gray;">, </span><span style="color: teal;">@databasename
    </span><span style="color: blue;">END</span><span style="color: gray;">;
</span><span style="color: green;">-- Close and deallocate the cursor.
</span><span style="color: blue;">CLOSE </span><span style="color: teal;">database_list</span><span style="color: gray;">;
</span><span style="color: blue;">DEALLOCATE </span><span style="color: teal;">database_list</span><span style="color: gray;">;

</span><span style="color: green;">--part 3: fix the fragmentation with rebuild or reorganize according to the threshold
</span><span style="color: blue;">SET NOCOUNT ON</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@historyid </span><span style="color: blue;">int</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@command </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>8000<span style="color: gray;">);
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@command1 </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>7950<span style="color: gray;">);
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@command2 </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>50<span style="color: gray;">);
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@databaseid </span><span style="color: blue;">int</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@databasename </span><span style="color: blue;">sysname</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@schemaid </span><span style="color: blue;">int</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@schemaname </span><span style="color: blue;">sysname</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@objectid </span><span style="color: blue;">int</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@objectname </span><span style="color: blue;">sysname</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@indexid </span><span style="color: blue;">int</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@indexname </span><span style="color: blue;">sysname</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@partitionnumber </span><span style="color: blue;">bigint</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@frag_before </span><span style="color: blue;">float</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@frag_after </span><span style="color: blue;">float</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@alterstart </span><span style="color: blue;">datetime</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@alterend </span><span style="color: blue;">datetime</span><span style="color: gray;">;
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">@progress </span><span style="color: blue;">datetime</span><span style="color: gray;">;

</span><span style="color: blue;">set </span><span style="color: teal;">@progress </span><span style="color: gray;">= </span><span style="color: magenta;">getdate</span><span style="color: gray;">()

</span><span style="color: blue;">DECLARE </span><span style="color: teal;">fragmentation_list </span><span style="color: blue;">CURSOR FOR 
    SELECT </span><span style="color: teal;">history_id</span><span style="color: gray;">, </span><span style="color: teal;">database_id</span><span style="color: gray;">, </span><span style="color: teal;">database_name</span><span style="color: gray;">, </span><span style="color: magenta;">schema_id</span><span style="color: gray;">, </span><span style="color: magenta;">schema_name</span><span style="color: gray;">, </span><span style="color: magenta;">object_id</span><span style="color: gray;">, </span><span style="color: magenta;">object_name</span><span style="color: gray;">, </span><span style="color: teal;">index_id</span><span style="color: gray;">, </span><span style="color: teal;">index_name</span><span style="color: gray;">, </span><span style="color: teal;">partition_number</span><span style="color: gray;">, </span><span style="color: teal;">avg_fragmentation_in_percent_before 
    </span><span style="color: blue;">FROM </span><span style="color: teal;">SQLAdmin</span><span style="color: gray;">.</span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">fragmentation_history 
    </span><span style="color: blue;">where </span><span style="color: teal;">progress </span><span style="color: gray;">is null;

</span><span style="color: green;">-- Open the cursor.
</span><span style="color: blue;">OPEN </span><span style="color: teal;">fragmentation_list</span><span style="color: gray;">;

</span><span style="color: green;">-- Loop through the partitions.
</span><span style="color: blue;">FETCH NEXT
   FROM </span><span style="color: teal;">fragmentation_list
   </span><span style="color: blue;">INTO </span><span style="color: teal;">@historyid</span><span style="color: gray;">, </span><span style="color: teal;">@databaseid</span><span style="color: gray;">, </span><span style="color: teal;">@databasename</span><span style="color: gray;">, </span><span style="color: teal;">@schemaid</span><span style="color: gray;">, </span><span style="color: teal;">@schemaname</span><span style="color: gray;">, </span><span style="color: teal;">@objectid</span><span style="color: gray;">, </span><span style="color: teal;">@objectname</span><span style="color: gray;">, </span><span style="color: teal;">@indexid</span><span style="color: gray;">, </span><span style="color: teal;">@indexname</span><span style="color: gray;">, </span><span style="color: teal;">@partitionnumber</span><span style="color: gray;">, </span><span style="color: teal;">@frag_before</span><span style="color: gray;">;

</span><span style="color: blue;">WHILE </span><span style="color: magenta;">@@FETCH_STATUS </span><span style="color: gray;">= </span>0

    <span style="color: blue;">BEGIN</span><span style="color: gray;">;

        </span><span style="color: green;">-- 25 is an arbitrary decision point at which to switch between reorganizing and rebuilding
        </span><span style="color: blue;">IF </span><span style="color: teal;">@frag_before </span><span style="color: gray;">&lt; </span>25.0
            <span style="color: blue;">BEGIN</span><span style="color: gray;">;
                </span><span style="color: blue;">set </span><span style="color: teal;">@command1 </span><span style="color: gray;">= </span><span style="color: red;">'use ' </span><span style="color: gray;">+ </span><span style="color: teal;">@databasename </span><span style="color: gray;">+ </span><span style="color: red;">';'
                </span><span style="color: blue;">set </span><span style="color: teal;">@command1 </span><span style="color: gray;">= </span><span style="color: teal;">@command1 </span><span style="color: gray;">+ </span><span style="color: red;">'
                                            DECLARE @partitioncount bigint;
                                            SELECT @partitioncount = count (*)
                                            FROM sys.partitions
                                            WHERE object_id = ' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>10<span style="color: gray;">), </span><span style="color: teal;">@objectid</span><span style="color: gray;">) + </span><span style="color: red;">' AND index_id = ' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>10<span style="color: gray;">), </span><span style="color: teal;">@indexid</span><span style="color: gray;">) + </span><span style="color: red;">';
                                            IF @partitioncount &gt; 1
                                                ALTER INDEX [' </span><span style="color: gray;">+ </span><span style="color: teal;">@indexname </span><span style="color: gray;">+ </span><span style="color: red;">'] ON ' </span><span style="color: gray;">+ </span><span style="color: teal;">@schemaname </span><span style="color: gray;">+ </span><span style="color: red;">'.[' </span><span style="color: gray;">+ </span><span style="color: teal;">@objectname </span><span style="color: gray;">+ </span><span style="color: red;">'] REORGANIZE' </span><span style="color: gray;">+ </span><span style="color: red;">' PARTITION=' </span><span style="color: gray;">+ </span><span style="color: magenta;">CONVERT </span><span style="color: gray;">(</span><span style="color: blue;">CHAR</span><span style="color: gray;">, </span><span style="color: teal;">@partitionnumber</span><span style="color: gray;">) + </span><span style="color: red;">';
                                            else
                                                ALTER INDEX [' </span><span style="color: gray;">+ </span><span style="color: teal;">@indexname </span><span style="color: gray;">+ </span><span style="color: red;">'] ON ' </span><span style="color: gray;">+ </span><span style="color: teal;">@schemaname </span><span style="color: gray;">+ </span><span style="color: red;">'.[' </span><span style="color: gray;">+ </span><span style="color: teal;">@objectname </span><span style="color: gray;">+ </span><span style="color: red;">'] REORGANIZE' </span><span style="color: gray;">+ </span><span style="color: red;">';
                                            UPDATE STATISTICS ' </span><span style="color: gray;">+ </span><span style="color: teal;">@schemaname </span><span style="color: gray;">+ </span><span style="color: red;">'.[' </span><span style="color: gray;">+ </span><span style="color: teal;">@objectname </span><span style="color: gray;">+ </span><span style="color: red;">'] [' </span><span style="color: gray;">+ </span><span style="color: teal;">@indexname </span><span style="color: gray;">+ </span><span style="color: red;">'];
                                            '
                </span><span style="color: blue;">set </span><span style="color: teal;">@command </span><span style="color: gray;">= </span><span style="color: teal;">@command1
            </span><span style="color: blue;">END</span><span style="color: gray;">;

        </span><span style="color: blue;">IF </span><span style="color: teal;">@frag_before </span><span style="color: gray;">&gt;= </span>25.0
            <span style="color: blue;">BEGIN</span><span style="color: gray;">;
                </span><span style="color: blue;">set </span><span style="color: teal;">@command1 </span><span style="color: gray;">= </span><span style="color: red;">'use ' </span><span style="color: gray;">+ </span><span style="color: teal;">@databasename </span><span style="color: gray;">+ </span><span style="color: red;">';'
                </span><span style="color: blue;">set </span><span style="color: teal;">@command1 </span><span style="color: gray;">= </span><span style="color: teal;">@command1 </span><span style="color: gray;">+ </span><span style="color: red;">'
                                            DECLARE @partitioncount bigint;
                                            SELECT @partitioncount = count (*)
                                            FROM sys.partitions
                                            WHERE object_id = ' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>10<span style="color: gray;">), </span><span style="color: teal;">@objectid</span><span style="color: gray;">) + </span><span style="color: red;">' AND index_id = ' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>10<span style="color: gray;">), </span><span style="color: teal;">@indexid</span><span style="color: gray;">) + </span><span style="color: red;">';
                                            IF @partitioncount &gt; 1
                                                ALTER INDEX [' </span><span style="color: gray;">+ </span><span style="color: teal;">@indexname </span><span style="color: gray;">+</span><span style="color: red;">'] ON ' </span><span style="color: gray;">+ </span><span style="color: teal;">@schemaname </span><span style="color: gray;">+ </span><span style="color: red;">'.[' </span><span style="color: gray;">+ </span><span style="color: teal;">@objectname </span><span style="color: gray;">+ </span><span style="color: red;">'] REBUILD' </span><span style="color: gray;">+ </span><span style="color: red;">' PARTITION=' </span><span style="color: gray;">+ </span><span style="color: magenta;">CONVERT </span><span style="color: gray;">(</span><span style="color: blue;">CHAR</span><span style="color: gray;">, </span><span style="color: teal;">@partitionnumber</span><span style="color: gray;">) + </span><span style="color: red;">'
                                            else
                                                ALTER INDEX [' </span><span style="color: gray;">+ </span><span style="color: teal;">@indexname </span><span style="color: gray;">+</span><span style="color: red;">'] ON ' </span><span style="color: gray;">+ </span><span style="color: teal;">@schemaname </span><span style="color: gray;">+ </span><span style="color: red;">'.[' </span><span style="color: gray;">+ </span><span style="color: teal;">@objectname </span><span style="color: gray;">+ </span><span style="color: red;">'] REBUILD' </span><span style="color: gray;">+ </span><span style="color: red;">'
                                            '
                </span><span style="color: blue;">set </span><span style="color: teal;">@command2 </span><span style="color: gray;">= </span><span style="color: red;">'with (online=ON)'
                </span><span style="color: blue;">set </span><span style="color: teal;">@command </span><span style="color: gray;">= </span><span style="color: teal;">@command1 </span><span style="color: gray;">+ </span><span style="color: red;">' ' </span><span style="color: gray;">+ </span><span style="color: teal;">@command2
            </span><span style="color: blue;">END</span><span style="color: gray;">;

            </span><span style="color: blue;">begin try
                    set </span><span style="color: teal;">@alterstart </span><span style="color: gray;">= </span><span style="color: magenta;">getdate</span><span style="color: gray;">() 
                    </span><span style="color: blue;">EXEC </span><span style="color: gray;">(</span><span style="color: teal;">@command</span><span style="color: gray;">);
                    </span><span style="color: blue;">set </span><span style="color: teal;">@alterend </span><span style="color: gray;">= </span><span style="color: magenta;">getdate</span><span style="color: gray;">()
    
                    </span><span style="color: blue;">select </span><span style="color: teal;">@frag_after </span><span style="color: gray;">= </span><span style="color: teal;">avg_fragmentation_in_percent  
                    </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_db_index_physical_stats</span><span style="color: gray;">(</span><span style="color: teal;">@databaseid</span><span style="color: gray;">, </span><span style="color: teal;">@objectid</span><span style="color: gray;">, </span><span style="color: teal;">@indexid</span><span style="color: gray;">, </span><span style="color: teal;">@partitionnumber</span><span style="color: gray;">,  </span><span style="color: red;">'LIMITED'</span><span style="color: gray;">)

                    </span><span style="color: magenta;">update </span><span style="color: teal;">SQLAdmin</span><span style="color: gray;">.</span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">fragmentation_history
                    </span><span style="color: blue;">set </span><span style="color: teal;">alter_start </span><span style="color: gray;">= </span><span style="color: teal;">@alterstart</span><span style="color: gray;">,
                        </span><span style="color: teal;">alter_end </span><span style="color: gray;">= </span><span style="color: teal;">@alterend</span><span style="color: gray;">,
                        </span><span style="color: teal;">avg_fragmentation_in_percent_after </span><span style="color: gray;">= </span><span style="color: teal;">@frag_after</span><span style="color: gray;">,
                        </span><span style="color: teal;">progress </span><span style="color: gray;">= </span><span style="color: teal;">@progress
                    </span><span style="color: blue;">where </span><span style="color: teal;">history_id </span><span style="color: gray;">= </span><span style="color: teal;">@historyid
            </span><span style="color: blue;">end try    
            begin catch
                    if </span><span style="color: magenta;">error_number</span><span style="color: gray;">() = </span>2275 <span style="color: gray;">or </span><span style="color: magenta;">error_number</span><span style="color: gray;">() = </span>153
                        <span style="color: blue;">begin
                            set </span><span style="color: teal;">@alterstart </span><span style="color: gray;">= </span><span style="color: magenta;">getdate</span><span style="color: gray;">() 
                            </span><span style="color: blue;">EXEC </span><span style="color: gray;">(</span><span style="color: teal;">@command1</span><span style="color: gray;">);
                            </span><span style="color: blue;">set </span><span style="color: teal;">@alterend </span><span style="color: gray;">= </span><span style="color: magenta;">getdate</span><span style="color: gray;">()
    
                            </span><span style="color: blue;">select </span><span style="color: teal;">@frag_after </span><span style="color: gray;">= </span><span style="color: teal;">avg_fragmentation_in_percent  
                            </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_db_index_physical_stats</span><span style="color: gray;">(</span><span style="color: teal;">@databaseid</span><span style="color: gray;">, </span><span style="color: teal;">@objectid</span><span style="color: gray;">, </span><span style="color: teal;">@indexid</span><span style="color: gray;">, </span><span style="color: teal;">@partitionnumber</span><span style="color: gray;">,  </span><span style="color: red;">'LIMITED'</span><span style="color: gray;">)

                            </span><span style="color: magenta;">update </span><span style="color: teal;">SQLAdmin</span><span style="color: gray;">.</span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">fragmentation_history
                            </span><span style="color: blue;">set </span><span style="color: teal;">alter_start </span><span style="color: gray;">= </span><span style="color: teal;">@alterstart</span><span style="color: gray;">,
                                </span><span style="color: teal;">alter_end </span><span style="color: gray;">= </span><span style="color: teal;">@alterend</span><span style="color: gray;">,
                                </span><span style="color: teal;">avg_fragmentation_in_percent_after </span><span style="color: gray;">= </span><span style="color: teal;">@frag_after</span><span style="color: gray;">,
                                </span><span style="color: teal;">progress </span><span style="color: gray;">= </span><span style="color: teal;">@progress
                            </span><span style="color: blue;">where </span><span style="color: teal;">history_id </span><span style="color: gray;">= </span><span style="color: teal;">@historyid
                        </span><span style="color: blue;">end
                    </span><span style="color: green;">--select @command command, @databasename database_name, @schemaname schema_name, @objectname object_name, @indexname index_name, @partitionnumber partition_number, 
                        --    error_number() error_number , ERROR_SEVERITY() error_severity, ERROR_STATE() error_state, ERROR_LINE() error_line, ERROR_MESSAGE() error_message
                    </span><span style="color: blue;">exec </span><span style="color: teal;">p_error_handling  @command
            </span><span style="color: blue;">end catch

            FETCH NEXT
               FROM </span><span style="color: teal;">fragmentation_list
               </span><span style="color: blue;">INTO </span><span style="color: teal;">@historyid</span><span style="color: gray;">, </span><span style="color: teal;">@databaseid</span><span style="color: gray;">, </span><span style="color: teal;">@databasename</span><span style="color: gray;">,  </span><span style="color: teal;">@schemaid</span><span style="color: gray;">, </span><span style="color: teal;">@schemaname</span><span style="color: gray;">, </span><span style="color: teal;">@objectid</span><span style="color: gray;">, </span><span style="color: teal;">@objectname</span><span style="color: gray;">, </span><span style="color: teal;">@indexid</span><span style="color: gray;">, </span><span style="color: teal;">@indexname</span><span style="color: gray;">, </span><span style="color: teal;">@partitionnumber</span><span style="color: gray;">, </span><span style="color: teal;">@frag_before</span><span style="color: gray;">;
    </span><span style="color: blue;">END</span><span style="color: gray;">;

</span><span style="color: green;">-- Close and deallocate the cursor.
</span><span style="color: blue;">CLOSE </span><span style="color: teal;">fragmentation_list</span><span style="color: gray;">;
</span><span style="color: blue;">DEALLOCATE </span><span style="color: teal;">fragmentation_list</span><span style="color: gray;">;

</span><span style="color: green;">--part 4: get the most expensive index maintenance by duration
</span><span style="color: blue;">select </span><span style="color: magenta;">datediff</span><span style="color: gray;">(</span><span style="color: teal;">ms</span><span style="color: gray;">, </span><span style="color: teal;">alter_start</span><span style="color: gray;">, </span><span style="color: teal;">alter_end</span><span style="color: gray;">) </span><span style="color: teal;">duration_ms</span><span style="color: gray;">, </span><span style="color: teal;">alter_start</span><span style="color: gray;">, </span><span style="color: teal;">alter_end</span><span style="color: gray;">,
</span><span style="color: teal;">database_name</span><span style="color: gray;">, </span><span style="color: magenta;">schema_name</span><span style="color: gray;">, </span><span style="color: magenta;">object_name</span><span style="color: gray;">, </span><span style="color: teal;">index_name</span><span style="color: gray;">, </span><span style="color: teal;">avg_fragmentation_in_percent_before</span><span style="color: gray;">, 
</span><span style="color: teal;">avg_fragmentation_in_percent_after </span><span style="color: blue;">from </span><span style="color: teal;">SQLAdmin</span><span style="color: gray;">.</span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">fragmentation_history
</span><span style="color: blue;">order by </span><span style="color: teal;">duration_ms </span><span style="color: blue;">desc

</span></pre>
  <a href="https://11011.net/software/vspaste"></a>

  <p>&#160;</p>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Which one is better? PERSISTED Column or XML Indexes?</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/which-one-is-better-persisted-column-or-xml-indexes</link>
      <pubDate>Thu, 21 Mar 2013 08:21:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/03/21/which-one-is-better-persisted-column-or-xml-indexes/</guid>
      <description><![CDATA[I had a chance to work on the XML area. The customer had a performance issue with some queries which...]]></description>
      <content:encoded><![CDATA[<p align="justify"><font size="2" face="Verdana">I had a chance to work on the XML area. The customer had a performance issue with some queries which were related to XML data. The customer was using a banking application called TEMENOS T24 on Microsoft SQL Server. The tables in the databases have just 2 columns RECID and XMLRECORD which has all the columns. Tables structure are like below</font></p>  <p><font size="2" face="Verdana"></font>&#160;</p>  <pre class="code"><font face="Verdana"><font size="2"><span style="color: teal;">[RECID] [varchar]</span><span style="color: gray;">(</span>128<span style="color: gray;">) NOT NULL,
</span><span style="color: teal;">[XMLRECORD] [xml] </span></font></font><span style="color: gray;"><font face="Verdana" size="2">NULL,</font>

</span></pre>

<p><font size="2" face="Verdana">I used a couple of queries to tune the performance issue</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">select </span><span style="color: teal;">wait_type</span><span style="color: gray;">, 
</span><span style="color: magenta;">coalesce </span><span style="color: gray;">(</span><span style="color: magenta;">db_name</span><span style="color: gray;">(</span><span style="color: teal;">st</span><span style="color: gray;">.</span><span style="color: blue;">dbid</span><span style="color: gray;">), </span><span style="color: magenta;">db_name</span><span style="color: gray;">(</span><span style="color: magenta;">convert </span><span style="color: gray;">(</span><span style="color: blue;">int</span><span style="color: gray;">, </span><span style="color: teal;">pa</span><span style="color: gray;">.</span><span style="color: teal;">value</span><span style="color: gray;">)), </span><span style="color: red;">'Empty'</span><span style="color: gray;">) </span><span style="color: blue;">as </span><span style="color: teal;">DBName</span><span style="color: gray;">, 
</span><span style="color: magenta;">SUBSTRING</span><span style="color: gray;">(</span><span style="color: teal;">st</span><span style="color: gray;">.</span><span style="color: blue;">text</span><span style="color: gray;">, (</span><span style="color: teal;">qs</span><span style="color: gray;">.</span><span style="color: teal;">statement_start_offset</span><span style="color: gray;">/</span>2<span style="color: gray;">)+</span>1<span style="color: gray;">, 
        ((</span><span style="color: blue;">CASE </span><span style="color: teal;">qs</span><span style="color: gray;">.</span><span style="color: teal;">statement_end_offset
          </span><span style="color: blue;">WHEN </span><span style="color: gray;">-</span>1 <span style="color: blue;">THEN </span><span style="color: magenta;">DATALENGTH</span><span style="color: gray;">(</span><span style="color: teal;">st</span><span style="color: gray;">.</span><span style="color: blue;">text</span><span style="color: gray;">)
         </span><span style="color: blue;">ELSE </span><span style="color: teal;">qs</span><span style="color: gray;">.</span><span style="color: teal;">statement_end_offset
         </span><span style="color: blue;">END </span><span style="color: gray;">- </span><span style="color: teal;">qs</span><span style="color: gray;">.</span><span style="color: teal;">statement_start_offset</span><span style="color: gray;">)/</span>2<span style="color: gray;">) + </span>1<span style="color: gray;">) </span><span style="color: blue;">AS </span><span style="color: teal;">StatementText</span><span style="color: gray;">,
</span><span style="color: teal;">st</span><span style="color: gray;">.</span><span style="color: blue;">text as </span><span style="color: teal;">ProcedureTextOrBatchText</span><span style="color: gray;">,         *
</span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_exec_requests </span><span style="color: teal;">qs
</span><span style="color: gray;">cross apply </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_exec_sql_text</span><span style="color: gray;">(</span><span style="color: blue;">sql_handle</span><span style="color: gray;">) </span><span style="color: teal;">st
</span><span style="color: gray;">cross apply </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_exec_query_plan</span><span style="color: gray;">(</span><span style="color: teal;">plan_handle</span><span style="color: gray;">) </span><span style="color: teal;">qp
</span><span style="color: gray;">cross apply </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_exec_plan_attributes</span><span style="color: gray;">(</span><span style="color: teal;">qs</span><span style="color: gray;">.</span><span style="color: teal;">plan_handle</span><span style="color: gray;">) </span><span style="color: teal;">pa
</span><span style="color: blue;">where </span><span style="color: teal;">attribute </span><span style="color: gray;">= </span><span style="color: red;">'dbid' </span><span style="color: gray;">and </span><span style="color: teal;">session_id </span><span style="color: gray;">&lt;&gt; </span></font></font><span style="color: magenta;"><font face="Verdana" size="2">@@SPID</font>
</span></pre>

<p>&#160;</p>

<p align="justify"><font size="2" face="Verdana">Most of the queries were waiting on the RESOURCE_SEMAPHORE wait type. </font></p>

<p align="justify"><font size="2" face="Verdana">RESOURCE_SEMAPHORE:</font> <font size="2" face="Verdana">Occurs when a query memory request cannot be granted immediately because of other concurrent queries. High waits and wait times can indicate excessive number of concurrent queries or excessive memory request amount.
    <br /> COMMON for DSS like workload and large queries such as hash joins; must wait for memory quota (grant) before it is executed.

    <br /></font>

  <br /><font size="2" face="Verdana">SQL Server 2005 Waits and Queues </font></p>

<p><a title="https://download.microsoft.com/download/4/7/a/47a548b9-249e-484c-abd7-29f31282b04d/Performance_Tuning_Waits_Queues.doc" href="https://download.microsoft.com/download/4/7/a/47a548b9-249e-484c-abd7-29f31282b04d/Performance_Tuning_Waits_Queues.doc"><font size="2" face="Verdana">https://download.microsoft.com/download/4/7/a/47a548b9-249e-484c-abd7-29f31282b04d/Performance_Tuning_Waits_Queues.doc</font></a></p>

<p><font size="2" face="Verdana">The queries below can be used to troubleshoot memory related issues</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">SELECT </span><span style="color: teal;">grantee_count</span><span style="color: gray;">, </span><span style="color: teal;">waiter_count
</span><span style="color: blue;">FROM </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_exec_query_resource_semaphores
</span><span style="color: blue;">where </span><span style="color: teal;">pool_id </span><span style="color: gray;">&gt; </span>1
</font></font></pre>


<p><font size="2" face="Verdana">grantee_count&#160;&#160;&#160; 4
    <br /><strong><font color="#ff0000">waiter_count&#160;&#160;&#160;&#160;&#160; 5</font></strong></font></p>

<p><font size="2" face="Verdana">It looks that there are 5 queries waiting for the memory</font></p>

<p><font size="2" face="Verdana">
    <br />Used another query like below</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">SELECT text</span><span style="color: gray;">, </span><span style="color: teal;">session_id</span><span style="color: gray;">, </span><span style="color: teal;">requested_memory_kb</span><span style="color: gray;">, </span><span style="color: teal;">granted_memory_kb</span><span style="color: gray;">, </span><span style="color: teal;">required_memory_kb 
</span><span style="color: blue;">FROM </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_exec_query_memory_grants
</span><span style="color: gray;">cross apply </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_exec_sql_text</span><span style="color: gray;">(</span><span style="color: blue;">sql_handle</span></font></font><span style="color: gray;"><font face="Verdana" size="2">)</font>
</span></pre>


<p>&#160;</p>

<table cellspacing="0" cellpadding="2" width="704" border="0"><font face="Verdana"></font><tbody><font face="Verdana"></font>

    <tr><font face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana"><strong>text</strong></font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana"><strong>session_id</strong></font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana"><strong>requested_memory_kb</strong></font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana"><strong>granted_memory_kb</strong></font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana"><strong>required_memory_kb</strong></font></td>
      <font face="Verdana"></font></tr>
    <font face="Verdana"></font>

    <tr><font face="Verdana"></font>

      <td valign="top" width="91"><font face="Verdana">a</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">175</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font size="2" face="Verdana"></font></tr>
    <font size="2" face="Verdana"></font>

    <tr><font size="2" face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana">b</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">147</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">NULL</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font size="2" face="Verdana"></font></tr>
    <font size="2" face="Verdana"></font>

    <tr><font size="2" face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana">c</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">158</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">34456</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">34456</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font size="2" face="Verdana"></font></tr>
    <font size="2" face="Verdana"></font>

    <tr><font size="2" face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana">d</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">162</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">NULL</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font size="2" face="Verdana"></font></tr>
    <font size="2" face="Verdana"></font>

    <tr><font size="2" face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana">e</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">164</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font size="2" face="Verdana"></font></tr>
    <font size="2" face="Verdana"></font>

    <tr><font size="2" face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana">f</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">160</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">NULL</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font size="2" face="Verdana"></font></tr>
    <font size="2" face="Verdana"></font>

    <tr><font size="2" face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana">g</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">174</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font size="2" face="Verdana"></font></tr>
    <font size="2" face="Verdana"></font>

    <tr><font size="2" face="Verdana"></font>

      <td valign="top" width="91"><font size="2" face="Verdana">h</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="101"><font size="2" face="Verdana">168</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="163"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="159"><font size="2" face="Verdana">12840320</font></td>
      <font size="2" face="Verdana"></font>

      <td valign="top" width="188"><font size="2" face="Verdana">512</font></td>
      <font face="Verdana"></font></tr>
    <font face="Verdana"></font></tbody><font face="Verdana"></font></table>

<p align="justify"><font size="2" face="Verdana">It looks that 3 queries (b, d, f) are waiting for the memory (granted_memory_kb is null) and those queries require 12.8GB memory. It is too much. Each of the other queries (a, c, e, g, h) has already allocated 12.8GB memory. Those queries are really expensive. 
    <br />The server has 98GB memory and max server memory has been set to 86GB memory. </font></p>

<p align="justify"><font size="2" face="Verdana">Check the queries below to double check the memory pending issue</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">select  </span><span style="color: teal;">cntr_type </span><span style="color: blue;">as </span><span style="color: teal;">[Memory Grants Outstanding]
</span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_os_performance_counters
</span><span style="color: blue;">where </span><span style="color: magenta;">object_name </span><span style="color: gray;">= </span><span style="color: red;">'SQLServer:Memory Manager'
</span><span style="color: gray;">and </span><span style="color: teal;">counter_name </span><span style="color: gray;">= </span><span style="color: red;">'Memory Grants Outstanding'

</span><span style="color: blue;">select </span><span style="color: teal;">cntr_value </span><span style="color: blue;">as </span><span style="color: teal;">[Memory Grants Pending]
</span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_os_performance_counters
</span><span style="color: blue;">where </span><span style="color: magenta;">object_name </span><span style="color: gray;">= </span><span style="color: red;">'SQLServer:Memory Manager'
</span><span style="color: gray;">and </span><span style="color: teal;">counter_name </span><span style="color: gray;">= </span><span style="color: red;">'Memory Grants Pending'
</span></font></font></pre>


<p><font size="2" face="Verdana">It look that “Memory Grants Pending” is 4.</font></p>

<p><font size="2" face="Verdana">So it is understood that the queries which are killing the memory should be improved.</font></p>

<p><font size="2" face="Verdana">Let’s work on the performance improvement of one of the queries. As you remember there is an XML data so which one is better? <strong><font color="#ff0000">To create XML indexes or PERSISTED column?</font></strong></font></p>

<p><font size="2" face="Verdana">Table design</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">CREATE TABLE </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">[XMLDEMO_XMLINDEX]</span><span style="color: gray;">(
    </span><span style="color: teal;">[RECID] [varchar]</span><span style="color: gray;">(</span>128<span style="color: gray;">) NOT NULL,
    </span><span style="color: teal;">[XMLRECORD] [xml] </span><span style="color: gray;">NULL,
 </span><span style="color: blue;">CONSTRAINT </span><span style="color: teal;">[PK_XMLDEMO] </span><span style="color: blue;">PRIMARY KEY CLUSTERED 
</span><span style="color: gray;">(
    </span><span style="color: teal;">[RECID] </span><span style="color: blue;">ASC
</span></font></font><span style="color: gray;"><font face="Verdana" size="2">)
)</font>
</span></pre>

<p><font size="2" face="Verdana">Fill the table with XML data. The below script is just an example. You generate XML data for each row and insert it to test table called XMLDEMO_XMLINDEX </font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">SELECT TOP </span>1 <span style="color: gray;">* </span><span style="color: blue;">FROM </span><span style="color: teal;">[AdventureWorksDW2012]</span><span style="color: gray;">.</span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">[FactResellerSalesPtnd]
</span><span style="color: blue;">FOR XML RAW</span><span style="color: gray;">, </span><span style="color: blue;">ELEMENTS
</span></font></font></pre>


<p><font size="2" face="Verdana">
    <br />Create a PRIMARY XML Index and SECONDARY XML PATH Index on the table and test the query and see the results</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;"><br />CREATE PRIMARY XML INDEX </span><span style="color: teal;">[IX_PRIMARY_XML] </span><span style="color: blue;">ON </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">[XMLDEMO_XMLINDEX]
</span><span style="color: gray;">(
    </span><span style="color: teal;">[XMLRECORD]
</span><span style="color: gray;">)
</span><span style="color: blue;">GO
CREATE XML INDEX </span><span style="color: teal;">[IX_SECONDARY_XML_PATH] </span><span style="color: blue;">ON </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">[XMLDEMO_XMLINDEX]
</span><span style="color: gray;">(
    </span><span style="color: teal;">[XMLRECORD]
</span><span style="color: gray;">)
</span><span style="color: blue;">USING XML INDEX </span><span style="color: teal;">[IX_PRIMARY_XML] </span><span style="color: blue;">FOR PATH 
GO
</span></font></font></pre>

<pre class="code"><font face="Verdana" size="2">Check the size of the table and index</font></pre>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: maroon;">sp_spaceused </span><span style="color: red;">'XMLDEMO_XMLINDEX'
</span></font></font></pre>

<p><font size="2" face="Verdana">rows = 616669
    <br /> reserved = 5842864 KB

    <br /> data = 1332880 KB

    <br />index_size = 4509240 KB

    <br /> unused = 744 KB</font></p>

<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">Check the query performance below (Table has Clustered Index, PRIMARY XML Index and SECONDARY XML Indexes)</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">SET STATISTICS IO ON
GO
SET STATISTICS TIME ON
GO
SELECT </span><span style="color: teal;">RECID </span><span style="color: blue;">FROM </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">[XMLDEMO_XMLINDEX] 
</span><span style="color: blue;">WHERE </span><span style="color: teal;">XMLRECORD</span><span style="color: gray;">.</span><span style="color: teal;">exist</span><span style="color: gray;">(</span><span style="color: red;">N'/row[SalesOrderNumber/text()=&quot;SO43676&quot;]'</span><span style="color: gray;">) = </span>1
</font></font></pre>


<pre class="code"><span style="color: green;"><font face="Verdana" size="2">/*
SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.

(572 row(s) affected)
Table 'XMLDEMO_XMLINDEX'. Scan count 0, <strong>logical reads 2288</strong>, physical reads 0, read-ahead reads 0, 
Table 'xml_index_nodes_1298103665_256000'. Scan count 1,<strong> logical reads 2298</strong>, physical reads 0, read-ahead reads 0, 

 SQL Server Execution Times:
   CPU time = 15 ms,  <strong>elapsed time = 18 ms</strong>.
*/
</font></span></pre>


<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">Create the similar table with the same data like below</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">CREATE TABLE </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">[XMLDEMO_PERSISTEDCOLUMN]</span><span style="color: gray;">(
    </span><span style="color: teal;">[RECID] [varchar]</span><span style="color: gray;">(</span>128<span style="color: gray;">) NOT NULL,
    </span><span style="color: teal;">[XMLRECORD] [xml] </span><span style="color: gray;">NULL,
 </span><span style="color: blue;">CONSTRAINT </span><span style="color: teal;">[PK_XMLDEMO_PERSISTEDCOLUMN] </span><span style="color: blue;">PRIMARY KEY CLUSTERED 
</span><span style="color: gray;">(
    </span><span style="color: teal;">[RECID] </span><span style="color: blue;">ASC
</span><span style="color: gray;">)
)
</span><span style="color: blue;">GO
INSERT INTO </span><span style="color: teal;">[XMLDEMO_PERSISTEDCOLUMN] </span><span style="color: gray;">(</span><span style="color: teal;">RECID</span><span style="color: gray;">, </span><span style="color: teal;">XMLRECORD</span><span style="color: gray;">)
</span><span style="color: blue;">SELECT </span><span style="color: teal;">RECID</span><span style="color: gray;">, </span><span style="color: teal;">XMLRECORD </span><span style="color: blue;">FROM </span><span style="color: teal;">[XMLDEMO_XMLINDEX]
</span><span style="color: blue;">GO
</span></font></font></pre>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: maroon;">sp_spaceused </span><span style="color: red;">'XMLDEMO_PERSISTEDCOLUMN'
</span></font></font></pre>

<p><font size="2" face="Verdana">rows = 616669
    <br /> reserved = 991944 KB

    <br /> data = 986672 KB

    <br />index_size = 5128 KB

    <br /> unused = 144 KB</font></p>

<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">Check the query performance below (Table has Clustered Index)</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">SET STATISTICS IO ON
GO
SET STATISTICS TIME ON
GO
SELECT </span><span style="color: teal;">RECID </span><span style="color: blue;">FROM </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">XMLDEMO_PERSISTEDCOLUMN 
</span><span style="color: blue;">WHERE </span><span style="color: teal;">XMLRECORD</span><span style="color: gray;">.</span><span style="color: teal;">exist</span><span style="color: gray;">(</span><span style="color: red;">N'/row[SalesOrderNumber/text()=&quot;SO43676&quot;]'</span><span style="color: gray;">) = </span>1
</font></font></pre>


<pre class="code"><span style="color: green;"><font face="Verdana" size="2">/*
SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.

(572 row(s) affected)
Table 'XMLDEMO_PERSISTEDCOLUMN'. Scan count 9, <strong>logical reads 140107</strong>, physical reads 0, read-ahead reads 0, 

 SQL Server Execution Times:
   CPU time = 55677 ms,  <strong>elapsed time = 7168 ms</strong>.
*/
</font></span></pre>


<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">Create a PERSISTED Column on the table and Proper index on the persisted column like below</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">CREATE FUNCTION </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">[udf_XMLDEMO_PERSISTEDCOLUMN_SalesOrderNumber]</span><span style="color: gray;">(</span><span style="color: teal;">@xmlrecord </span><span style="color: blue;">XML</span><span style="color: gray;">) 
</span><span style="color: blue;">RETURNS nvarchar</span><span style="color: gray;">(</span>14<span style="color: gray;">) 
</span><span style="color: blue;">WITH SCHEMABINDING 
BEGIN
RETURN </span><span style="color: teal;">@xmlrecord</span><span style="color: gray;">.</span><span style="color: teal;">value</span><span style="color: gray;">(</span><span style="color: red;">'(/row/SalesOrderNumber/text())[1]'</span><span style="color: gray;">,</span><span style="color: red;">'nvarchar(20)'</span><span style="color: gray;">)
</span><span style="color: blue;">END
GO
ALTER TABLE </span><span style="color: teal;">XMLDEMO_PERSISTEDCOLUMN
</span><span style="color: blue;">ADD </span><span style="color: teal;">SalesOrderNumber </span><span style="color: blue;">AS </span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">udf_XMLDEMO_PERSISTEDCOLUMN_SalesOrderNumber</span><span style="color: gray;">(</span><span style="color: teal;">XMLRECORD</span><span style="color: gray;">) </span><span style="color: blue;">PERSISTED
GO
CREATE INDEX </span><span style="color: teal;">[ix_XMLDEMO_PERSISTEDCOLUMN_SalesOrderNumber] </span><span style="color: blue;">ON </span><span style="color: teal;">XMLDEMO_PERSISTEDCOLUMN</span><span style="color: gray;">(</span><span style="color: teal;">SalesOrderNumber</span><span style="color: gray;">)
</span></font></font></pre>


<p><font size="2" face="Verdana"></font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: maroon;">sp_spaceused </span><span style="color: red;">'XMLDEMO_PERSISTEDCOLUMN'
</span></font></font></pre>


<p><font size="2" face="Verdana">rows = 616669
    <br /> reserved = 1011536 KB

    <br /> data = 986672 KB

    <br />index_size = 24640 KB

    <br /> unused = 224 KB</font></p>

<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">Check the query performance below (Table has Clustered Index, Persisted Column, Non-Clustered Index)</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">SET STATISTICS IO ON
GO
SET STATISTICS TIME ON
GO
SELECT </span><span style="color: teal;">RECID </span><span style="color: blue;">FROM </span><span style="color: teal;">[dbo]</span><span style="color: gray;">.</span><span style="color: teal;">XMLDEMO_PERSISTEDCOLUMN  
</span><span style="color: blue;">WHERE </span><span style="color: teal;">SalesOrderNumber </span><span style="color: gray;">= </span><span style="color: red;">'SO43676'
</span></font></font></pre>


<pre class="code"><span style="color: green;"><font face="Verdana" size="2">/*
SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.

(572 row(s) affected)
Table 'XMLDEMO_PERSISTEDCOLUMN'. Scan count 1,<strong> logical reads 6</strong>, physical reads 0, read-ahead reads 0, 

 SQL Server Execution Times:
   CPU time = 0 ms,  <strong>elapsed time = 0 ms</strong>.
*/
</font></span></pre>


<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana"><strong>Summary of this comparison</strong></font></p>

<p><font color="#ff0000" size="2" face="Verdana">Table with a PRIMARY KEY CLUSTERED</font></p>

<p><font face="Verdana"><font size="2">Table 'XMLDEMO_PERSISTEDCOLUMN'. Scan count 9, <strong>logical reads 140107</strong>, physical reads 0, read-ahead reads 0, 

      <br /> SQL Server Execution Times: <strong>Elapsed time = 7168 ms</strong></font></font></p>

<p><font size="2" face="Verdana"></font></p>

<p><font color="#ff0000" size="2" face="Verdana">Table with a PRIMARY KEY CLUSTERED and PRIMARY XML INDEX and SECONDARY XML PATH INDEX</font></p>
<font face="Verdana"><font size="2">Table 'XMLDEMO_XMLINDEX'. Scan count 0, <strong>logical reads 2288</strong>, physical reads 0, read-ahead reads 0, 

    <br />Table 'xml_index_nodes_1298103665_256000'. Scan count 1,<strong> logical reads 2298</strong>, physical reads 0, read-ahead reads 0, 

    <br />SQL Server Execution Times: <strong>Elapsed time = 18 ms</strong></font></font>

<p><font color="#ff0000" size="2" face="Verdana">Table with a PRIMARY KEY CLUSTERED and PERSISTED Column and NON-CLUSTERED Index</font></p>

<p><font face="Verdana"><font size="2">Table 'XMLDEMO_PERSISTEDCOLUMN'. Scan count 1,<strong> logical reads 6</strong>, physical reads 0, read-ahead reads 0, 

      <br /> SQL Server Execution Times: <strong>Elapsed time = 0 ms</strong></font></font></p>]]></content:encoded>
    </item>
    <item>
      <title>How to find busy tables in SQL Server?</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/how-to-find-busy-tables-in-sql-server</link>
      <pubDate>Wed, 20 Mar 2013 11:19:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/03/20/how-to-find-busy-tables-in-sql-server/</guid>
      <description><![CDATA[There is a performance issue on the system. You check the sys.dm_os_wait_stats and you see that...]]></description>
      <content:encoded><![CDATA[<p align="justify"><font size="2" face="Verdana">There is a performance issue on the system. You check the sys.dm_os_wait_stats and you see that PAGEIOLATCH wait type is at the top. You know that it is related to disk performance. It may be because of the high IO issue or disk related issue itself. You collect the performance counters “Avg. disk sec/Read” and “Avg. disk sec/Write” and they are above the average of best practice 8ms. You check the sys.dm_io_virtual_file_stats and you see the busy data files for the database. You can take some of those files to another disk drive to spread out the IO load. </font></p>  <p align="justify"><font size="2" face="Verdana">The question is “If you have a few busy tables which are in the same file group, The IO performance will be improved after moving those files to another drive?”</font></p>  <p align="justify"><font size="2" face="Verdana">The answer is No. It is recommended to keep those busy tables in separate files. How can you do that? You can create different file groups and each file group has its own files. Then you can create tables or create clustered indexes or rebuild clustered indexes on those file groups to move those busy tables to separate files. </font></p>  <p align="justify"><font size="2" face="Verdana">Another question is “How can you find the busy tables in SQL Server?”</font></p>  <p align="justify"><font size="2" face="Verdana">A DMV (dynamic management view) called sys.dm_db_index_operational_stats can be used for this purpose. </font></p>  <p align="justify"><font size="2" face="Verdana">Detailed information about this DMV can be taken from the link below</font></p>  <p align="justify"><font size="2" face="Verdana"><a title="https://msdn.microsoft.com/en-us/library/ms174281.aspx" href="https://msdn.microsoft.com/en-us/library/ms174281.aspx" target="_blank">https://msdn.microsoft.com/en-us/library/ms174281.aspx</a></font></p>  <p align="justify"><font size="2" face="Verdana">You can use the columns leaf_insert_count, leaf_update_count, leaf_delete_count, range_scan_count to get the access hit for the objects. This DMV keeps the cumulative data and returns the access method activity for each partition of a table or index in the database. So if a table has 2 indexes, the query returns 3 rows, 2 rows for indexes and 1 row for HEAP table or CLUSTERED index. You should consider the below items:</font></p>  <p align="justify"><font size="2" face="Verdana">DMVs are kept in the memory. If SQL SERVER is restarted, the history of the DMV will be lost.</font></p>  <p align="justify"><font size="2" face="Verdana">You should have a good history to talk about the access hits. You can create a job which runs everyday and get the data from DMV to static table. You can overwrite the static data. But if SQL SERVER is restarted, it shouldn’t be overwritten otherwise you can lose your static history data. If it is restarted, the data from DMV should be added to the static data.</font></p>  <p align="justify"><font size="2" face="Verdana">A good script has been created for you. You can create a job with the name “SQLAdmin_TableAccessHistory” and schedule it for every day.</font></p>  <div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &quot;Courier New&quot;, verdana, monospace; font-size: 10pt; cursor: text; direction: ltr; max-height: 600px; background-color: rgb(244, 244, 244);">   <pre class="code"><span style="color: blue;">USE master</span><span style="color: gray;">;
</span><span style="color: blue;">GO
if </span><span style="color: gray;">not exists (</span><span style="color: blue;">select </span><span style="color: teal;">name </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">databases </span><span style="color: blue;">where </span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'SQLAdmin'</span><span style="color: gray;">)
    </span><span style="color: blue;">create database </span><span style="color: teal;">SQLAdmin
</span><span style="color: blue;">go
use </span><span style="color: teal;">SQLAdmin
</span><span style="color: blue;">go
if </span><span style="color: gray;">not exists (</span><span style="color: blue;">select </span><span style="color: teal;">name </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">objects </span><span style="color: blue;">where </span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'TableAccessHistory'</span><span style="color: gray;">)
    </span><span style="color: blue;">create table </span><span style="color: teal;">TableAccessHistory </span><span style="color: gray;">(
        </span><span style="color: teal;">TableAccessHistoryID </span><span style="color: blue;">int identity </span><span style="color: gray;">(</span>1<span style="color: gray;">,</span>1<span style="color: gray;">),
        </span><span style="color: teal;">database_id </span><span style="color: blue;">int</span><span style="color: gray;">,
        </span><span style="color: teal;">database_name </span><span style="color: blue;">sysname</span><span style="color: gray;">,
        </span><span style="color: magenta;">object_id </span><span style="color: blue;">int</span><span style="color: gray;">,
        </span><span style="color: magenta;">object_name </span><span style="color: blue;">sysname</span><span style="color: gray;">,
        </span><span style="color: teal;">insert_count </span><span style="color: blue;">bigint</span><span style="color: gray;">,
        </span><span style="color: teal;">update_count </span><span style="color: blue;">bigint</span><span style="color: gray;">,
        </span><span style="color: teal;">delete_count </span><span style="color: blue;">bigint</span><span style="color: gray;">,
        </span><span style="color: teal;">select_count </span><span style="color: blue;">bigint
        constraint </span><span style="color: teal;">[PK_TableAccessHistory] </span><span style="color: blue;">primary key clustered
        </span><span style="color: gray;">(</span><span style="color: teal;">TableAccessHistoryID </span><span style="color: blue;">ASC</span><span style="color: gray;">)
    )
</span><span style="color: blue;">go
</span><span style="color: green;">--use AdventureWorks2008
--go
</span><span style="color: blue;">declare </span><span style="color: teal;">@service_start_time </span><span style="color: blue;">datetime
declare </span><span style="color: teal;">@job_last_success_time </span><span style="color: blue;">datetime </span><span style="color: green;">--it is the job scheduled to collect historic data from sys.dm_db_index_operational_stats
</span><span style="color: blue;">declare </span><span style="color: teal;">@database_id </span><span style="color: blue;">int
declare </span><span style="color: teal;">@database_name </span><span style="color: blue;">sysname
declare </span><span style="color: teal;">@sql </span><span style="color: blue;">as varchar</span><span style="color: gray;">(</span>4000<span style="color: gray;">)

</span><span style="color: green;">--test
--set @service_start_time = '2013-03-06 16:00:00'
--prod
</span><span style="color: blue;">select </span><span style="color: teal;">@service_start_time </span><span style="color: gray;">= </span><span style="color: teal;">sqlserver_start_time
</span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">dm_os_sys_info
--print @service_start_time

--test
--set @job_last_success_time = '2013-03-06 02:00:00' --last successfull time
--prod
</span><span style="color: blue;">select top </span>1 
<span style="color: teal;">@job_last_success_time </span><span style="color: gray;">= </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">datetime</span><span style="color: gray;">, </span><span style="color: magenta;">rtrim</span><span style="color: gray;">(</span><span style="color: teal;">run_date</span><span style="color: gray;">)) 
+ ((</span><span style="color: teal;">run_time</span><span style="color: gray;">/</span>10000 <span style="color: gray;">* </span>3600<span style="color: gray;">) 
+ ((</span><span style="color: teal;">run_time</span><span style="color: gray;">%</span>10000<span style="color: gray;">)/</span>100<span style="color: gray;">*</span>60<span style="color: gray;">) 
+ (</span><span style="color: teal;">run_time</span><span style="color: gray;">%</span>10000<span style="color: gray;">)%</span>100<span style="color: gray;">) / (</span>86399.9964 <span style="color: gray;">)
</span><span style="color: blue;">from </span><span style="color: teal;">msdb</span><span style="color: gray;">.</span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">sysjobhistory jh
</span><span style="color: gray;">join </span><span style="color: teal;">msdb</span><span style="color: gray;">.</span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">sysjobs j </span><span style="color: blue;">on </span><span style="color: teal;">jh</span><span style="color: gray;">.</span><span style="color: teal;">job_id </span><span style="color: gray;">= </span><span style="color: teal;">j</span><span style="color: gray;">.</span><span style="color: teal;">job_id
</span><span style="color: blue;">where </span><span style="color: teal;">j</span><span style="color: gray;">.</span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'SQLAdmin_TableAccessHistory' 
</span><span style="color: gray;">and </span><span style="color: teal;">jh</span><span style="color: gray;">.</span><span style="color: teal;">step_id </span><span style="color: gray;">= </span>0 <span style="color: gray;">and </span><span style="color: teal;">jh</span><span style="color: gray;">.</span><span style="color: teal;">run_status </span><span style="color: gray;">= </span>1
<span style="color: blue;">order by </span><span style="color: teal;">instance_id </span><span style="color: blue;">desc
</span><span style="color: green;">--print @job_last_success_time 

</span><span style="color: blue;">set </span><span style="color: teal;">@database_id </span><span style="color: gray;">= </span><span style="color: magenta;">db_id</span><span style="color: gray;">(</span><span style="color: red;">'SQLAdmin'</span><span style="color: gray;">)

</span><span style="color: blue;">declare </span><span style="color: teal;">dbname_cursor </span><span style="color: blue;">CURSOR FOR
SELECT </span><span style="color: teal;">name</span><span style="color: gray;">, </span><span style="color: teal;">database_id </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">databases 
</span><span style="color: blue;">where </span><span style="color: teal;">database_id </span><span style="color: gray;">not in (</span>1<span style="color: gray;">,</span>2<span style="color: gray;">,</span>3<span style="color: gray;">,</span>4<span style="color: gray;">, </span><span style="color: teal;">@database_id</span><span style="color: gray;">) and </span><span style="color: blue;">state</span><span style="color: gray;">=</span>0

<span style="color: blue;">OPEN </span><span style="color: teal;">dbname_cursor

</span><span style="color: blue;">FETCH NEXT FROM </span><span style="color: teal;">dbname_cursor
</span><span style="color: blue;">INTO </span><span style="color: teal;">@database_name</span><span style="color: gray;">, </span><span style="color: teal;">@database_id

</span><span style="color: blue;">WHILE </span><span style="color: magenta;">@@FETCH_STATUS </span><span style="color: gray;">= </span>0
<span style="color: blue;">BEGIN
    
    set </span><span style="color: teal;">@sql </span><span style="color: gray;">= </span><span style="color: red;">'
        set nocount on
        declare @object_id int
        declare @object_name sysname
        declare @insert_count bigint
        declare @update_count bigint
        declare @delete_count bigint
        declare @select_count bigint

        declare TableAccessHistory_cursor CURSOR FOR
        SELECT ios.object_id, object_name(ios.object_id, ios.database_id) object_name, 
        leaf_insert_count insert_count, 
        leaf_update_count update_count, 
        leaf_delete_count delete_count, 
        range_scan_count select_count
        FROM  sys.dm_db_index_operational_stats (' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>5<span style="color: gray;">),</span><span style="color: teal;">@database_id</span><span style="color: gray;">) + </span><span style="color: red;">', NULL, NULL, NULL) ios
        join  [' </span><span style="color: gray;">+ </span><span style="color: teal;">@database_name  </span><span style="color: gray;">+ </span><span style="color: red;">'].sys.objects o on ios.object_id = o.object_id
        where ios.index_id in (0, 1)
        and o.type = ''U'' and o.is_ms_shipped = 0
        
        OPEN TableAccessHistory_cursor

        FETCH NEXT FROM TableAccessHistory_cursor
        INTO @object_id, @object_name, @insert_count, @update_count, @delete_count, @select_count

        WHILE @@FETCH_STATUS = 0
        BEGIN
            if exists (select TableAccessHistoryID from TableAccessHistory
                        where database_id = ' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>5<span style="color: gray;">),</span><span style="color: teal;">@database_id</span><span style="color: gray;">) + </span><span style="color: red;">' and object_id = @object_id) 
                begin
                    if convert(datetime,''' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>30<span style="color: gray;">), </span><span style="color: teal;">@service_start_time</span><span style="color: gray;">) + </span><span style="color: red;">''') &lt; convert(datetime, ''' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>30<span style="color: gray;">), </span><span style="color: teal;">@job_last_success_time</span><span style="color: gray;">) + </span><span style="color: red;">''')
                        begin
                            --print ''1''
                            update TableAccessHistory
                            set insert_count = @insert_count,
                            update_count = @update_count,
                            delete_count = @delete_count,
                            select_count = @select_count
                            where database_id = ' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>5<span style="color: gray;">),</span><span style="color: teal;">@database_id</span><span style="color: gray;">) + </span><span style="color: red;">' and object_id = @object_id
                        end
                    else
                        begin
                            --print ''2''
                            update TableAccessHistory
                            set insert_count = insert_count + @insert_count,
                            update_count = update_count + @update_count,
                            delete_count = delete_count + @delete_count,
                            select_count = select_count + @select_count
                            where database_id = ' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>5<span style="color: gray;">),</span><span style="color: teal;">@database_id</span><span style="color: gray;">) + </span><span style="color: red;">' and object_id = @object_id
                        end
                end
            else
                    insert into TableAccessHistory values
                    (' </span><span style="color: gray;">+ </span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>5<span style="color: gray;">),</span><span style="color: teal;">@database_id</span><span style="color: gray;">) + </span><span style="color: red;">', ''' </span><span style="color: gray;">+ </span><span style="color: teal;">@database_name </span><span style="color: gray;">+ </span><span style="color: red;">''', @object_id, @object_name, 
                     @insert_count, @update_count, @delete_count, @select_count)


           FETCH NEXT FROM TableAccessHistory_cursor
           INTO @object_id, @object_name, @insert_count, @update_count, @delete_count, @select_count
        END

        CLOSE TableAccessHistory_cursor
        DEALLOCATE TableAccessHistory_cursor
        '
    </span><span style="color: green;">--print @sql
    </span><span style="color: blue;">exec </span><span style="color: gray;">(</span><span style="color: teal;">@sql</span><span style="color: gray;">)

    </span><span style="color: blue;">FETCH NEXT FROM </span><span style="color: teal;">dbname_cursor
    </span><span style="color: blue;">INTO </span><span style="color: teal;">@database_name</span><span style="color: gray;">, </span><span style="color: teal;">@database_id
</span><span style="color: blue;">END

CLOSE </span><span style="color: teal;">dbname_cursor
</span><span style="color: blue;">DEALLOCATE </span><span style="color: teal;">dbname_cursor
</span></pre>
</div>

<p>
  <br /><font size="2" face="Verdana"><strong>Result</strong></font></p>

<p>
  <br /><font size="2" face="Verdana"><strong></strong>You can identify the busy tables using the script below</font></p>

<pre class="code"><font face="Verdana"><font size="2"><span style="color: blue;">select </span><span style="color: teal;">database_name</span><span style="color: gray;">, </span><span style="color: magenta;">object_name</span><span style="color: gray;">, 
</span><span style="color: magenta;">sum</span><span style="color: gray;">(</span><span style="color: teal;">insert_count</span><span style="color: gray;">+ </span><span style="color: teal;">update_count</span><span style="color: gray;">+</span><span style="color: teal;">delete_count</span><span style="color: gray;">+</span><span style="color: teal;">select_count</span><span style="color: gray;">) </span><span style="color: blue;">as </span><span style="color: teal;">access_hit
</span><span style="color: blue;">from </span><span style="color: teal;">SQLAdmin</span><span style="color: gray;">.</span><span style="color: teal;">dbo</span><span style="color: gray;">.</span><span style="color: teal;">TableAccessHistory
</span><span style="color: blue;">group by </span><span style="color: teal;">database_name</span><span style="color: gray;">, </span><span style="color: magenta;">object_name
</span><span style="color: blue;">order by </span><span style="color: teal;">database_name </span><span style="color: blue;">asc</span><span style="color: gray;">, </span><span style="color: teal;">access_hit </span></font></font><span style="color: blue;"><font face="Verdana" size="2">desc</font>
</span></pre>


<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">After identifying those busy tables </font></p>

<p><font size="2" face="Verdana">If there is no clustered index on the table, create a clustered index on different File Group which has different files</font></p>

<p><font size="2" face="Verdana">If there is a clustered index on the table, REBUILD index on <font size="2" face="Verdana">different File Group which has different files</font></font></p>

<p><font size="2" face="Verdana">And monitor the performance</font></p>]]></content:encoded>
    </item>
    <item>
      <title>Guest user account in SQL Server</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/guest-user-account-in-sql-server</link>
      <pubDate>Sat, 02 Mar 2013 22:02:42 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/03/02/guest-user-account-in-sql-server/</guid>
      <description><![CDATA[It is recommended to disable guest user in every database as a best practice for securing the SQL...]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="Verdana">It is recommended to disable guest user in every database as a best practice for securing the SQL Server. Guest user permits access to a database for any logins that are not mapped to a specific database user. The guest user cannot be dropped but it can be disabled by revoking the CONNECT permission. The recommendation is not valid for master, msdb and tempdb system databases. If Guest user is disabled in msdb system database, it may cause some issues. Distribution database is also system database and more information about the Guest User in distribution database can be found below.</font></p>  <p><font size="2" face="Verdana"><strong>How to revoke CONNECT permission from the Guest user in a database</strong></font></p>  <pre class="code"><span style="color: blue;">use </span><span style="color: teal;">[AdventureWorks2008]
</span><span style="color: blue;">go
REVOKE CONNECT FROM </span><span style="color: teal;">GUEST

</span></pre>

<p><font size="2" face="Verdana"><strong>How to grant CONNECT permission to the Guest user in a database</strong></font></p>

<pre class="code"><span style="color: blue;">use </span><span style="color: teal;">[AdventureWorks2008]
</span><span style="color: blue;">go
GRANT CONNECT TO </span><span style="color: teal;">GUEST
</span></pre>

<pre class="code"><font face="Verdana" size="2"><strong>Replication Agent Security Model</strong></font></pre>

<pre class="code"><font face="Verdana" size="2"><a title="https://msdn.microsoft.com/en-us/library/ms151868.aspx" href="https://msdn.microsoft.com/en-us/library/ms151868.aspx">https://msdn.microsoft.com/en-us/library/ms151868.aspx</a></font></pre>

<p><font size="2" face="Verdana"><em>Merge Agent for a pull subscription</em></font></p>

<p><font size="2" face="Verdana">The Windows account under which the agent runs is used when it makes connections to the Subscriber. This account must at minimum be a member of the <strong>db_owner</strong> fixed database role in the subscription database.</font></p>
<font size="2" face="Verdana"></font>

<p><font size="2" face="Verdana">The account that is used to connect to the Publisher and Distributor must:</font></p>

<ul>
  <li><font size="2" face="Verdana">Be a member of the PAL.</font></li>

  <li><font size="2" face="Verdana">Be a login associated with a user in the publication database.</font></li>

  <li><font size="2" face="Verdana">Be a login associated with a user in the distribution database. <font color="#ff0000">The user can be the Guest user</font>.</font></li>

  <li><font size="2" face="Verdana">Have read permissions on the snapshot share.</font></li>
</ul>

<p><font size="2" face="Verdana"></font></p>

<p><font size="2" face="Verdana">The script below can be used to identify the Guest Users in all databases</font></p>

<pre class="code"><span style="color: green;">--guest users
</span><span style="color: blue;">USE master</span><span style="color: gray;">;
</span><span style="color: blue;">GO
if </span><span style="color: gray;">not exists (</span><span style="color: blue;">select </span><span style="color: teal;">name </span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">databases </span><span style="color: blue;">where </span><span style="color: teal;">name </span><span style="color: gray;">= </span><span style="color: red;">'SQLAdmin'</span><span style="color: gray;">)
    </span><span style="color: blue;">create database </span><span style="color: teal;">SQLAdmin
</span><span style="color: blue;">go
declare </span><span style="color: teal;">@name </span><span style="color: blue;">sysname 
declare </span><span style="color: teal;">@cmd </span><span style="color: blue;">varchar</span><span style="color: gray;">(</span>4000<span style="color: gray;">)
</span><span style="color: blue;">DECLARE </span><span style="color: teal;">databases_cursor </span><span style="color: blue;">CURSOR FOR
SELECT </span><span style="color: teal;">name </span><span style="color: blue;">FROM </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">databases </span><span style="color: blue;">where state </span><span style="color: gray;">in (</span>0<span style="color: gray;">)
</span><span style="color: blue;">order by </span><span style="color: teal;">name

</span><span style="color: blue;">create table </span><span style="color: teal;">#guest_users </span><span style="color: gray;">(
    </span><span style="color: teal;">database_name </span><span style="color: blue;">sysname</span><span style="color: gray;">, </span><span style="color: teal;">principal_name </span><span style="color: blue;">sysname</span><span style="color: gray;">, </span><span style="color: magenta;">permission_name </span><span style="color: blue;">nvarchar</span><span style="color: gray;">(</span>128<span style="color: gray;">), </span><span style="color: teal;">state_desc </span><span style="color: blue;">nvarchar</span><span style="color: gray;">(</span>6<span style="color: gray;">)
)

</span><span style="color: blue;">OPEN </span><span style="color: teal;">databases_cursor</span><span style="color: gray;">;

</span><span style="color: blue;">FETCH NEXT FROM </span><span style="color: teal;">databases_cursor </span><span style="color: blue;">into </span><span style="color: teal;">@name</span><span style="color: gray;">;

</span><span style="color: blue;">WHILE </span><span style="color: magenta;">@@FETCH_STATUS </span><span style="color: gray;">= </span>0
<span style="color: blue;">BEGIN
set </span><span style="color: teal;">@cmd </span><span style="color: gray;">= </span><span style="color: red;">'use ' </span><span style="color: gray;">+ </span><span style="color: teal;">@name </span><span style="color: gray;">+ </span><span style="color: red;">'; 
insert into #guest_users
SELECT ''' </span><span style="color: gray;">+ </span><span style="color: teal;">@name </span><span style="color: gray;">+ </span><span style="color: red;">''' as database_name, name, permission_name, state_desc
 FROM sys.database_principals dpr
 INNER JOIN sys.database_permissions dpe
 ON dpr.principal_id = dpe.grantee_principal_id
 WHERE name = ''guest'' AND permission_name = ''CONNECT''
' 
</span><span style="color: blue;">exec </span><span style="color: gray;">(</span><span style="color: teal;">@cmd</span><span style="color: gray;">)
   </span><span style="color: blue;">FETCH NEXT FROM </span><span style="color: teal;">databases_cursor </span><span style="color: blue;">into </span><span style="color: teal;">@name</span><span style="color: gray;">;
</span><span style="color: blue;">END

select </span><span style="color: gray;">* </span><span style="color: blue;">from </span><span style="color: teal;">#guest_users </span><span style="color: blue;">order by </span><span style="color: teal;">database_name </span><span style="color: blue;">asc

drop table </span><span style="color: teal;">#guest_users

</span><span style="color: blue;">CLOSE </span><span style="color: teal;">databases_cursor</span><span style="color: gray;">;
</span><span style="color: blue;">DEALLOCATE </span><span style="color: teal;">databases_cursor</span><span style="color: gray;">;
</span><span style="color: blue;">GO
</span></pre>]]></content:encoded>
    </item>
    <item>
      <title>Autogrowth option for SQL Server database files</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/autogrowth-option-for-sql-server-database-files</link>
      <pubDate>Sat, 02 Mar 2013 01:25:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/03/02/autogrowth-option-for-sql-server-database-files/</guid>
      <description><![CDATA[It is not recommended to keep “In Percent” File Growth option for database files. If “In Percent”...]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="Verdana">It is not recommended to keep “In Percent” File Growth option for database files. If “In Percent” option is used for any database file and if the file size is very big, it may cause performance degradation during the file growth phase. It may not be a very big problem if “Instant File Initialization” is used but “Instant File Initialization” is only used for data files not log files. So it is always better to use “In Megabytes” option for File Growth. </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/53/19/metablogapi/4150.image_4E4415B8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-53-19-metablogapi/4150.image_5F00_4E4415B8.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/53/19/metablogapi/2860.image_thumb_137C6CE2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-53-19-metablogapi/2860.image_5F00_thumb_5F00_137C6CE2.png" width="244" height="193" /></a></p>  <p><font size="2" face="Verdana">It is recommended to keep 1024MB for data files and 256MB for log files. Log files are really important because when the transaction occurs, it is written to memory and log files first. Log files are very important because of point-in-time recovery and there shouldn’t be any latency on the log file.</font></p>  <p><font size="2" face="Verdana"> The query below can be used to check the next auto growth size for each data and log files. And if is_percent_growth column equals to “Yes”, File Growth option can be selected as “In Megabytes”</font></p>  <pre class="code"><span style="color: green;">--auto growth percentage for data and log files
</span><span style="color: blue;">select </span><span style="color: magenta;">DB_NAME</span><span style="color: gray;">(</span><span style="color: teal;">files</span><span style="color: gray;">.</span><span style="color: teal;">database_id</span><span style="color: gray;">) </span><span style="color: teal;">database_name</span><span style="color: gray;">, </span><span style="color: teal;">files</span><span style="color: gray;">.</span><span style="color: teal;">name logical_name</span><span style="color: gray;">, 
</span><span style="color: magenta;">CONVERT </span><span style="color: gray;">(</span><span style="color: blue;">numeric </span><span style="color: gray;">(</span>15<span style="color: gray;">,</span>2<span style="color: gray;">) , (</span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">numeric</span><span style="color: gray;">, </span><span style="color: teal;">size</span><span style="color: gray;">) * </span>8192<span style="color: gray;">)/</span>1048576<span style="color: gray;">) </span><span style="color: teal;">[file_size (MB)]</span><span style="color: gray;">,
</span><span style="color: teal;">[next_auto_growth_size (MB)] </span><span style="color: gray;">= </span><span style="color: blue;">case </span><span style="color: teal;">is_percent_growth
    </span><span style="color: blue;">when </span>1 <span style="color: blue;">then </span><span style="color: magenta;">CONVERT</span><span style="color: gray;">(</span><span style="color: blue;">numeric</span><span style="color: gray;">(</span>18<span style="color: gray;">,</span>2<span style="color: gray;">), (((</span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">numeric</span><span style="color: gray;">, </span><span style="color: teal;">size</span><span style="color: gray;">)*</span><span style="color: teal;">growth</span><span style="color: gray;">)/</span>100<span style="color: gray;">)*</span>8<span style="color: gray;">)/</span>1024<span style="color: gray;">)
    </span><span style="color: blue;">when </span>0 <span style="color: blue;">then </span><span style="color: magenta;">CONVERT</span><span style="color: gray;">(</span><span style="color: blue;">numeric</span><span style="color: gray;">(</span>18<span style="color: gray;">,</span>2<span style="color: gray;">), (</span><span style="color: magenta;">convert</span><span style="color: gray;">(</span><span style="color: blue;">numeric</span><span style="color: gray;">, </span><span style="color: teal;">growth</span><span style="color: gray;">)*</span>8<span style="color: gray;">)/</span>1024<span style="color: gray;">)
</span><span style="color: blue;">end</span><span style="color: gray;">,
</span><span style="color: teal;">is_read_only </span><span style="color: gray;">= </span><span style="color: blue;">case </span><span style="color: teal;">is_read_only 
    </span><span style="color: blue;">when </span>1 <span style="color: blue;">then </span><span style="color: red;">'Yes'
    </span><span style="color: blue;">when </span>0 <span style="color: blue;">then </span><span style="color: red;">'No'
</span><span style="color: blue;">end</span><span style="color: gray;">,    
</span><span style="color: teal;">is_percent_growth </span><span style="color: gray;">= </span><span style="color: blue;">case </span><span style="color: teal;">is_percent_growth 
    </span><span style="color: blue;">when </span>1 <span style="color: blue;">then </span><span style="color: red;">'Yes'
    </span><span style="color: blue;">when </span>0 <span style="color: blue;">then </span><span style="color: red;">'No'
</span><span style="color: blue;">end</span><span style="color: gray;">, 
</span><span style="color: teal;">physical_name
</span><span style="color: blue;">from </span><span style="color: green;">sys</span><span style="color: gray;">.</span><span style="color: green;">master_files </span><span style="color: teal;">files
</span><span style="color: blue;">where </span><span style="color: teal;">files</span><span style="color: gray;">.</span><span style="color: blue;">type </span><span style="color: gray;">in (</span>0<span style="color: gray;">,</span>1<span style="color: gray;">)
and </span><span style="color: teal;">files</span><span style="color: gray;">.</span><span style="color: teal;">growth </span><span style="color: gray;">!= </span>0

</pre>]]></content:encoded>
    </item>
    <item>
      <title>SQL Server Builds</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/sql-server-builds</link>
      <pubDate>Fri, 01 Mar 2013 23:54:56 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/03/01/sql-server-builds/</guid>
      <description><![CDATA[How to identify SQL Server version  Open SQL Server Management Studio and run of the following...]]></description>
      <content:encoded><![CDATA[<p><font color="#ff0000" size="2" face="Verdana"><strong>How to identify SQL Server version</strong></font></p>  <p><font size="2" face="Verdana">Open SQL Server Management Studio and run of the following queries.</font></p> <font size="2" face="Verdana"></font>  <p><font size="2" face="Verdana">First Query:</font></p> <font size="2" face="Verdana"></font>  <p><font face="Verdana"><font size="2"><span style="color: blue;">SELECT </span><span style="color: magenta;">SERVERPROPERTY</span><span style="color: gray;">(</span><span style="color: red;">'productversion'</span></font></font><font face="Verdana"><font size="2"><span style="color: gray;">),          <br />&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color: magenta;">SERVERPROPERTY</span><span style="color: gray;">(</span><span style="color: red;">'productlevel'</span></font></font><font face="Verdana"><font size="2"><span style="color: gray;">),          <br />&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color: magenta;">SERVERPROPERTY</span><span style="color: gray;">(</span><span style="color: red;">'edition'</span><span style="color: gray;">)</span></font></font></p> <font size="2" face="Verdana"></font>  <p><font face="Verdana"><font size="2">Second Query:        <br />        <br /><span style="color: blue;">SELECT </span><span style="color: magenta;">@@VERSION</span></font></font></p> <font size="2" face="Verdana"></font>  <p><font size="2" face="Verdana">To view all versions click the link [more]</font></p>  <p><font color="#ff0000" size="2" face="Verdana"><strong>Builds SQL Server 2012</strong></font></p> <font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font><font size="2" face="Verdana"></font>  <table cellspacing="0" cellpadding="2" width="568" border="0"><tbody>     <tr>       <td valign="top" width="155"><font size="2" face="Verdana"><strong>SQL Server Version</strong></font></td>        <td valign="top" width="102"><font size="2" face="Verdana"><strong>Builds</strong></font></td>        <td valign="top" width="170"><font size="2" face="Verdana"><strong>Released On</strong></font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><strong>Download</strong></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.2100.60</font></td>        <td valign="top" width="170"><font size="2" face="Verdana"></font></td>        <td valign="top" width="139"><font size="2" face="Verdana"></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.2316.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">April 12, 2012</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2679368" target="_blank">KB2679368</a></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.2325.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">June 18, 2012</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2703275" target="_blank">KB2703275</a></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.2332.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">August 31, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2723749" target="_blank"><font size="2" face="Verdana">KB2723749</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.2383.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">October 15, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2758687" target="_blank"><font size="2" face="Verdana">KB2758687</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.2395.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">Dec 17, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2777772" target="_blank"><font size="2" face="Verdana">KB2777772</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.2401.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">February 18, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2728897" target="_blank"><font size="2" face="Verdana">KB2728897</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.3000</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 9, 2012</font></td>        <td valign="top" width="139"><a href="https://www.microsoft.com/en-gb/download/details.aspx?id=35575" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.3321.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 20, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2765331" target="_blank"><font size="2" face="Verdana">KB2765331</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">11.0.3339.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 21, 2013</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2790947" target="_blank"><font size="2" face="Verdana">KB2790947</font></a></td>     </tr>   </tbody></table>  <p><font color="#ff0000" size="2" face="Verdana"><strong></strong></font></p>  <p><font color="#ff0000" size="2" face="Verdana"><strong>Builds SQL Server 2008 R2</strong></font></p>  <table cellspacing="0" cellpadding="2" width="568" border="0"><tbody>     <tr>       <td valign="top" width="155"><font size="2" face="Verdana"><strong>SQL Server Version</strong></font></td>        <td valign="top" width="102"><font size="2" face="Verdana"><strong>Builds</strong></font></td>        <td valign="top" width="170"><font size="2" face="Verdana"><strong>Released On</strong></font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><strong>Download</strong></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1600.1</font></td>        <td valign="top" width="170"><font size="2" face="Verdana"></font></td>        <td valign="top" width="139"><font size="2" face="Verdana"></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1702.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 17, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/981355/" target="_blank"><font size="2" face="Verdana">KB981355</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1720.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">June 21, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2072493/" target="_blank"><font size="2" face="Verdana">KB2072493</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1734.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">August 16, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2261464/" target="_blank"><font size="2" face="Verdana">KB2261464</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1746.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">October 18, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2345451/" target="_blank"><font size="2" face="Verdana">KB2345451</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1753.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">December 20, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2438347/" target="_blank"><font size="2" face="Verdana">KB2438347</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1765.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">February 21, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2489376/" target="_blank"><font size="2" face="Verdana">KB2489376</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1777.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">April 18, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2507770" target="_blank"><font size="2" face="Verdana">KB2507770</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1797.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">June 20, 2011</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2534352/" target="_blank">KB2534352</a></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1804.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">Aug 15, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2567713" target="_blank"><font size="2" face="Verdana">KB2567713</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU10</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1807.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">Oct 17, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2591746" target="_blank"><font size="2" face="Verdana">KB2591746</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU11</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1809.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">December 19, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2633145" target="_blank"><font size="2" face="Verdana">KB2633145</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU12</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1810.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">February 20, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2659692" target="_blank"><font size="2" face="Verdana">KB2659692</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU13</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1815.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">April 16, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2679366" target="_blank"><font size="2" face="Verdana">KB2679366</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">RTM + CU14</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.1817.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">June 18, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2703280" target="_blank"><font size="2" face="Verdana">KB2703280</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2500.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 12, 2011</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=26727" target="_blank">Download</a></font></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2769.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">June 20, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2544793/" target="_blank"><font size="2" face="Verdana">KB2544793</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2772.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">August 15, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2567714" target="_blank"><font size="2" face="Verdana">KB2567714</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2789.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">October 17, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2591748" target="_blank"><font size="2" face="Verdana">KB2591748</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2796.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">December 19, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2633146" target="_blank"><font size="2" face="Verdana">KB2633146</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2806.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">February 20, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2659694" target="_blank"><font size="2" face="Verdana">KB2659694</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2811.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">April 16, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2679367" target="_blank"><font size="2" face="Verdana">KB2679367</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2817.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">June 18, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2703282" target="_blank"><font size="2" face="Verdana">KB2703282</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2822.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">August 31, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2723743" target="_blank"><font size="2" face="Verdana">KB2723743</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2866.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">October 15, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2756574" target="_blank"><font size="2" face="Verdana">KB2756574</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU10</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2868.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">Dec 17, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2783135" target="_blank"><font size="2" face="Verdana">KB2783135</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP1 + CU11</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.2869.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">February 18, 2013</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2812683" target="_blank"><font size="2" face="Verdana">KB2812683</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.4000.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 26, 2012</font></td>        <td valign="top" width="139"><a href="https://www.microsoft.com/en-gb/download/details.aspx?id=30437" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP2 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.4260.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 24, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2720425" target="_blank"><font size="2" face="Verdana">KB2720425</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP2 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.4263.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">August 31, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2740411" target="_blank"><font size="2" face="Verdana">KB2740411</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP2 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.4266.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">October 15, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2754552" target="_blank"><font size="2" face="Verdana">KB2754552</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP2 + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.4270.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">Dec 17, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2777358" target="_blank"><font size="2" face="Verdana">KB2777358</font></a></td>     </tr>      <tr>       <td valign="top" width="155"><font size="2" face="Verdana">SP2 + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.50.4276.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">February 18, 2013</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2797460" target="_blank"><font size="2" face="Verdana">KB2797460</font></a></td>     </tr>   </tbody></table>  <p><font size="2" face="Verdana"></font></p>  <p><font color="#ff0000" size="2" face="Verdana"><strong>Builds SQL Server 2008</strong></font></p>  <table cellspacing="0" cellpadding="2" width="569" border="0"><tbody>     <tr>       <td valign="top" width="156"><font size="2" face="Verdana"><strong>SQL Server Version</strong></font></td>        <td valign="top" width="102"><font size="2" face="Verdana"><strong>Builds</strong></font></td>        <td valign="top" width="170"><font size="2" face="Verdana"><strong>Released On</strong></font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><strong>Download</strong></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1600.22</font></td>        <td valign="top" width="170"><font size="2" face="Verdana"></font></td>        <td valign="top" width="139"><font size="2" face="Verdana"></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1763</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 22, 2008</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/956717/" target="_blank"><font size="2" face="Verdana">KB956717</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1779</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 17, 2008</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/958186/" target="_blank"><font size="2" face="Verdana">KB958186</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1787</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 19, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/960484/" target="_blank"><font size="2" face="Verdana">KB960484</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1798</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">March 16, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/963036/" target="_blank"><font size="2" face="Verdana">KB963036</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1806</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 18, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/969531/" target="_blank"><font size="2" face="Verdana">KB969531</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1812</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 20, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/971490/" target="_blank"><font size="2" face="Verdana">KB971490</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1818</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 21, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/973601/" target="_blank"><font size="2" face="Verdana">KB973601</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1823</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 16, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/975976/" target="_blank"><font size="2" face="Verdana">KB975976</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1828</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 18, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/977444/" target="_blank"><font size="2" face="Verdana">KB977444</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM + CU10</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.1835</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">March 15, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/979064/" target="_blank"><font size="2" face="Verdana">KB979064</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2531</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">April 7, 2009</font></td>        <td valign="top" width="139"><a href="https://www.microsoft.com/downloads/en/details.aspx?FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19&amp;displaylang=en" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2710</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">April 15, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/969099/" target="_blank"><font size="2" face="Verdana">KB969099</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2714</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 19, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/970315/" target="_blank"><font size="2" face="Verdana">KB970315</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2723</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 20, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/971491/" target="_blank"><font size="2" face="Verdana">KB971491</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2734</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 21, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/973602/" target="_blank"><font size="2" face="Verdana">KB973602</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2746</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 16, 2009</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/975977/" target="_blank"><font size="2" face="Verdana">KB975977</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2757</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 18, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/977443/" target="_blank"><font size="2" face="Verdana">KB977443</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2766</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">March 15, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/979065/" target="_blank"><font size="2" face="Verdana">KB979065</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2775</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 17, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/981702/" target="_blank"><font size="2" face="Verdana">KB981702</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2789</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 19, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2083921/" target="_blank"><font size="2" face="Verdana">KB2083921</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU10</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2799</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 21, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2279604/" target="_blank"><font size="2" face="Verdana">KB2279604</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU11</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2804</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 15, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2413738/" target="_blank"><font size="2" face="Verdana">KB2413738</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU12</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2808</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 17, 2011</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2467236/" target="_blank">KB2467236</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU13</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2816.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">March 21, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2497673/" target="_blank"><font size="2" face="Verdana">KB2497673</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 + CU14</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2821.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 16, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2527187/" target="_blank"><font size="2" face="Verdana">KB2527187</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 +</font> <font size="2" face="Verdana">CU15</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2847.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 18, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2555406/" target="_blank"><font size="2" face="Verdana">KB2555406</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1 +</font> <font size="2" face="Verdana">CU16</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.2850.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 19, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2582282" target="_blank"><font size="2" face="Verdana">KB2582282</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4000.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 29, 2010</font></td>        <td valign="top" width="139"><a href="https://www.microsoft.com/downloads/en/details.aspx?FamilyID=8fbfc1de-d25e-4790-88b5-7dda1f1d4e17" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4266.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 16, 2010</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2289254" target="_blank"><font size="2" face="Verdana">KB2289254</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4272</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 17, 2011</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2467239/" target="_blank">KB2467239</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4297</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">March 21, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2498535/" target="_blank"><font size="2" face="Verdana">KB2498535</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4285</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 16, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2527180/" target="_blank"><font size="2" face="Verdana">KB2527180</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4316</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">Jul 18, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2555408/" target="_blank"><font size="2" face="Verdana">KB2555408</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4321</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 19, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2582285" target="_blank"><font size="2" face="Verdana">KB2582285</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4323</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 21, 2011</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2617148" target="_blank"><font size="2" face="Verdana">KB2617148</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4326</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 16, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2648096" target="_blank"><font size="2" face="Verdana">KB2648096</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4330</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">March 19, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2673382" target="_blank"><font size="2" face="Verdana">KB2673382</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU10</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4332</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 21, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2696625" target="_blank"><font size="2" face="Verdana">KB2696625</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU11</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.4333.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 16, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2715951" target="_blank"><font size="2" face="Verdana">KB2715951</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5500.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">October 6, 2011</font></td>        <td valign="top" width="139"><a href="https://www.microsoft.com/download/en/details.aspx?id=27594" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5766.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">October 17, 2011</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2617146" target="_blank">KB2617146</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5768.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 21, 2011</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2633143" target="_blank">KB2633143</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5770.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 16, 2012</font></td>        <td valign="top" width="139"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2648098" target="_blank">KB2648098</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5775.0</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">March 19, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2673383" target="_blank"><font size="2" face="Verdana">KB2673383</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5785.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">May 21, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2696626" target="_blank"><font size="2" face="Verdana">KB2696626</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5788.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">July 16, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2715953" target="_blank"><font size="2" face="Verdana">KB2715953</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5794.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">September 17, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2738350" target="_blank"><font size="2" face="Verdana">KB2738350</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5828.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">November 19, 2012</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2771833" target="_blank"><font size="2" face="Verdana">KB2771833</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">10.00.5829.00</font></td>        <td valign="top" width="170"><font size="2" face="Verdana">January 21, 2013</font></td>        <td valign="top" width="139"><a href="https://support.microsoft.com/kb/2799883" target="_blank"><font size="2" face="Verdana">KB2799883</font></a></td>     </tr>   </tbody></table>  <p><font size="2" face="Verdana"></font></p>  <p><font color="#ff0000" size="2" face="Verdana"><strong>Builds SQL Server 2005</strong></font></p>  <table cellspacing="0" cellpadding="2" width="570" border="0"><tbody>     <tr>       <td valign="top" width="156"><font size="2" face="Verdana"><strong>SQL Server Version</strong></font></td>        <td valign="top" width="102"><font size="2" face="Verdana"><strong>Builds</strong></font></td>        <td valign="top" width="172"><font size="2" face="Verdana"><strong>Released On</strong></font></td>        <td valign="top" width="138"><font size="2" face="Verdana"><strong>Download</strong></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">RTM</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.1399.06</font></td>        <td valign="top" width="172"><font size="2" face="Verdana"></font></td>        <td valign="top" width="138"><font size="2" face="Verdana"></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.2047</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">April 18, 2006</font></td>        <td valign="top" width="138"><a href="https://www.microsoft.com/downloads/en/details.aspx?FamilyId=CB6C71EA-D649-47FF-9176-E7CAC58FD4BC&amp;displaylang=en" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3042</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">February 27, 2007</font></td>        <td valign="top" width="138"><a href="https://www.microsoft.com/downloads/en/details.aspx?FamilyId=d07219b2-1e23-49c8-8f0c-63fa18f26d3a&amp;displaylang=en" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU 3161</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3161</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">April 16, 2007</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/935356/" target="_blank"><font size="2" face="Verdana">KB935356</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3175</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">June 18, 2007</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/936305/" target="_blank"><font size="2" face="Verdana">KB936305</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3186</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">August 20, 2007</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/939537/" target="_blank"><font size="2" face="Verdana">KB939537</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3200</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">October 15, 2007</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/941450/" target="_blank"><font size="2" face="Verdana">KB941450</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3215</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 17, 2007</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/943656/" target="_blank"><font size="2" face="Verdana">KB943656</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3228</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">February 18, 2008</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/946608/" target="_blank"><font size="2" face="Verdana">KB946608</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3239</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">April 14, 2008</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/949095/" target="_blank"><font size="2" face="Verdana">KB949095</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3257</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">June 16, 2008</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/951217/" target="_blank"><font size="2" face="Verdana">KB951217</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3282</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">Aug 18, 2008</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/953752/" target="_blank"><font size="2" face="Verdana">KB953752</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU10</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3294</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">October 20, 2008</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/956854/" target="_blank"><font size="2" face="Verdana">KB956854</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU11</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3301</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 15, 2008</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/958735/" target="_blank"><font size="2" face="Verdana">KB958735</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU12</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3315</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">February 16, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/962970/" target="_blank"><font size="2" face="Verdana">KB962970</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU13</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3325</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">April 20, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/967908/" target="_blank"><font size="2" face="Verdana">KB967908</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU14</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3328</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">June 15, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/970278/" target="_blank"><font size="2" face="Verdana">KB970278</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU15</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3330</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">August 17, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/972510/" target="_blank"><font size="2" face="Verdana">KB972510</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU16</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3355</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">October 19, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/974647/" target="_blank"><font size="2" face="Verdana">KB974647</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP2 + CU17</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.3356</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 21, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/976952/" target="_blank"><font size="2" face="Verdana">KB976952</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4035</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 15, 2008</font></td>        <td valign="top" width="138"><a href="https://www.microsoft.com/downloads/en/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4207</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 19, 2008</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/959195/" target="_blank"><font size="2" face="Verdana">KB959195</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4211</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">February 16, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/961930/" target="_blank"><font size="2" face="Verdana">KB961930</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4220</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">April 20, 2009</font></td>        <td valign="top" width="138"><a href="(https://support.microsoft.com/kb/967909/" target="_blank"><font size="2" face="Verdana">KB967909</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4226</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">June 15, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/970279/" target="_blank"><font size="2" face="Verdana">KB970279</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU5</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4230</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">August 17, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/972511/" target="_blank"><font size="2" face="Verdana">KB972511</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU6</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4266</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">October 19, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/974648/" target="_blank"><font size="2" face="Verdana">KB974648</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU7</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4273</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 21, 2009</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/976951/" target="_blank"><font size="2" face="Verdana">KB976951</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU8</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4285</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">February 15, 2010</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/978915/" target="_blank"><font size="2" face="Verdana">KB978915</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU9</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4294</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">April 19, 2010</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/980176/" target="_blank"><font size="2" face="Verdana">KB980176</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU10</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4305</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">June 21, 2010</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/983329/" target="_blank"><font size="2" face="Verdana">KB983329</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU11</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4309</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">August 16, 2010</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/2258854/" target="_blank"><font size="2" face="Verdana">KB2258854</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU12</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4311</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">October 18, 2010</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/2345449/" target="_blank"><font size="2" face="Verdana">KB2345449</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU13</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4315</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 20, 2010</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/2438344/" target="_blank"><font size="2" face="Verdana">KB2438344</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU14</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4317</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">February 21, 2011</font></td>        <td valign="top" width="138"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2489375/" target="_blank">KB2489375</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP3 + CU15</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.4325</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">March 21, 2011</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/2507766/" target="_blank"><font size="2" face="Verdana">KB2507766</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP4</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.5000</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 17, 2010</font></td>        <td valign="top" width="138"><a href="https://www.microsoft.com/downloads/en/details.aspx?FamilyID=b953e84f-9307-405e-bceb-47bd345baece" target="_blank"><font size="2" face="Verdana">Download</font></a></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP4 + CU1</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.5254</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">December 22, 2010</font></td>        <td valign="top" width="138"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2464079/" target="_blank">KB2464079</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP4 + CU2</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.5259</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">February 21, 2011</font></td>        <td valign="top" width="138"><font size="2" face="Verdana"><a href="https://support.microsoft.com/kb/2489409/" target="_blank">KB2489409</a></font></td>     </tr>      <tr>       <td valign="top" width="156"><font size="2" face="Verdana">SP4 + CU3</font></td>        <td valign="top" width="102"><font size="2" face="Verdana">9.00.5266</font></td>        <td valign="top" width="172"><font size="2" face="Verdana">March 21, 2011</font></td>        <td valign="top" width="138"><a href="https://support.microsoft.com/kb/2507769/" target="_blank"><font size="2" face="Verdana">KB2507769</font></a></td>     </tr>   </tbody></table>]]></content:encoded>
    </item>
    <item>
      <title>Using Distributed Replay to load test your SQL Server–Part 2</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/using-distributed-replay-to-load-test-your-sql-serverpart-2</link>
      <pubDate>Tue, 26 Feb 2013 22:20:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/02/26/using-distributed-replay-to-load-test-your-sql-serverpart-2/</guid>
      <description><![CDATA[In the first part of this series, I explained you how to install and get started with Distributed...]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="Verdana">In the </font><a href="https://blogs.msdn.com/b/batuhanyildiz/archive/2013/02/26/using-distributed-replay-to-load-test-your-sql-server-part-1.aspx" target="_blank"><font size="2" face="Verdana">first part</font></a><font size="2" face="Verdana"> of this series, I explained you how to install and get started with Distributed Replay. I continue in this series by showing you how to actually capture and replay workloads.</font></p>  <p><font size="2" face="Verdana">After we have configured the Distributed Replay as explained in the previous post, we can use the Distributed Replay environment to create the load on the SQL Server.</font></p>  <p><font size="2" face="Verdana">I posted this article to Microsoft SQL PFE site and it can be found from there</font></p>  <p><a title="https://blogs.msdn.com/b/mspfe/archive/2012/11/14/using-distributed-replay-to-load-test-your-sql-server-part-2.aspx" href="https://blogs.msdn.com/b/mspfe/archive/2012/11/14/using-distributed-replay-to-load-test-your-sql-server-part-2.aspx"><font size="2" face="Verdana">https://blogs.msdn.com/b/mspfe/archive/2012/11/14/using-distributed-replay-to-load-test-your-sql-server-part-2.aspx</font></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Using Distributed Replay to load test your SQL Server–Part 1</title>
      <link>https://docs.microsoft.com/archive/blogs/batuhanyildiz/using-distributed-replay-to-load-test-your-sql-serverpart-1</link>
      <pubDate>Mon, 25 Feb 2013 22:13:00 GMT</pubDate>
      <dc:creator><![CDATA[BatuhanYildiz]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/batuhanyildiz/2013/02/25/using-distributed-replay-to-load-test-your-sql-serverpart-1/</guid>
      <description><![CDATA[This is the first part of a two part series where I explain how to use the new Distributed Replay...]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="Verdana">This is the first part of a two part series where I explain how to use the new Distributed Replay functionality in SQL Server 2012. The first part covers setup and the <a href="https://blogs.msdn.com/b/batuhanyildiz/archive/2013/02/27/using-distributed-replay-to-load-test-your-sql-server-part-2.aspx">second one</a> covers the usage.</font></p>  <p><font size="2" face="Verdana">Have you decided to migrate SQL Server to a newer version? Would you like to test the load on the new SQL Server? How can you create a load on the new SQL Server? Do you need to develop a multi threaded application to simulate load on SQL Server? Using a new feature of SQL Server 2012, called <strong>Distributed Replay</strong>, it is so simple to simulate load on a SQL Server for testing purposes.</font></p>  <p><font size="2" face="Verdana">I posted this article to Microsoft SQL PFE site and it can be found from there</font></p>  <p><a title="https://blogs.msdn.com/b/mspfe/archive/2012/11/08/using-distributed-replay-to-load-test-your-sql-server-part-1.aspx" href="https://blogs.msdn.com/b/mspfe/archive/2012/11/08/using-distributed-replay-to-load-test-your-sql-server-part-1.aspx"><font size="2" face="Verdana">https://blogs.msdn.com/b/mspfe/archive/2012/11/08/using-distributed-replay-to-load-test-your-sql-server-part-1.aspx</font></a></p>]]></content:encoded>
    </item>
  </channel>
</rss>