<?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>merge replication &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/merge-replication/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Wed, 29 Jun 2016 20:05:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.5</generator>
	<item>
		<title>SQL Server: Database Replication Interview Questions and Answers (Day-2)</title>
		<link>https://www.dbrnd.com/2016/06/sql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Wed, 29 Jun 2016 20:04:06 +0000</pubDate>
				<category><![CDATA[SQL Server Interview]]></category>
		<category><![CDATA[answers]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database replication]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Interviews]]></category>
		<category><![CDATA[merge replication]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[snapshot replication]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tunning]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<category><![CDATA[xact_abort]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3265</guid>

					<description><![CDATA[What is the use of XACT_ABORT Parameter? XACT_ABORT ON ensures that any errors encountered during execution at the Publisher cause the entire execution to be rolled back, avoiding the Distribution Agent failure. If XACT_ABORT is set to OFF, and an error occurs during execution of the procedure at the Publisher, the same error will occur [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-2%29" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-2%29" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-2%29" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-2%29" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-2%29" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-2%29" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2%2F&#038;title=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-2%29" data-a2a-url="https://www.dbrnd.com/2016/06/sql-server-database-replication-interview-questions-and-answers-xact_abort-prerequisites-merge-snapshot-replication-day-2/" data-a2a-title="SQL Server: Database Replication Interview Questions and Answers (Day-2)"></a></p><p><strong>What is the use of XACT_ABORT Parameter?</strong></p>
<blockquote><p>XACT_ABORT ON ensures that any errors encountered during execution at the Publisher cause the entire execution to be rolled back, avoiding the Distribution Agent failure.</p>
<p>If XACT_ABORT is set to OFF, and an error occurs during execution of the procedure at the Publisher, the same error will occur at the Subscriber, causing the Distribution Agent to fail.</p></blockquote>
<p><strong>What is a Merge Replication?</strong></p>
<blockquote><p>Merge replication, like transactional replication, typically starts with a snapshot of the publication database objects and data. Subsequent data changes and schema modifications made at the Publisher and Subscribers are tracked with triggers. The Subscriber synchronizes with the Publisher when connected to the network and exchanges all rows that have changed between the Publisher and Subscriber since the last time synchronization occurred.</p>
<p>Merge replication allows various sites to work autonomously and later merge updates into a single, uniform result. Because updates are made at more than one node, the same data may have been updated by the Publisher and by more than one Subscriber.</p></blockquote>
<p><strong>In which situations, Merge Replication is suitable?</strong></p>
<ul>
<li>Multiple Subscribers might update the same data at various times and propagate those changes to the Publisher and to other Subscribers.</li>
<li>Subscribers need to receive data, make changes offline, and later synchronize changes with the Publisher and other Subscribers.</li>
<li>Each Subscriber requires a different partition of data.</li>
<li>Conflicts might occur and, when they do, you need the ability to detect and resolve them.</li>
<li>The application requires net data change rather than access to intermediate data states.</li>
</ul>
<p><strong>What should be your best practice for tracking Merge Replication?</strong></p>
<blockquote><p>To track changes, merge replication must be able to uniquely identify every row in every published table. To accomplish this merge replication adds the column rowguid to every table.</p></blockquote>
<p><strong>What is a Snapshot Replication?</strong></p>
<blockquote><p>Snapshot replication distributes data exactly as it appears at a specific moment in time and does not monitor for updates to the data. When synchronization occurs, the entire snapshot is generated and sent to Subscribers.</p>
<p>Snapshot replication can be used by itself, but the snapshot process is also commonly used to provide the initial set of data and database objects for transactional and merge publications.</p></blockquote>
<p><strong>How Snapshot replication is differ than other type of replication and In which situation, it is recommended?</strong></p>
<blockquote><p>Data is mostly static and does not change often. When it does change, it makes more sense to publish an entirely new copy to Subscribers.</p>
<p>It is acceptable to have copies of data that are out of date for a period of time.</p>
<p>Replicating small volumes of data in which an entire refresh of the data is reasonable.</p>
<p>Snapshot replication is mostly appropriate when you need to distribute a read-only copy of data, but it also provides the option to update data at the Subscriber.</p>
<p>Snapshot replication has a lower continuous overhead on the Publisher than transactional replication, because incremental changes are not tracked. However, if the dataset set being replicated is very large, it will require substantial resources to generate and apply the snapshot. Consider the size of the entire data set and the frequency of changes to the data when evaluating whether to utilize snapshot replication.</p></blockquote>
<p><strong>Would you please explain basic, how Snapshot works?</strong></p>
<blockquote><p>Snapshots can be generated and applied either immediately after the subscription is created or according to a schedule set at the time the publication is created. The Snapshot Agent prepares snapshot files containing the schema and data of published tables and database objects, stores the files in the snapshot folder for the Publisher, and records tracking information in the distribution database on the Distributor.</p>
<p>You specify a default snapshot folder when you configure a Distributor, but you can specify an alternate location for a publication instead of or in addition to the default.</p></blockquote>
<p><strong>What do you require to plan before setup a Snapshot Replication?</strong></p>
<ul>
<li>Transferring and storing snapshot files:</li>
<li>You have the option of storing snapshot files in a location other than or in addition to the default location, which is often located on the Distributor. Alternate locations can be on another server, on a network drive, or on removable media.</li>
<li>Scheduling snapshots:</li>
<li>To plan the optimum schedule for running the Snapshot Agent, estimate the length of time it takes the Snapshot Agent to complete the snapshot. Because the snapshot is created using bcp, perform a test bulk copy of your data set and time how long it takes to complete. If your data set is very large, perform the bulk copy on a sample of the data set and extrapolate the lapse time to the entire data set.</li>
</ul>
<p><strong>Before Transaction Replication, what should be your planning?</strong></p>
<ul>
<li>Transaction log space.</li>
<li>Disk space for the distribution database.</li>
<li>Primary keys for each table to be published.</li>
<li>Immediate updating and queued updating.</li>
<li>Transforming replicated data.</li>
<li>text and image data types in transactional replication.</li>
<li>Identity ranges.</li>
<li>Constraints and NOT FOR REPLICATION.</li>
</ul>
<p><strong>Before Merge Replication, what should be your planning?</strong></p>
<ul>
<li>Timestamp columns.</li>
<li>Identity ranges.</li>
<li>Data integrity.</li>
<li>Primary keys.</li>
<li>Synchronizing with alternate synchronization partners.</li>
<li>Row-level tracking and column-level tracking.</li>
<li>Triggers and business rules.</li>
<li>text and image data types in merge replication.</li>
<li>Conflict resolution.</li>
<li>Occassional maintenance for online/offline applications</li>
</ul>
<p><strong>Before planning to Replication, What should be your consideration?</strong></p>
<ul>
<li>Whether replicated data needs to be updated, and by whom.</li>
<li>Your data distribution needs regarding consistency, autonomy, and latency.</li>
<li>The replication environment, including business users, technical infrastructure, network and security, and data characteristics.</li>
<li>Types of replication and replication options.</li>
<li>Replication topologies and how they align with the types of replication.</li>
</ul>
<p><strong>Why you should use a separate disk drive for all databases which are involved in Replication?</strong></p>
<blockquote><p>This applies to the publication database, the distribution database, and the subscription database. You can decrease the time it takes to write transactions by storing the log files on a disk drive different than the one used to store the database. You can mirror that drive, using  a Redundant Array of Inexpensive Disks (RAID)-1, if you require fault tolerance.</p>
<p>Use RAID 0 or 0+1 (depending on your need for fault tolerance) for other database files. This is a good practice regardless of whether or not replication is being used.</p></blockquote>
<p><strong>Can you tell me some of the common replication DMV&#8217;s and their use?</strong></p>
<ul>
<li>sys.dm_repl_articles &#8211; Contains information about each article being published. It returns data from the database being published and returns a row for each object being published in each article.</li>
<li>sys.dm_repl_schemas &#8211; Contains information about each table and column being published. It returns data from the database being published and returns one row for each column in each object being published</li>
<li>sys.dm_repl_traninfo &#8211; Contains information about each transaction in a transactional replication.</li>
</ul>
<p><strong>I have transactional replication configured in my production environment with multiple subscribers.  The business team has requested that one of the subscriptions be reinitialized, because they think there is some missing data.</strong></p>
<p><strong>What are the different option to reinitialized subscriptions?</strong></p>
<blockquote><p><strong>Option 1:</strong> Using SQL Server Management Studio (SSMS).</p>
<p>In SSMS go to Replication -&gt; Local Publications -&gt; Locate your publication and expand it.</p>
<p>To do this, right click that subscription and select the &#8216;reinitialize&#8217; option.</p></blockquote>
<blockquote><p><strong>Option 2:</strong> Using Replication Monitor</p>
<p>In SSMS go to Replication -&gt; right click on replication and select &#8216;Launch Replication Monitor&#8217;.</p>
<p>On the left pane, under &#8216;My publishers&#8217;, click on the publisher node and expand to get a list of the subscriptions.</p>
<p>In the &#8216;All Subscriptions&#8217; tab, you need to select the appropriate subscription and click on &#8216;Reinitialize Subscription&#8217;.</p></blockquote>
<p><strong>How you can solve Error: Could not find stored procedure error and how to recover.</strong></p>
<p><strong>How you can recreate the missing stored procedures?</strong></p>
<blockquote><p>We can use sp_scriptpublicationcustomprocs system stored procedure which has been available since SQL Server 2000 Service Pack 1.</p>
<p>The only parameter for the sp_scriptpublicationcustomprocs is the publication name and this stored procedure must be executed on the published database.</p><pre class="crayon-plain-tag">EXEC sp_scriptpublicationcustomprocs @publication='Publication_Name';</pre><p>
The output from this stored procedure will be the creation code of INSERT, UPDATE, and DELETE stored procedures for each article that belongs to the &#8216;Publication_Name&#8217; publication.</p></blockquote>
<p><strong>T-SQL script to check status of Replication.</strong><br />
<pre class="crayon-plain-tag">SELECT 
    publisher
    , publisher_db
    , publication
    , agent_name
    , last_distsync
    , CASE
        WHEN status = 1 THEN 'Started'
        WHEN status = 2 THEN 'Succeeded'
        WHEN status = 3 THEN 'In progress'
        WHEN status = 4 THEN 'Idle'
        WHEN status = 5 THEN 'Retrying'
        WHEN status = 6 THEN 'Failed'
    END AS StatedStates    
FROM distribution..MSreplication_monitordata</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server: Database Replication Interview Questions and Answers (Day-1)</title>
		<link>https://www.dbrnd.com/2016/06/sql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Tue, 28 Jun 2016 20:44:28 +0000</pubDate>
				<category><![CDATA[SQL Server Interview]]></category>
		<category><![CDATA[answers]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database replication]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[distribution agent]]></category>
		<category><![CDATA[distributor]]></category>
		<category><![CDATA[Interviews]]></category>
		<category><![CDATA[log-reader agent]]></category>
		<category><![CDATA[merge agent]]></category>
		<category><![CDATA[merge replication]]></category>
		<category><![CDATA[publisher]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[snapshot agent]]></category>
		<category><![CDATA[snapshot replication]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tunning]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[subscriber]]></category>
		<category><![CDATA[transaction replication]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3261</guid>

					<description><![CDATA[What is Replication in SQL Server? As per the msdn help, Replication is a set of technologies for copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency. Using replication, you can distribute data to different locations. Database replication is the frequent electronic copying data [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-1%29" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-1%29" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-1%29" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-1%29" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-1%29" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1%2F&amp;linkname=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-1%29" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Fsql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1%2F&#038;title=SQL%20Server%3A%20Database%20Replication%20Interview%20Questions%20and%20Answers%20%28Day-1%29" data-a2a-url="https://www.dbrnd.com/2016/06/sql-server-database-replication-interview-questions-and-answers-publisher-distributor-subscriber-snapshot-merge-transaction-replication-day-1/" data-a2a-title="SQL Server: Database Replication Interview Questions and Answers (Day-1)"></a></p><p><strong>What is Replication in SQL Server?</strong></p>
<blockquote><p>As per the msdn help,</p>
<p>Replication is a set of technologies for copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency. Using replication, you can distribute data to different locations.</p>
<p>Database replication is the frequent electronic copying data from a database in one computer or server to a database in another so that all users share the same level of information. The result is a distributed database in which users can access data relevant to their tasks without interfering with the work of others.</p></blockquote>
<p><strong>What is Publishers?</strong></p>
<blockquote><p>The Publisher is a server that makes data available for replication to other servers. In addition to being the server where you specify which data is to be replicated, the Publisher also detects which data has changed and maintains information about all publications at that site.</p></blockquote>
<p><strong>What is Distributors?</strong></p>
<blockquote><p>Distributor is a bridge between publisher and subscriber. Distributor gathers all the published data and holds it until it sends it across to all subscriber. So as it is a bridge who sits in between publisher and subscriber, it supports multiple publisher and subscriber concept.</p></blockquote>
<p><strong>What is Subscribers?</strong></p>
<blockquote><p>Subscribers are servers that receive replicated data and it is the end source or the final destination to which data has to be transmitted.</p></blockquote>
<p><strong>What is a Snapshot Agent?</strong></p>
<blockquote><p>The Snapshot Agent is used with all types of replication. It prepares the schema and the initial bulk copy files of published tables and other objects, stores the snapshot files, and records information about synchronization in the distribution database. The Snapshot Agent runs at the Distributor.</p></blockquote>
<p><strong>What is a Log Reader Agent?</strong></p>
<blockquote><p>The Log Reader Agent is used with transactional replication. It moves transactions marked for replication from the transaction log on the Publisher to the distribution database. Each database published using transactional replication has its own Log Reader Agent that runs on the Distributor and connects to the Publisher (the Distributor can be on the same computer as the Publisher).</p></blockquote>
<p><strong>What is a Distribution Agent?</strong></p>
<blockquote><p>The Distribution Agent is used with snapshot replication and transactional replication. It applies the initial snapshot to the Subscriber and moves transactions held in the distribution database to Subscribers. The Distribution Agent runs at either the Distributor for push subscriptions or at the Subscriber for pull subscriptions.</p></blockquote>
<p><strong>What is a Merge Agent?</strong></p>
<blockquote><p>The Merge Agent is used with merge replication. It applies the initial snapshot to the Subscriber and moves and reconciles incremental data changes that occur. Each merge subscription has its own Merge Agent that connects to both the Publisher and the Subscriber and updates both. The Merge Agent runs at either the Distributor for push subscriptions or the Subscriber for pull subscriptions.</p></blockquote>
<p><strong>What is a Queue Reader Agent?</strong></p>
<blockquote><p>The Queue Reader Agent is used with transactional replication with the queued updating option. The agent runs at the Distributor and moves changes made at the Subscriber back to the Publisher. Unlike the Distribution Agent and the Merge Agent, only one instance of the Queue Reader Agent exists to service all Publishers and publications for a given distribution database.</p></blockquote>
<p><strong>What are the different types of Replication available in SQL Server?</strong></p>
<ul>
<li>Transactional Replication</li>
<li>Merge Replication</li>
<li>Snapshot Replication</li>
</ul>
<p><strong>What is the Transactional Replication?</strong></p>
<blockquote><p>SQL Server Transactional replication is typically used in server-to-server scenarios that require high throughput, including improving scalability and availability, data warehousing and reporting, integrating data from multiple sites, integrating heterogeneous data, and offloading batch processing.</p>
<p>Transactional replication typically starts with a snapshot of the publication database objects and data. As soon as the initial snapshot is taken, subsequent data changes and schema modifications made at the Publisher are usually delivered to the Subscriber as they occur (in near real time).</p>
<p>The data changes are applied to the Subscriber in the same order and within the same transaction boundaries as they occurred at the Publisher; therefore, within a publication, transactional consistency is guaranteed.</p></blockquote>
<p><strong>In which, situation Transactional Replication is suitable?</strong></p>
<ul>
<li>You want incremental changes to be propagated to Subscribers as they occur.</li>
<li>The application requires low latency between the time changes are made at the Publisher and the changes arrive at the Subscriber.</li>
<li>The application requires access to intermediate data states. For example, if a row changes five times, transactional replication allows an application to respond to each change (such as firing a trigger), not simply the net data change to the row.</li>
<li>The Publisher has a very high volume of insert, update, and delete activity.</li>
<li>The Publisher or Subscriber is a non-SQL Server database, such as Oracle.</li>
</ul>
<p><strong>How Transactional Replication works?</strong></p>
<blockquote><p>Transactional replication is implemented by the SQL Server Snapshot Agent, Log Reader Agent, and Distribution Agent. The Snapshot Agent prepares snapshot files containing schema and data of published tables and database objects, stores the files in the snapshot folder, and records synchronization jobs in the distribution database on the Distributor.</p>
<p>The Log Reader Agent monitors the transaction log of each database configured for transactional replication and copies the transactions marked for replication from the transaction log into the distribution database, which acts as a reliable store-and-forward queue. The Distribution Agent copies the initial snapshot files from the snapshot folder and the transactions held in the distribution database tables to Subscribers.</p>
<p>Incremental changes made at the Publisher flow to Subscribers according to the schedule of the Distribution Agent, which can run continuously for minimal latency, or at scheduled intervals.</p></blockquote>
<p><strong>What do you know about the peer-to-peer transaction publication topology?</strong></p>
<ul>
<li>Each location has identical data and acts as both a Publisher and Subscriber.</li>
<li>The same row can be changed only at one location at a time.</li>
<li>This topology is best suited for server environments requiring high availability and read scalability.</li>
</ul>
<p><strong>What do you know about the Bidirectional Transactional Replication?</strong></p>
<blockquote><p>Bidirectional transactional replication is a specific transactional replication topology that allows two servers to exchange changes with each other: each server publishes data and then subscribes to a publication with the same data from the other server.</p></blockquote>
<p><strong>Is it possible to publish the execution of Stored Procedure?</strong></p>
<blockquote><p>If you have one or more stored procedures that execute at the Publisher and affect published tables, consider including those stored procedures in your publication as stored procedure execution articles. The definition of the procedure (the CREATE PROCEDURE statement) is replicated to the Subscriber when the subscription is initialized; when the procedure is executed at the Publisher, replication executes the corresponding procedure at the Subscriber.</p>
<p>The stored procedure definition at the Publisher is propagated to each Subscriber. However, you can also modify the stored procedure at the Subscriber. This is useful if you want different logic to be executed at the Publisher and Subscriber.</p></blockquote>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
