<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Server 2017 - Techyaz.com</title>
	<atom:link href="https://techyaz.com/tag/sql-server-2017/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Tips, Tutorials and How-to Topics</description>
	<lastBuildDate>Fri, 01 Jun 2018 12:06:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8</generator>

<image>
	<url>https://techyaz.com/wp-content/uploads/2017/11/cropped-Site-icon-150x150.png</url>
	<title>SQL Server 2017 - Techyaz.com</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Add a New Database to Always On Availability Group?</title>
		<link>https://techyaz.com/sql-server/alwayson/add-database-availability-group/</link>
					<comments>https://techyaz.com/sql-server/alwayson/add-database-availability-group/#respond</comments>
		
		<dc:creator><![CDATA[Ganesh Bekkinkeri]]></dc:creator>
		<pubDate>Mon, 22 Jan 2018 11:33:16 +0000</pubDate>
				<category><![CDATA[AlwaysOn]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[availability group]]></category>
		<category><![CDATA[SQL Server 2017]]></category>
		<guid isPermaLink="false">http://techyaz.com/?p=1624</guid>

					<description><![CDATA[<p>Adding or Removing databases from availability group is not day to day task but we need to perform such activities whenever it required. You can read attached article to learn how to remove database from availability group. Here, I will&#46;&#46;&#46;</p>
<p>The post <a href="https://techyaz.com/sql-server/alwayson/add-database-availability-group/">How to Add a New Database to Always On Availability Group?</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Adding or Removing databases from <a href="http://techyaz.com/sql-server/alwayson-availability-group/" target="_blank" rel="noopener">availability group</a> is not day to day task but we need to perform such activities whenever it required. You can read attached article to learn <a href="http://techyaz.com/sql-server/remove-database-always-availability-group/" target="_blank" rel="noopener">how to remove database from availability group</a>. Here, I will explain how to add database to an existing Always On availability group by using SSMS (SQL Server Management Studio) and Transact-SQL.</p>
<p>Before starting this exercise, make sure that primary and secondary replicas are accessible to each other and existing AOAG configuration is working fine and in healthy state. You must be connected to the server instance that hosts the primary replica to add a database to availability group.</p>
<h4><span style="color: #333399;">Add Database to Availability Group using GUI in SSMS</span></h4>
<p>First, we need to configure the corresponding secondary database on each server instance that hosts a secondary replica to save <em>add database wizard</em> processing time. You just need to run the full backup and immediate transaction log backup of the database on primary replica that has been identified to add to the availability group and then restore it to corresponding secondary replica.</p>
<p>Although it is not mandatory step to do it before adding the database to availability group as this can be done during adding database to availability group as well. But it is recommended to prepare your secondary databases on secondary replica before adding it to availability group. Let’s start with configuring secondary replicas followed by adding them to AOAG configuration.</p>
<ol>
<li>First run the full backup and immediate transaction log backup of the database that has been identified to add to the availability group on primary replica.</li>
<li>Once backups are completed on primary replica for to-be added database, copy these backups to your secondary replica and restore it with same name in no recovery mode if you want to keep your secondary database inaccessible.</li>
<li>Once database will be restored/ synced on secondary replicas, we will start adding this database to existing AOAG configuration using Add Database to Availability Group Wizard on primary replica.</li>
<li>Launch SQL Server Management Studio. Connect to the server instance that hosts the primary replica, and expand the server tree.</li>
<li>Expand the Always On High Availability folder followed by Availability Groups.</li>
<li>Right-click the availability group name, and select one of the following commands:
<ul>
<li>To launch the Add Database to Availability Group Wizard, select the <strong>Add Database.</strong></li>
<li>To add one or more databases by specifying them in the <strong>Availability Group Properties </strong>dialog box, select the <strong>Properties.<img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-1626" src="http://techyaz.com/wp-content/uploads/2018/01/1-Add-Database-to-AOAG-min.jpg" alt="Add Database" width="352" height="222" srcset="https://techyaz.com/wp-content/uploads/2018/01/1-Add-Database-to-AOAG-min.jpg 352w, https://techyaz.com/wp-content/uploads/2018/01/1-Add-Database-to-AOAG-min-300x189.jpg 300w" sizes="(max-width: 352px) 100vw, 352px" /></strong></li>
</ul>
</li>
<li>Once you click on <strong>Add Database…</strong> option to add database to existing AOAG configuration, an Introduction wizard will appear that will very similar to the one you might have seen during creating AOAG on your SQL Server Instance.</li>
<li>Next screen will come to select databases to proceed with adding them in to AOAG configuration.</li>
<li>Third window will come to select initial data synchronization option. Here you should be careful as if you have already configured secondary databases as we did in step 1 and step 2 then you need to select second option that is “<strong>Join Only</strong>”. If you haven’t configured your secondary database you can go with either first option that will backup the primary database and restore it to secondary replica during this processing only or third option in which you can configure secondary database later. If your database is big in size it will take lot much time to complete the processing.<img decoding="async" class="aligncenter size-full wp-image-1627" src="http://techyaz.com/wp-content/uploads/2018/01/2-join-only.jpg" alt="join only option in add database wizard" width="726" height="669" srcset="https://techyaz.com/wp-content/uploads/2018/01/2-join-only.jpg 726w, https://techyaz.com/wp-content/uploads/2018/01/2-join-only-300x276.jpg 300w" sizes="(max-width: 726px) 100vw, 726px" /></li>
<li>Follow rest of all windows by clicking at next button and once you will click at finish button on last window, your database will be added to existing availability group. You can see the status of this newly added database in to dashboard report or in SSMS.</li>
</ol>
<h4><span style="color: #333399;">Add a Database to Availability Group using T-SQL</span></h4>
<p>As I have described n above section, first thing is to configure secondary database so we need to configure the corresponding secondary database on each server instance that hosts a secondary replica to save add database processing time. You just need to run the full backup and immediate transaction log backup of the database on primary replica that has been identified to add to the availability group and then restore it to corresponding secondary replica. Once restore will be completed then follow below steps to add this database to availability group.</p>
<ol>
<li style="list-style-type: none;">
<ol>
<li>Connect to the server instance that hosts the server instance that hosts the primary replica.</li>
<li>Use the ALTER AVAILABILITY GROUP statement, as follows:</li>
</ol>
</li>
</ol>
<pre><span style="color: #008000;"><strong>--<em>AG_name</em> is the name of the availability group.
--<em>database_name</em> is the name of a database to be added to the group.
<span style="color: #0000ff;">ALTER AVAILABILITY GROUP <em>AG_name</em> ADD DATABASE <em>database_name</em>
</span></strong></span></pre>
<p>The following example adds the <em>Techyaz</em> database to the <em>AG_Techyaz</em> availability group.</p>
<pre><span style="color: #0000ff;"><strong><span style="color: #008000;">-- Connect to the server instance that hosts the primary replica.
-- Add an existing database to the availability group.</span>
ALTER AVAILABILITY GROUP AG_Techyaz ADD DATABASE Techyaz;
GO
</strong></span></pre>
<ol start="3">
<li>If you haven’t configured your secondary database then you need to configure it on each server instance that hosts a secondary replica after adding database to an availability group. If you already added it then you are done with adding your database to existing AOAG configuration. Validate it by launching dashboard report or looking in to SSMS.</li>
</ol>
<p>I hope you like this article. Please follow our <a href="https://www.facebook.com/Techyaz/">Facebook</a> page and <a href="https://twitter.com/Tech_yaz">Twitter</a> handle to get latest updates.</p>
<p><em><strong><span style="color: #800000;">Read More:</span></strong></em></p>
<ul>
<li><span style="color: #0000ff;"><strong><a style="color: #0000ff;" href="http://techyaz.com/sql-server/remove-database-always-availability-group/" target="_blank" rel="noopener">How to Remove a Database from AOAG configuration?</a></strong></span></li>
<li><span style="color: #0000ff;"><strong><a style="color: #0000ff;" href="http://techyaz.com/sql-server/alwayson/fix-aoag-listener-error-19471-kerberos-status-showing-handle-invalid/" target="_blank" rel="noopener">Fix AOAG Listener Issue: Error 19471 The handle is Invalid</a></strong></span></li>
<li><span style="color: #0000ff;"><strong><a style="color: #0000ff;" href="http://techyaz.com/sql-server/troubleshooting/secondary-replica-not-coming-online-showing-resolving-state-automatic-failover-alwayson-availability-group-configuration/" target="_blank" rel="noopener">Secondary Replica Showing in Resolving State after AOAG Automatic Failover</a></strong></span></li>
<li><span style="color: #0000ff;"><strong><a style="color: #0000ff;" href="http://techyaz.com/sql-server/sql-server-administration/understanding-sql-server-backup-databases-availability-group/" target="_blank" rel="noopener">Understanding Backups in Alwayson Availability Group</a></strong></span></li>
</ul>
<p>The post <a href="https://techyaz.com/sql-server/alwayson/add-database-availability-group/">How to Add a New Database to Always On Availability Group?</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://techyaz.com/sql-server/alwayson/add-database-availability-group/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Use Resumable Online Index Rebuild Operation in SQL Server?</title>
		<link>https://techyaz.com/sql-server/indexes/use-resumable-online-index-rebuild-operation-sql-server/</link>
					<comments>https://techyaz.com/sql-server/indexes/use-resumable-online-index-rebuild-operation-sql-server/#respond</comments>
		
		<dc:creator><![CDATA[Manvendra Deo Singh]]></dc:creator>
		<pubDate>Wed, 03 Jan 2018 15:25:54 +0000</pubDate>
				<category><![CDATA[Indexes]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Index]]></category>
		<category><![CDATA[index rebuild]]></category>
		<category><![CDATA[New features in SQL Server 2017]]></category>
		<category><![CDATA[Resumable Online Index Rebuild]]></category>
		<category><![CDATA[SQL Server 2017]]></category>
		<category><![CDATA[SQL Server Indexes]]></category>
		<guid isPermaLink="false">http://techyaz.com/?p=1431</guid>

					<description><![CDATA[<p>Resumable Online Index Rebuild is a new feature introduced in SQL Server 2017. Index Rebuild operation is very expensive task that takes lot of system resources and log spaces during execution. Sometimes, we need to cancel index rebuild operation in&#46;&#46;&#46;</p>
<p>The post <a href="https://techyaz.com/sql-server/indexes/use-resumable-online-index-rebuild-operation-sql-server/">How to Use Resumable Online Index Rebuild Operation in SQL Server?</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Resumable Online Index Rebuild is a new feature introduced in SQL Server 2017. <strong><a href="http://techyaz.com/sql-server/difference-index-rebuild-reorganize/" target="_blank" rel="noopener">Index Rebuild operation</a> </strong>is very expensive task that takes lot of system resources and log spaces during execution. Sometimes, we need to cancel index rebuild operation in middle of its execution to reclaim the space as well as system resources to avoid any performance issue, space issue or blocking issues. In previous versions of SQL Server, we rerun index rebuild operation again if we cancel it during its execution to make sure the database maintenance activity should be done. Re-execution of this job will start rebuilding indexes again from scratch that will take lot of time and resources again. Microsoft has given a solution named Resumable Index Rebuild to overcome of this scenario. Resumable Online Index Rebuild option is an extension of feature Online Index Operation in SQL Server. Read below article if you want to understand the disk and performance impact of using online index rebuild operation.</p>
<ul>
<li><strong><a href="http://techyaz.com/sql-server/performing-online-index-rebuild-operation/" target="_blank" rel="noopener">What would be Disk and Performance Impact if we rebuild indexes using ONLINE option?</a></strong></li>
</ul>
<h3><span style="color: #333399;">Resumable Online Index Rebuild</span></h3>
<p>This feature allows us to pause index rebuild operation during its execution at any point and resume it later from the point it was paused. You can use this feature in case you get any higher priority tasks or your server is running out of disk space or facing any performance issue. In addition, this feature rebuilds indexes using only a small amount of log space.</p>
<p>This feature allows us to resume an index rebuild operation after an index rebuild failure, such as after a database failover or after running out of disk space. We can also pause an ongoing index rebuild operation and resume it later. Resumable Online Index Rebuild allows us to rebuild large indexes without using a lot of log space.</p>
<p><em><span style="color: #800000;"><strong>Read More</strong></span></em></p>
<ul>
<li><strong><a href="http://techyaz.com/sql-server/sql-server-interview-questions-answers-indexes/" target="_blank" rel="noopener">SQL Server Interview Questions &amp; Answers on Indexes</a></strong></li>
<li><strong><a href="http://techyaz.com/sql-server/what-should-be-the-best-value-for-fill-factor-in-sql-server/" target="_blank" rel="noopener">What should be Best Value for fill factor in SQL Server?</a></strong></li>
<li><strong><a href="http://techyaz.com/sql-server/how-to-avoid-page-split-in-sql-server/" target="_blank" rel="noopener">How to Avoid Page Split in SQL Server?</a></strong></li>
</ul>
<h3><span style="color: #333399;">Points to Consider</span></h3>
<p>Below are the points you must keep in mind if you are choosing resumable online index rebuild operation.</p>
<ol>
<li>When an index operation is paused, both the original index and the the newly created one require disk space and need to be updated during DML operations.</li>
<li>Enables truncation of transaction logs during an index rebuild operation (this operation cannot be performed for a regular online index operation).</li>
<li>Resumable Online Index Rebuild feature can be used only with<strong> <a href="http://techyaz.com/sql-server/performing-online-index-rebuild-operation/" target="_blank" rel="noopener">Online Index Rebuild operation</a></strong>. You cannot use it for offline index rebuild operation.</li>
<li>We cannot rebuild an index that is disabled.</li>
<li>We cannot use ALL option to rebuild existing indexes.</li>
<li>Resumable Index Rebuild operation cannot be used to rebuild an existing index that has either computed column or timestamp column as part of the index key.</li>
<li>We cannot use SORT_IN_TEMPDB=ON option if we choose to use resumable index rebuild option.</li>
</ol>
<p><img decoding="async" class="aligncenter wp-image-1433 size-full" src="http://techyaz.com/wp-content/uploads/2018/01/Resumable-Online-Index-Rebuild.png" alt="Resumable Online Index Rebuild" width="560" height="315" srcset="https://techyaz.com/wp-content/uploads/2018/01/Resumable-Online-Index-Rebuild.png 560w, https://techyaz.com/wp-content/uploads/2018/01/Resumable-Online-Index-Rebuild-300x169.png 300w" sizes="(max-width: 560px) 100vw, 560px" /></p>
<p>&nbsp;</p>
<h3><span style="color: #333399;">How to use Resumable Online Index Rebuild?</span></h3>
<p>I have given multiple examples to demonstrate the different use cases of resumable online index rebuild operation in this section. If we want to use the resumable index rebuild functionality, we need to execute the online index rebuild with <strong>RESUMABLE</strong> keyword because Resumable index rebuild supports only during online index rebuild, so we must specify <strong>ONLINE = ON</strong> along with <strong>RESUMABLE = ON</strong> option. You cannot use this feature until you mention <strong>RESUMABLE = ON </strong>in your code because RESUMABLE=OFF is the default value. Run below command to rebuild index online as resumable option.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name
REBUILD WITH (ONLINE=ON, RESUMABLE=ON) ;
</span></strong></pre>
<p>We can also specify MAXDOP settings during online index rebuild as resumable option to use parallelism. Execute an online index rebuild as resumable operation with <strong>MAXDOP=1</strong> by running below command.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name 
REBUILD WITH (ONLINE=ON, MAXDOP=1, RESUMABLE=ON) ;
</span></strong></pre>
<p>We can also control execution or processing time of resumable online index rebuild by specifying <strong>MAX_DURATION</strong> option. It specifies the number of minutes that the resumable online index operation will be executed, before being paused. Execute an online index rebuild as resumable operation with MAX_DURATION set to 30 minutes.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name 
REBUILD WITH (ONLINE=ON, RESUMABLE=ON, MAX_DURATION=30) ;</span></strong></pre>
<p>Next, we will discuss about pausing these index rebuild operations that are running as resumable option in next section.</p>
<h3><span style="color: #333399;">Pause Online Index Rebuild running with Resumable Option</span></h3>
<p>If you want to manually pause a running resumable online index rebuild then you just need to use PAUSE clause in above ALTER INDEX statements. Run below command to pause a resumable index rebuild operation.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name PAUSE ;
</span></strong></pre>
<p>Now we will discuss about how to resume a paused online index rebuild operation in next section.</p>
<h3><span style="color: #333399;">Resume an Online Index Rebuild running with Resumable Option</span></h3>
<p>As I have mentioned above, you can pause online index rebuild due to any reason. Let’s say suppose you pause it because it is taking lot of time to complete and consuming lot of system resources then you can either resume it later when system has enough resource to run this operation or you can resume it specifying a new value for MAXDOP setting that will allow this operation to use parallelism to finish this task.</p>
<p>Suppose you want to resume an online index rebuild for an index rebuild that was executed as resumable operation specifying a new value for MAXDOP set to 8.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name </span></strong>
<strong><span style="color: #0000ff;">RESUME WITH (MAXDOP=8) ;
</span></strong></pre>
<p>If you want to resume an online index rebuild for an index rebuild that was executed as resumable operation with the same values then you can remove the MAXDOP options from above command and execute the simple command given below.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name RESUME;
</span></strong></pre>
<p>You can also resume an online index rebuild operation for an index rebuild that was executed as resumable with different parameters like you can set MAXDOP to 2, set the execution time for the index being running as resumable to 60 minutes and in case of an index being blocked on the lock wait 10 minutes and after that kill all blockers. Run below command to rebuild your indexes with above criteria.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name
RESUME WITH (MAXDOP=2, MAX_DURATION= 60 MINUTES,
WAIT_AT_LOW_PRIORITY (MAX_DURATION=10, ABORT_AFTER_WAIT=BLOCKERS)) ;
</span></strong></pre>
<p>You can test it in your lower life cycle with multiple options and keywords to get in depth knowledge about this feature.</p>
<h3><span style="color: #333399;">Abort a Resumable Index Rebuild operation</span></h3>
<p>We can also abort resumable index rebuild operation which is running or paused by executing below T-SQL statement.</p>
<pre><strong><span style="color: #0000ff;">ALTER INDEX INDEX_Name on Table_Name ABORT ;
</span></strong></pre>
<p>Once you will run above command, your index rebuild operation will be aborted.</p>
<h3><span style="color: #333399;">Monitor Resumable Index Rebuild Operation</span></h3>
<p>Microsoft has given a system view<strong> sys.index_resumable_operations</strong> that monitors and checks the current execution status for resumable Index rebuild. You can also get the progress details in percentage of resumable index rebuild operation using this system view.</p>
<p>There is a column named <strong>state</strong> in this system view that will let us know the state of the resumable index rebuild operation whether it is paused or still running. You can query this system view to see all the resumable index rebuild operations that are currently paused or running.</p>
<p>Run below command to list all resumable index rebuild operations that are in the PAUSE state. State column value zero means online index rebuild is running and value 1 means they are paused. You can also check the percent completion of all resumable index rebuild operations from column <strong>PERCENT_COMPLETE</strong> from the output received by below command.</p>
<pre><strong><span style="color: #0000ff;">SELECT * FROM  sys.index_resumable_operations WHERE STATE = 1;
</span></strong></pre>
<p><em><span style="color: #800000;"><strong>Related Articles</strong></span></em></p>
<ul>
<li><strong><a href="http://techyaz.com/sql-server/performing-online-index-rebuild-operation/" target="_blank" rel="noopener">Performing Online Index Rebuild Operation</a></strong></li>
<li><strong><a href="http://techyaz.com/sql-server/understanding-sql-server-indexes/" target="_blank" rel="noopener">Understanding SQL Server Indexes and difference between Clustered and Nonclustered Indexes</a></strong></li>
<li><strong><a href="http://techyaz.com/sql-server/difference-index-rebuild-reorganize/" target="_blank" rel="noopener">Difference between Index Rebuild and Index Reorganize Operation </a></strong></li>
</ul>
<p>I hope you like this article. Please follow our <a href="https://www.facebook.com/Techyaz/">Facebook</a> page and <a href="https://twitter.com/Tech_yaz">Twitter </a>handle to get latest updates.</p>
<p>The post <a href="https://techyaz.com/sql-server/indexes/use-resumable-online-index-rebuild-operation-sql-server/">How to Use Resumable Online Index Rebuild Operation in SQL Server?</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://techyaz.com/sql-server/indexes/use-resumable-online-index-rebuild-operation-sql-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Uninstall SQL Server 2017 from RedHat Linux Server</title>
		<link>https://techyaz.com/sql-server/sql-server-on-linux/uninstall-sql-server-2017-red-hat-linux-server/</link>
					<comments>https://techyaz.com/sql-server/sql-server-on-linux/uninstall-sql-server-2017-red-hat-linux-server/#respond</comments>
		
		<dc:creator><![CDATA[Manvendra Deo Singh]]></dc:creator>
		<pubDate>Fri, 08 Dec 2017 07:28:04 +0000</pubDate>
				<category><![CDATA[RedHat Linux]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server ON Linux]]></category>
		<category><![CDATA[red hat Linux]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[SQL Server 2017]]></category>
		<category><![CDATA[SQL Server On Linux]]></category>
		<category><![CDATA[SQL Server Uninstallation]]></category>
		<category><![CDATA[uninstallation]]></category>
		<guid isPermaLink="false">http://techyaz.com/?p=1307</guid>

					<description><![CDATA[<p>We all know how to install SQL Server 2017 on RedHat Linux. Here I will explain step by step process to uninstall SQL Server 2017 on RedHat Linux 7.3 server. Read More on SQL Server Installation on Linux Servers Installing&#46;&#46;&#46;</p>
<p>The post <a href="https://techyaz.com/sql-server/sql-server-on-linux/uninstall-sql-server-2017-red-hat-linux-server/">How to Uninstall SQL Server 2017 from RedHat Linux Server</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>We all know <a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-on-redhat-linux/" target="_blank" rel="noopener">how to install SQL Server 2017 on RedHat Linux</a>. Here I will explain step by step process to uninstall SQL Server 2017 on RedHat Linux 7.3 server.</p>
<p><em><strong><span style="color: #800000;">Read More on SQL Server Installation on Linux Servers</span></strong></em></p>
<ul>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-2017-ubuntu-internet-access/" target="_blank" rel="noopener">Installing SQL Server 2017 on Ubuntu Server</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-2017-redhat-linux-without-internet-offline-installation/" target="_blank" rel="noopener">How to Install SQL Server on Redhat Linux without Internet &#8211; Offline Installation</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-2017-on-ubuntu-server-without-internet-offline-installation/" target="_blank" rel="noopener">How to Install SQL Server on Ubuntu without Internet access &#8211; Offline Installation</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/installing-sql-tools-red-hat-linux/" target="_blank" rel="noopener">Installing SQL Tools on RedHat Linux Server</a></strong></li>
</ul>
<h3><span style="color: #333399;">Uninstall SQL Server 2017 on RHEL</span></h3>
<p>Uninstalling SQL Server 2017 that is running on Linux server is totally different process as compared to its windows based SQL Server. Follow below step by step process to uninstall SQL Server 2017 from your RHEL Linux server.</p>
<p><strong>1-</strong> Connect to your RHEL server where SQL Server 2017 is running and that needs to be uninstalled from the server. Check whether SQL Server is installed on this machine or not by checking SQL Server service. You can see SQL Server is running on this server.</p>
<pre><strong><span style="color: #008000;">#Run below command to check SQL Server Service.</span>
<span style="color: #0000ff;">systemctl status mssql-server
</span></strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1309" src="http://techyaz.com/wp-content/uploads/2017/12/1-Check-SQL-Server-min.jpg" alt="Check SQL Server Service on RHEL" width="999" height="190" srcset="https://techyaz.com/wp-content/uploads/2017/12/1-Check-SQL-Server-min.jpg 999w, https://techyaz.com/wp-content/uploads/2017/12/1-Check-SQL-Server-min-300x57.jpg 300w, https://techyaz.com/wp-content/uploads/2017/12/1-Check-SQL-Server-min-768x146.jpg 768w" sizes="auto, (max-width: 999px) 100vw, 999px" /></p>
<p><strong>2-</strong> Check SQL Server files along with the database files before removing SQL Server. We will validate SQL Server removal by checking these files post uninstallation.</p>
<pre><strong><span style="color: #008000;">#Check SQL Server binaries &amp; database files</span>
<span style="color: #0000ff;">sudo ls -lrt /var/opt/mssql
sudo ls -lrt /var/opt/mssql/data
</span></strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1310" src="http://techyaz.com/wp-content/uploads/2017/12/2-check-files-min.jpg" alt="check database files" width="622" height="373" srcset="https://techyaz.com/wp-content/uploads/2017/12/2-check-files-min.jpg 622w, https://techyaz.com/wp-content/uploads/2017/12/2-check-files-min-300x180.jpg 300w" sizes="auto, (max-width: 622px) 100vw, 622px" /></p>
<p><span style="color: #ff0000;"><em><strong>Note:</strong> </em></span><strong><em>Make sure to run full backup of all your databases and keep them in a safer place for future needs. </em></strong></p>
<p><strong>3-</strong> Now, we will uninstall SQL Server by running below command.</p>
<pre><strong><span style="color: #008000;">#Remove SQL Server from your Linux machine</span>
<span style="color: #0000ff;">sudo yum remove mssql-server
</span></strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-1311 size-full" src="http://techyaz.com/wp-content/uploads/2017/12/3-Remove-SQl-Server-min.jpg" alt="uninstall SQL Server 2017 from RHEL" width="1424" height="676" srcset="https://techyaz.com/wp-content/uploads/2017/12/3-Remove-SQl-Server-min.jpg 1424w, https://techyaz.com/wp-content/uploads/2017/12/3-Remove-SQl-Server-min-300x142.jpg 300w, https://techyaz.com/wp-content/uploads/2017/12/3-Remove-SQl-Server-min-768x365.jpg 768w, https://techyaz.com/wp-content/uploads/2017/12/3-Remove-SQl-Server-min-1024x486.jpg 1024w" sizes="auto, (max-width: 1424px) 100vw, 1424px" /></p>
<p>You can see details of SQL Server packages that are going to be removed from this machine. These packages are SQL Server and SQL Server Agent that are going to be removed here. Above command will ask us to type <strong>y</strong> to proceed with the uninstallation and type <strong>N</strong> to quit this uninstallation. Type <strong>y</strong> to proceed with the SQL Server removal.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-1312 size-full" src="http://techyaz.com/wp-content/uploads/2017/12/4-remove-sql-server-min.jpg" alt="uninstall sql server 2017 from rhel" width="706" height="411" srcset="https://techyaz.com/wp-content/uploads/2017/12/4-remove-sql-server-min.jpg 706w, https://techyaz.com/wp-content/uploads/2017/12/4-remove-sql-server-min-300x175.jpg 300w" sizes="auto, (max-width: 706px) 100vw, 706px" /></p>
<p>You can see SQL Server and SQL Server Agent both packages have been removed from this machine.</p>
<p><strong>4-</strong> Now, remove all SQL Server binaries and database files from its installed location that we checked in second screenshot by running below command.</p>
<pre><strong><span style="color: #008000;">#Remove database files and SQL binaries.</span>
<span style="color: #0000ff;">sudo rm -rf /var/opt/mssql
</span></strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1313" src="http://techyaz.com/wp-content/uploads/2017/12/5-remove-files-min.jpg" alt="remove sql server binaries" width="795" height="47" srcset="https://techyaz.com/wp-content/uploads/2017/12/5-remove-files-min.jpg 795w, https://techyaz.com/wp-content/uploads/2017/12/5-remove-files-min-300x18.jpg 300w, https://techyaz.com/wp-content/uploads/2017/12/5-remove-files-min-768x45.jpg 768w" sizes="auto, (max-width: 795px) 100vw, 795px" /></p>
<p>Here, your SQL Server has been removed from this linux machine. You can check SQL Server binaries and database files by running below commands. We can see no files in these locations because they have been removed now.</p>
<pre><strong><span style="color: #008000;">#Check database files.</span>
<span style="color: #0000ff;">sudo ls -lrt /var/opt/mssql/data</span>

<span style="color: #008000;">#Check SQL Server files &amp; folders.</span>
<span style="color: #0000ff;">sudo ls -lrt /var/opt/mssql
</span></strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1314" src="http://techyaz.com/wp-content/uploads/2017/12/6-check-files-post-removal-min.jpg" alt="check sql server binaries" width="724" height="136" srcset="https://techyaz.com/wp-content/uploads/2017/12/6-check-files-post-removal-min.jpg 724w, https://techyaz.com/wp-content/uploads/2017/12/6-check-files-post-removal-min-300x56.jpg 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></p>
<p><strong>5-</strong> Now you can check SQL Server service again by executing below command.</p>
<pre><strong><span style="color: #008000;">#Check SQL Server Service post SQL Server Removal.</span>
<span style="color: #0000ff;">systemctl status mssql-server</span> </strong></pre>
<p>We can see SQL Server is not loaded this time but service is showing as active.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1315" src="http://techyaz.com/wp-content/uploads/2017/12/7-Check-SQL-Server-post-removal-min.jpg" alt="Check SQL Server service post uninstallation" width="866" height="183" srcset="https://techyaz.com/wp-content/uploads/2017/12/7-Check-SQL-Server-post-removal-min.jpg 866w, https://techyaz.com/wp-content/uploads/2017/12/7-Check-SQL-Server-post-removal-min-300x63.jpg 300w, https://techyaz.com/wp-content/uploads/2017/12/7-Check-SQL-Server-post-removal-min-768x162.jpg 768w" sizes="auto, (max-width: 866px) 100vw, 866px" /></p>
<p>When you will try to restart this service, it will throw you an error that unit not found as shown in below image.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1316" src="http://techyaz.com/wp-content/uploads/2017/12/8-Restart-sql-server-min.jpg" alt="Restart SQL Server service post uinstallation" width="719" height="153" srcset="https://techyaz.com/wp-content/uploads/2017/12/8-Restart-sql-server-min.jpg 719w, https://techyaz.com/wp-content/uploads/2017/12/8-Restart-sql-server-min-300x64.jpg 300w" sizes="auto, (max-width: 719px) 100vw, 719px" /></p>
<p><strong>6-</strong> Now we need to reboot the server to update SQL Server service status on RHEL. I restarted this linux machine and again checked the SQL Server service. You can see this time it says service could not found.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1317" src="http://techyaz.com/wp-content/uploads/2017/12/9-reboot-server-check-service-min.jpg" alt="restart RHEL and check SQL Service" width="584" height="264" srcset="https://techyaz.com/wp-content/uploads/2017/12/9-reboot-server-check-service-min.jpg 584w, https://techyaz.com/wp-content/uploads/2017/12/9-reboot-server-check-service-min-300x136.jpg 300w" sizes="auto, (max-width: 584px) 100vw, 584px" /></p>
<p>I hope you like this article. Please follow our <a href="https://www.facebook.com/Techyaz/">facebook</a> page and <a href="https://twitter.com/Tech_yaz">Twitter</a> handle to get latest updates.</p>
<p>The post <a href="https://techyaz.com/sql-server/sql-server-on-linux/uninstall-sql-server-2017-red-hat-linux-server/">How to Uninstall SQL Server 2017 from RedHat Linux Server</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://techyaz.com/sql-server/sql-server-on-linux/uninstall-sql-server-2017-red-hat-linux-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>10 New Features in SQL Server 2017 Database Engine</title>
		<link>https://techyaz.com/sql-server/10-new-features-sql-server-2017-database-engine/</link>
					<comments>https://techyaz.com/sql-server/10-new-features-sql-server-2017-database-engine/#respond</comments>
		
		<dc:creator><![CDATA[Manvendra Deo Singh]]></dc:creator>
		<pubDate>Thu, 05 Oct 2017 15:33:04 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Administration]]></category>
		<category><![CDATA[New features]]></category>
		<category><![CDATA[New features in SQL Server 2017]]></category>
		<category><![CDATA[New Realese]]></category>
		<category><![CDATA[SQL Server 2017]]></category>
		<guid isPermaLink="false">http://techyaz.com/?p=1043</guid>

					<description><![CDATA[<p>SQL Server 2017 is major release that are coming with lots of new features. The most debated new feature in SQL Server 2017 is its support for Linux based operating systems. Yes, now you can install and run SQL Server&#46;&#46;&#46;</p>
<p>The post <a href="https://techyaz.com/sql-server/10-new-features-sql-server-2017-database-engine/">10 New Features in SQL Server 2017 Database Engine</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>SQL Server 2017 is major release that are coming with lots of new features. The most debated new feature in SQL Server 2017 is its support for Linux based operating systems. Yes, now you can install and run SQL Server 2017 on Linux based operating system. Here i will discuss top 10 SQL Serve 2017 new features in this article.</p>
<p><img loading="lazy" decoding="async" class="wp-image-1044 alignright" src="http://techyaz.com/wp-content/uploads/2017/10/10New-Features-SQL-2017.png" alt="New Features in SQL Server 2017" width="300" height="331" srcset="https://techyaz.com/wp-content/uploads/2017/10/10New-Features-SQL-2017.png 580w, https://techyaz.com/wp-content/uploads/2017/10/10New-Features-SQL-2017-272x300.png 272w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<h3><span style="color: #000080;">SQL Server 2017 New Features in Database Engine</span></h3>
<p>Let&#8217;s discuss SQL Server 2017 features. Below is the list of SQL Server 2017 new features introduced in database engine services.</p>
<p><span style="color: #800000;"><strong>SQL Server on Linux</strong></span></p>
<p>SQL Server is not only Windows based RDBMS anymore now you can run it on different flavor of Linux operating systems.  Now you can develop applications with SQL Server on Linux, Windows, Ubuntu, or Docker and deploy them as well on these platforms. SQL Server can now compete more directly with other RDBMS like Oracle which are more popular on Linux. We can say that <em>SQL Server on Linux</em> is one of the most popular SQL Server 2017 features. You can read below articles if you want to install SQL Server on Linux based operating systems.</p>
<ul>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/21-missing-features-in-sql-server-on-linux/" target="_blank" rel="noopener">21 Missing Features in SQL Server on Linux</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-2017-redhat-linux-without-internet-offline-installation/" target="_blank" rel="noopener">Install SQL Server 2017 on Redhat Linux &#8211; Offline Installation</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-on-redhat-linux/" target="_blank" rel="noopener">Install SQL Server 2017 on Redhat Linux &#8211; Online Installation</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-2017-on-ubuntu-server-without-internet-offline-installation/" target="_blank" rel="noopener">How to install SQL Server on Ubuntu &#8211; Offline Installation</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/sql-server-on-linux/install-sql-server-2017-ubuntu-internet-access/" target="_blank" rel="noopener">How to install SQL Server on Ubuntu &#8211; Online Installation</a></strong></li>
</ul>
<p><span style="color: #800000;"><strong>Adaptive Query Processing</strong></span></p>
<p>SQL Server 2017 introduce a new generation of query processing improvements that will adapt optimization strategies to your application workload’s runtime conditions. During optimization, the cardinality estimation process is responsible for estimating the number of rows processed at each step in an execution plan. When estimates are <em>inaccurate</em>, the query optimizer may make poor decisions regarding algorithm selection and order of operations. This is also one of the most awaited SQL 2017 new features.</p>
<p>Prior to SQL Server 2017, if we make poor assumptions due to bad cardinality estimates, we do not change our query plan execution strategy during execution. Read attached article Adaptive Query Processing to learn more about it.</p>
<p><span style="color: #800000;"><strong>Resumable Online Index Rebuild</strong></span></p>
<p>Resumable Online Index Rebuild is another SQL 2017 feature. Now we can pause and resume online index rebuild operation. This feature will be very helpful.<strong> <a href="https://techyaz.com/sql-server/use-resumable-online-index-rebuild-operation-sql-server/" target="_blank" rel="noopener">Resumable Online Index Rebuild</a></strong> allows you to resume an online index rebuild operation from where it stopped after a failure. For example, you might need to temporarily free up systems resources in order to execute a high priority task or complete the index rebuild in another maintenance window if the available maintenance windows is too short for a large table. Read attached articles to understand in depth information about this feature.</p>
<ul>
<li><strong><a href="https://techyaz.com/sql-server/use-resumable-online-index-rebuild-operation-sql-server/" target="_blank" rel="noopener">How to Use Resumable Online Index Rebuild in SQL Server?</a></strong></li>
<li><strong><a href="https://techyaz.com/sql-server/performing-online-index-rebuild-operation/" target="_blank" rel="noopener">Performing Online Index Operations</a></strong></li>
</ul>
<p><span style="color: #800000;"><strong>Automatic Database Tuning</strong></span></p>
<p>Automatic tuning is a database feature that provides insight into potential query performance problems, recommend solutions, and automatically fix identified problems. Automatic tuning in SQL Server, notifies you whenever a potential performance issue is detected, and lets you apply corrective actions, or lets the Database Engine automatically fix performance problems.</p>
<p><span style="color: #800000;"><strong>Graph Database Capabilities</strong></span></p>
<p>SQL Server offers graph database capabilities to model many-to-many relationships. The graph relationships are integrated into Transact-SQL and receive the benefits of using SQL Server as the foundational database management system.</p>
<p>A graph database is a collection of nodes (or vertices) and edges (or relationships). A node represents an entity (for example, a person or an organization) and an edge represents a relationship between the two nodes that it connects (for example, likes or friends). Both nodes and edges may have properties associated with them.</p>
<p><span style="color: #800000;"><strong>Cluster less Availability Groups</strong></span></p>
<p>Now we can configure <a href="https://techyaz.com/sql-server/alwayson-availability-group/" target="_blank" rel="noopener"><strong>AOAG\Alwayson Availability group</strong></a> without windows cluster in SQL Server 2017. This feature is added because of another new feature that is to configure AOAG between windows and Linux based SQL Servers. Now you don’t need a windows cluster in place if you want to configure AOAG between windows and Linux based SQL Servers.</p>
<p><span style="color: #800000;"><strong>Cross-OS AOAG</strong></span></p>
<p><strong><a href="https://techyaz.com/sql-server/alwayson-availability-group/" target="_blank" rel="noopener">Availability Groups</a> </strong>can now work across Windows-Linux to enable cross-OS migrations and testing. Now we can configure AOAG between windows based SQL Server and Linux based SQL Server. That is why, Microsoft has also given an option for clusterless AOAG.</p>
<p><span style="color: #800000;"><strong>New Functions</strong></span></p>
<p>There are few <strong><a href="https://techyaz.com/sql-server/t-sql/new-t-sql-functions-introduced-sql-server-2017/" target="_blank" rel="noopener">new T-SQL functions added to SQL Server 2017</a></strong>. Below is the list of those new functions. You can click on hyperlinks to get more about them. These functions are very useful for SQL developers.</p>
<ul>
<li><a href="https://docs.microsoft.com/en-us/sql/t-sql/functions/concat-ws-transact-sql">CONCAT_WS</a></li>
<li><a href="https://docs.microsoft.com/en-us/sql/t-sql/functions/translate-transact-sql">TRANSLATE</a></li>
<li><a href="https://docs.microsoft.com/en-us/sql/t-sql/functions/trim-transact-sql">TRIM</a></li>
<li><a href="https://docs.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql">STRING_AGG</a></li>
</ul>
<p><span style="color: #800000;"><strong>New DMVs</strong></span></p>
<p>There are many new DMVs have been introduced as SQL 2017 new features. Below is the list of such DMVs that have been introduced in SQL Server 2017. You can click on hyperlinks to get more about them.</p>
<ul>
<li><a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-tran-version-store-space-usage">sys.dm_tran_version_store_space_usage</a> &#8211; Introduced to track version store usage per database.</li>
<li><a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-stats-histogram-transact-sql">sys.dm_db_stats_histogram (Transact-SQL)</a> is added for examining statistics.</li>
<li><a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-statistics-xml-transact-sql">sys.dm_exec_query_statistics_xml</a></li>
<li><a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-host-info-transact-sql">sys.dm_os_host_info</a> is added to provide operating system information for both Windows and Linux.</li>
<li><a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-sys-info-transact-sql">sys.dm_os_sys_info</a> has three new columns added: socket_count, cores_per_socket, numa_node_count.</li>
<li>A new column modified_extent_page_count, is introduced in <u><a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-file-space-usage-transact-sql">sys.dm_db_file_space_usage</a></u> to track differential changes in each database file of the database.</li>
</ul>
<p><span style="color: #800000;"><strong>New DMFs</strong></span></p>
<p>Below is the list of new DMFs introduced in SQL Server 2017. You can click on hyperlinks to get more about them.<strong> </strong></p>
<ul>
<li>This DMF <a href="http://techyaz.com/sql-server/get-total-virtual-log-files/" target="_blank" rel="noopener">sys.dm_db_log_info</a> is introduced to expose the VLF information similar to DBCC LOGINFO to monitor, alert, and avert potential transaction log issues caused due to number of VLFs, VLF size or shrinkfile issues experienced by customers.</li>
<li>Another DMF <a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-log-stats-transact-sql">sys.dm_db_log_stats</a>, is introduced to expose summary level attributes and information on transaction log files. This is very useful for monitoring the health of the transaction log.</li>
</ul>
<p>Here, i have explained about SQL Server 2017 new features. I hope you like this article. Please follow us on our <a href="https://www.facebook.com/Techyaz/">facebook page</a> and on <a href="https://twitter.com/Tech_yaz">Twitter </a>handle to get latest updates.</p>
<p>The post <a href="https://techyaz.com/sql-server/10-new-features-sql-server-2017-database-engine/">10 New Features in SQL Server 2017 Database Engine</a> appeared first on <a href="https://techyaz.com">Techyaz.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://techyaz.com/sql-server/10-new-features-sql-server-2017-database-engine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
