<?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>Change SQL Virtual IP from DHCP to Static IP</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/change_sql_virtual_ip_from_dhcp_to_static_ip/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/change_sql_virtual_ip_from_dhcp_to_static_ip/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 04:10:38 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Failed to open file C:Program Files (x86)Microsoft Visual Studio 9.0Common7IDEPrivateAssembliesdevenv.exe.config.tmp</title>
      <link>https://docs.microsoft.com/archive/blogs/change_sql_virtual_ip_from_dhcp_to_static_ip/failed-to-open-file-cprogram-files-x86microsoft-visual-studio-9-0common7ideprivateassembliesdevenv-exe-config-tmp</link>
      <pubDate>Thu, 11 Feb 2016 00:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Rajesh Devabakthini]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/change_sql_virtual_ip_from_dhcp_to_static_ip/2016/02/11/failed-to-open-file-cprogram-files-x86microsoft-visual-studio-9-0common7ideprivateassembliesdevenv-exe-config-tmp/</guid>
      <description><![CDATA[&nbsp;
We were trying to install SP3 on SQL server 2008 R2 and got the error like...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p>
<p>We were trying to install SP3 on SQL server 2008 R2 and got the error like below.</p>
<p>&nbsp;&lt;FuncName='Do_sqlFileSR'&gt;</p>
<p>Failed to open file C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\devenv.exe.config.tmp</p>
<p>&nbsp;Error Code: 1603</p>
<p>&nbsp;MSI (s) (D0!88) [02:38:57:769]: Product: SQL Server 2008 R2 SP2 BI Development Studio -- Error 29528. The setup has encountered an unexpected error while Updating Installed Files</p>
<p>++ We searched for the file in this location and it was not there "&nbsp;C:\<strong>Program Files (x86)</strong>\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies"</p>
<p>&nbsp;++ according to below KB article it was suggested to copy from the "<strong>Program files</strong>" location.&nbsp;</p>
<p><a href="https://support.microsoft.com/en-us/kb/2216468">https://support.microsoft.com/en-us/kb/2216468</a></p>
<p>++ But customer did not have "<strong>Microsoft Visual Studio 9.0"</strong> folder under "C:\<strong>Program Files</strong>"</p>
<p>&nbsp;++ So what we did is we went to different server and checked this file and compared between few servers to see if the content in that file is same or not&nbsp;</p>
<p>++ Content is same , SO we copied from the server which had this file and placed in the server where we had problem, under C:\ProgramFiles (x86)\Microsoft Visual Studio9.0\Common7\IDE\PrivateAssemblies&nbsp;</p>
<p>++ later SP3 completed successfully.&nbsp;</p>
<p>So if you do not have "Microsoft Visual Studio 9.0" under C:\Program Files, Don't worry , just find another server where you have this file "devenv.exe.config.tmp" and place it in the location to fix this issue&nbsp;</p>
<p>Disclaimer :- This is workaround , not a fix or root cause analysis.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>We can not modify identity column type when table contains a persisted computed column. (Msg 1934, Level 16, State 1, Line 1)</title>
      <link>https://docs.microsoft.com/archive/blogs/change_sql_virtual_ip_from_dhcp_to_static_ip/we-can-not-modify-identity-column-type-when-table-contains-a-persisted-computed-column-msg-1934-level-16-state-1-line-1</link>
      <pubDate>Tue, 10 Nov 2015 23:56:00 GMT</pubDate>
      <dc:creator><![CDATA[Rajesh Devabakthini]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/change_sql_virtual_ip_from_dhcp_to_static_ip/2015/11/10/we-can-not-modify-identity-column-type-when-table-contains-a-persisted-computed-column-msg-1934-level-16-state-1-line-1/</guid>
      <description><![CDATA[We were trying to modify IDENTITY column type&nbsp;to BIGINT in SQL server 2012 and we got the below...]]></description>
      <content:encoded><![CDATA[<p>We were trying to modify IDENTITY column type&nbsp;to BIGINT in SQL server 2012 and we got the below error.</p>
<p>Msg 1934, Level 16, State 1, Line 1</p>
<p>ALTER TABLE failed because the following SET options have incorrect settings: 'ANSI_WARNINGS'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or filtered indexes and/or query notifications and/or XML data type methods and/or spatial index operations.</p>
<p>We made sure that 'ANSI_WARNINGS' is set to ON from session and database perspective , We made sure that Triggers are disabled from table, database, server side.(for our troubleshooting&nbsp;perspective we deleted all indexes on that&nbsp;table as well).&nbsp;but still we were getting above error.</p>
<p>and that column we are trying to alter is not used in any another computed columns in the table.</p>
<p>Repro steps:-</p>
<p><span style="background-color: #ffffff;"><strong><span style="text-decoration: underline;">SQL server 2012</span></strong></span></p>
<p>CREATE TABLE [dbo].table1([column1] [int] IDENTITY(30000000,1) NOT NULL,column2 int null,column3 as(column2) persisted)<br />alter table table1 alter column [column1] bigint not null</p>
<p>Above repro we have done in SQL server 2012, later we thought lets test it in higher version, we tested in SQL server 2014</p>
<p><span style="background-color: #00ccff;"><strong><span style="text-decoration: underline;">SQL server 2014</span></strong></span></p>
<p>When executed the same steps in SQL server 2014 we got different error message , like below.</p>
<p>Msg 11424, Level 16, State 1, Line 1</p>
<p>Cannot alter the identity column 'column1' in the table 'table1' because this operation requires data modification and the table contains a persisted computed column. Remove the persisted computed column before modifying the identity column.</p>
<p>Actually SQL server 2014 gives the right error message, 2012 error is misleading us. So in this case ideally we need to drop all PERSISTED COMPUTED columns in the table and change the IDENTITY column type and then add all computed columns.</p>
<p>remember you will not have this problem if either table has no persisted columns or you are not changing the IDENTITY column type.</p>]]></content:encoded>
    </item>
    <item>
      <title>High disk utilization by SQL server</title>
      <link>https://docs.microsoft.com/archive/blogs/change_sql_virtual_ip_from_dhcp_to_static_ip/high-disk-utilization-by-sql-server</link>
      <pubDate>Wed, 04 Nov 2015 23:08:00 GMT</pubDate>
      <dc:creator><![CDATA[Rajesh Devabakthini]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/change_sql_virtual_ip_from_dhcp_to_static_ip/2015/11/04/high-disk-utilization-by-sql-server/</guid>
      <description><![CDATA[In production servers we wanted to know why SQL server is doing more IO on disks, Disks can be...]]></description>
      <content:encoded><![CDATA[<p>In production servers we wanted to know why SQL server is doing more IO on disks, Disks can be overwhelmed if you are requesting more than what they can provide . I recently worked on issue where customer wanted to know why SQL server is doing more IO and how to reduce it.</p>
<p>We have collected PSSDIAG, which is ideal in this situation because it has combination of tools in it&nbsp; like perfmon, profiler trace, DMV's output.</p>
<p>first let me give you some information about what could be the capacity limits of normal single disk and SAN</p>
<p>Single disk :- Avg disk bytes/sec:- &nbsp;50 to 70 Mb/sec (approximate values)</p>
<p>SAN := Avg disk bytes/sec 150-300 Mb/sec (approximate values) . Any thing more than above limits disk are expected to show some latency and are considered overwhelmed.</p>
<p>In our case we had normal single disk, but SQL server was doing more than 100 mb/sec (avg disk bytes/sec) including reads and writes which is high. so We wanted to know how to reduce this.</p>
<p>and drive which we wanted to know is W:\</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/2117.disk.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/2117.disk.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/2117.disk.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/2117.disk.png" alt="" border="0" /></a></p>
<p>If you see above screen shot, LogicalDisk(W:)\Disk Bytes/sec is fluctuating for every min or so. since this is almost happening for every one min first thing which came into my mind is CHECKPOINTs, So added CHECKPOINT counter to performance monitor.</p>
<p>and graph looks like below.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/0081.disk.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/0081.disk.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/0081.disk.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/0081.disk.png" alt="" border="0" /></a></p>
<p>From the graph we can clearly see that as in checkpoint pages/sec increases&nbsp; Disk bytes/sec is also increasing , So from the graph &nbsp;IO is directly proportional to Checkpoint pages/sec.</p>
<p>Checkpoint pages/sec means:- Number of pages flushed by checkpoint or other operations that require all dirty pages to be flushed.&nbsp;</p>
<p>So Checkpoint duty is to flush dirty pages from buffer pool to disk and pages in the buffer pool will become dirty as in they are modified , So more writes more dirty pages , more dirty pages more IO on disk.</p>
<p>This is all falling back to number of modification you are doing on databases So we need to focus on reducing the modification on the databases so that dirty pages count will reduce and IO on drive will reduce</p>
<p>So we started looking at top write intensive queries and found a purge process that is being executed for every minute from application , and that explains why you are seeing spikes in disk bytes/sec for every min. We&nbsp;reduced the amount of&nbsp;records that purge job deletes every min and that reduced the half of the IO request on Drive W:\</p>
<p><strong><span style="text-decoration: underline;">So ideal solution in this case going to be</span></strong></p>
<p>Reduce the number of modification happening on the server (remove unnecessary writes)</p>
<p>Or</p>
<p>Use the Disk which can provide more throughput ( like SAN drives)</p>
<p>Or</p>
<p>Spilt the number of files on the drive&nbsp;to multiple drives so that load on that drive will reduce. ( we had 24 data files on this drive)&nbsp;</p>
<p><strong><span style="text-decoration: underline;">General recommendations </span></strong></p>
<ol>
<li>Check the fragmentation on database and see you can defrag the databases , this might give some relief</li>
<li>apply any missing indexes and see if that help.</li>
</ol>
<p>&nbsp;high disk utilization can be because of multiple reason and above is one of such, hope this helps someone.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Conflicts in Peer to Peer replication</title>
      <link>https://docs.microsoft.com/archive/blogs/change_sql_virtual_ip_from_dhcp_to_static_ip/conflicts-in-peer-to-peer-replication</link>
      <pubDate>Tue, 03 Nov 2015 19:22:00 GMT</pubDate>
      <dc:creator><![CDATA[Rajesh Devabakthini]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/change_sql_virtual_ip_from_dhcp_to_static_ip/2015/11/03/conflicts-in-peer-to-peer-replication/</guid>
      <description><![CDATA[Recently I have worked on a case where Customer configured the Peer to Peer replication and he...]]></description>
      <content:encoded><![CDATA[<p>Recently I have worked on a case where Customer configured the Peer to Peer replication and he started getting conflicts right from the beginning, Conflicts are expected to occur if we are&nbsp;doing changes to&nbsp;same row on multiple peer nodes, but in our case nobody has access to database to write something on second node so we were surprised to see conflicts. On top of it conflict resolution says it is update-update conflict and conflict winner column is no longer exist , Error message is something like this "This row no onger exists in '[dbo].[customers]'". that is surprising to see because there is winner that should have a row and column value too.</p>
<p>Customer was very eager to know how can this happen and even I was curious to repro. So troubleshooting went as following.</p>
<p>So first things first , on the second peer node&nbsp;We need to collect audit traces which will help us to identify where are the INSERTS,UPDATES and DELETES coming from , so We have collected SQL server audit traces and we have noticed an update on second peer node apart from replication store procedure, something like below.</p>
<p>select&nbsp;<span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">* </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">from </span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">fn_get_audit_file</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">(</span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">'C:\repl_issue\*.sqlaudit'</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">,</span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">default</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">,</span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">default</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">) </span></span></span>where&nbsp;<span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">statement </span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">like </span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">'%update%'</span></span></span></p>
<p><span style="color: #000000; font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">You need to check&nbsp; additional_information column in the output, if only updates are coming from replication then you will see object_name='sp_MSupd_dboCustomers02030113239' but if you see anything apart from this (like below) then that means there is someone or something making changes.</span></span></span></p>
<p>&lt;<span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">tsql_stack</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">&gt;&lt;</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">frame</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">nest_level</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">=</span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">'2'</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">database_name</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">=</span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">'repl_db'</span></span></span><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">schema_name</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">=</span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">'dbo'</span></span></span><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">object_name</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">=</span></span></span><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;"><span style="color: #ff0000; font-family: Consolas; font-size: x-small;">'update_customers'</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">/&gt;&lt;/</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">tsql_stack</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">&gt;</span></span></span></p>
<p><strong><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">So there is definitely update coming from object "update_customers", so first thought came into my mind was whether it is a trigger, when we checked yes there was trigger with that name.</span></span></span></strong></p>
<p><strong><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">in the initial phase we have asked them to disable trigger , issue surfaced almost 90% but we still noticed one or two conflicts per day, why we are still getting conflicts even after disabling trigger i will explain in my repro (below) but final resolution for this issue is to modify trigger on all peer nodes and add</span></span></span></strong></p>
<p>"NOT&nbsp;for&nbsp;Replication", something like below</p>
<p>&nbsp;ALTER <span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">TRIGGER</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">[dbo]</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">.</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">[customer_updates]</span></span></span></p>
<p>ON&nbsp;<span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">[dbo]</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">.</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">[customers]</span></span></span></p>
<p>AFTER&nbsp;<span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">UPDATE </span></span></span></p>
<p><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">NOT </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">for </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">Replication</span></span></span></p>
<p>AS&nbsp;</p>
<p><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">UPDATE </span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">customers</span></span></span>&nbsp;</p>
<p><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">SET</span></span></span></p>
<p><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">customers</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">.</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">dateupdated</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">=</span></span></span><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">getutcdate</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">()</span></span></span>&nbsp;</p>
<p><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">FROM</span></span></span>&nbsp;</p>
<p><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">inserted</span></span></span>&nbsp;</p>
<p><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">WHERE</span></span></span>&nbsp;</p>
<p><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">customers</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">.</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">ID</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">=</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">inserted</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">.</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">ID</span></span></span></p>
<p>GO</p>
<p>But Customer wanted to prove that trigger is the cause here and I was also interested so started doing repro. And this post is to give you some insight on how conflict detection and resolution happens.</p>
<p><span style="text-decoration: underline;"><strong>Demo</strong></span></p>
<p>use the below script to create database and table</p>
<p>create <span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">database </span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">p2p</span></span></span></p>
<p>use&nbsp;<span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">p2p</span></span></span>&nbsp;</p>
<p><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">create table </span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">customers</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">(</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">CumID </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">nvarchar</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">(</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">10</span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">) </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">CONSTRAINT</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">[PK_Customers] </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">PRIMARY</span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">KEY</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">,</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">Name </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">nvarchar</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">(</span></span></span><span style="font-family: Consolas; font-size: x-small;"><span style="font-family: Consolas; font-size: x-small;">50</span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">) </span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">not</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">null,</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">datecreated </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">datetimeoffset </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">CONSTRAINT</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">[CreationDate] </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">DEFAULT</span></span></span><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">G ETDATE</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">(),</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">datemodified </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">datetimeoffset </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">CONSTRAINT</span></span></span><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;"><span style="color: #008080; font-family: Consolas; font-size: x-small;">[modifiedDate] </span></span></span><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;"><span style="color: #0000ff; font-family: Consolas; font-size: x-small;">DEFAULT</span></span></span><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;"><span style="color: #ff00ff; font-family: Consolas; font-size: x-small;">GETDATE</span></span></span><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;"><span style="color: #808080; font-family: Consolas; font-size: x-small;">())</span></span></span></p>
<p>then take backup and restore on second node and configure peer to peer replication. use the below script to create trigger on both the nodes. after configuring the peer to peer replication , change the publication property "Continue replication after conflict detection" to True, otherwise your distribution agent will be stopped considering this error is critical.</p>
<p>CREATE TRIGGER [dbo].[update_customers]<br />ON [dbo].[Customers]<br />AFTER UPDATE<br />AS<br />&nbsp;&nbsp; UPDATE<br />&nbsp;Customers<br />&nbsp;&nbsp; SET<br />&nbsp;Customers.dateModified = getutcdate()<br />&nbsp;&nbsp; FROM<br />&nbsp;inserted<br />&nbsp;&nbsp; WHERE<br />&nbsp;Customers.CumID = inserted.CumID</p>
<p>GO</p>
<p>Now lets insert a first record.</p>
<p>insert into customers values(111,'ravi',getutcdate(),getutcdate()) select</p>
<p>select * from customers&nbsp; and make sure record present in both the nodes</p>
<p>now I want to pause my repro here and explain about the hidden column that gets added to table when you configure peer to peer replication.</p>
<p>$sys_p2p_cd_id is the column name that gets added , and you need to use DAC connection to see that column and there are functions that can be used to convert column values, something like&nbsp;below.</p>
<p>select cumID,name,datecreated,datemodified,sys.fn_replvarbintoint( $sys_p2p_cd_id) as originator_id , sys.fn_replp2pversiontotranid($sys_p2p_cd_id) as tran_id from customers</p>
<p>output will be like this.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/8883.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/8883.1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/8883.1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/8883.1.png" alt="" border="0" /></a></p>
<p>$sys_p2p_cd_id include originator ID from where that record got originated and transaction ID. and this is the value used to detect the conflicts, according to this MSDB article&nbsp; <a href="https://msdn.microsoft.com/en-us/library/bb934199.aspx">https://msdn.microsoft.com/en-us/library/bb934199.aspx</a> "In peer-to-peer replication, conflicts are detected by the stored procedures that apply changes to each node, based on a hidden column in each published table. This hidden column stores an ID that combines an <em>originator ID</em>that you specify for each node and the version of the row. During synchronization, the Distribution Agent executes procedures for each table. These procedures apply insert, update, and delete operations from other peers. If one of the procedures detects a conflict when it reads the hidden column value, it raises error 22815 that has a severity level of 16:</p>
<p><span class="code">A conflict of type '%s' was detected at peer %d between peer %d (incoming), transaction id %s&nbsp; and peer %d (on disk), transaction id %s"</span></p>
<p><span class="code">Hope now you know how conflicts are detected, The conflict is resolved based on the originator ID value that you specified during configuration: the row that originated at the node with the highest ID wins the conflict.</span></p>
<p><span class="code">Now going back to demo. first disable triggers on both the nodes. and update the record and check the originator ID.</span></p>
<p><span class="code">in my case , Node1 originator ID=1 and Node 2 originator ID=202. now I updated a row on Node 2 (ID 202)</span></p>
<p><span class="code">update customers set name='ravi_1' where CumID=111<br />select cumID,name,datecreated,datemodified,sys.fn_replvarbintoint( $sys_p2p_cd_id) as originator_id , sys.fn_replp2pversiontotranid($sys_p2p_cd_id) as tran_id from customers</span></p>
<p><span class="code"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/0042.2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/0042.2.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/0042.2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/0042.2.png" alt="" border="0" /></a></span></p>
<p>So&nbsp; now I see that record got updated and we have correct originator ID on both sides. Lets enable the trigger on Node 1 (originator id =1)</p>
<p>after enabling trigger on Node1, update the same row again in Node 2(originator id=202).</p>
<p>update customers set name='ravi_1_tigger_enabled_Node1' where CumID=111<br />select cumID,name,datecreated,datemodified,sys.fn_replvarbintoint( $sys_p2p_cd_id) as originator_id , sys.fn_replp2pversiontotranid($sys_p2p_cd_id) as tran_id from customers</p>
<p>execute the above select statement on both the nodes and I am sure you will see the difference in originator ID column in both the nodes, something like below.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/3162.3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/3162.3.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/3162.3.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/3162.3.png" alt="" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/8880.4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/8880.4.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/8880.4.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/8880.4.png" alt="" border="0" /></a></p>
<p>That confirms that trigger is causing the issue and we have difference in originator ID in both the server, we need to do another update to set this correctly even after disabling trigger on node1, so that is the reason you will see one more conflict even after disabling the triggers.</p>
<p>If you open the conflicts you should see conflict as well. there is lot of backend work done by replication store procedure, I do not want to put that in this article, it will be overhead, I will try to post another article on how replication will send records to another node. Hope this helps someone at least.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Change SQL Virtual IP from DHCP to Static IP</title>
      <link>https://docs.microsoft.com/archive/blogs/change_sql_virtual_ip_from_dhcp_to_static_ip/change-sql-virtual-ip-from-dhcp-to-static-ip</link>
      <pubDate>Sun, 19 Apr 2015 13:58:00 GMT</pubDate>
      <dc:creator><![CDATA[Rajesh Devabakthini]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/change_sql_virtual_ip_from_dhcp_to_static_ip/2015/04/19/change-sql-virtual-ip-from-dhcp-to-static-ip/</guid>
      <description><![CDATA[This blog is for database administrators who wants to change SQL server virtual IP address from DHCP...]]></description>
      <content:encoded><![CDATA[This blog is for database administrators who wants to change SQL server virtual IP address from DHCP to static IP address.

Sometimes when you try to change IP address from IP address resource properties to static IP from DHCP you&nbsp;will&nbsp;get an error saying can not <span style="font-family: arial,helvetica,sans-serif;">change</span> the properties of SQL server IP address (networkname), there is&nbsp;a workaround for this which needs careful attention while you do. I have outlined the steps below.

&nbsp;

<ol>  <li>Please bring SQL server resource offline and remove the network name from SQL server resource dependencies list &nbsp;in WFC and please delete the IP address resource in failover cluster manager</li>  </ol>

<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/6574.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/6574.1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/6574.1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/6574.1.png" alt="" border="0"></a><br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp; 2. Add the IP address from add a resource option

<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/7002.2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/7002.2.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/7002.2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/7002.2.png" alt="" border="0"></a>

3. Once added , add newly created IP address in Virtual name resource dependencies list

<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/1121.3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/1121.3.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/1121.3.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/1121.3.png" alt="" border="0"></a>

4. GO to the newly created&nbsp; IP address properties and&nbsp;choose the network and give the Static IP address

<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/1031.4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/1031.4.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/70/62/1031.4.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-70-62/1031.4.png" alt="" border="0"></a>&nbsp;

<br>5. Then add the SQL server network name back to dependecy list of SQL server resource in FCM.

6.Then bring SQL server virtual network name and IP address should also come online

if you want to change SQL server virtual server name &amp; IP both at the same time&nbsp;you can delete the network name and readd it again by adding new client access point In FCM and repeat the steps.

If you just want to change the IP address to different IP please refer this KB <a href="https://support.microsoft.com/en-us/kb/244980">https://support.microsoft.com/en-us/kb/244980</a>

Hope it will help some one.

<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>