Identity Management in a Pull Merge Replication at Subscriber

I am facing SQL Server Replication issue (Identity Management in a Pull Merge Replication at Subscriber).
Replication situation:
Distributor and the Publisher are in one server running Windows Server 2012 Std and SQL Server 2012 Std
One Subscriber PC running Windows 7 Professional and SQL Server 2012 Express Edition
Both are connected through the internet using VPN
The Problem:
Subscriber has an article (Table) [DocumentItems] where its Identity field [DocumentItemsID] is managed by Replication and was assigned the following range:
([DocumentItemsID]>(280649) AND [DocumentItemsID]<=(290649) OR [DocumentItemsID]>(290649) AND DocumentItemsID]<=(300649)
The server was disconnected from electricity several times. Every time the Subscriber PC is up, The [DocumentItemsID] field will pick an identity out of its range like 330035 when inserting new rows.
The issue happened 3 times. I fixed the problem by a manual reseed:
    DBCC CHECKIDENT('DocumentItems' , RESEED, xxxx)
Where xxxx is the MAX existing value for [DocumentItemsID] + 1
Once the electricity is disconnected again, the same problem occurs.
Does anybody have any idea what is happening? And why the [DocumentItemsID] field was assigned values out of its range?
Thanks

I am confused as to where/when this problem is happening.
From what you describe the publisher is disconnected from the subscriber by the power failure. During this time is your subscriber accepting data?
The subscriber will not increment it's range until it does a synchronization. Perhaps what is happening is that you have a power failure, and the subscriber is still running. It accepts inserts and eventually an insert is more than the assigned range. In
this case all inserts will fail until the subscriber syncs and after that the range in incremented. If these inserts are done in a batch, lets say 100,000 rows then entire batch will fail as it exceeds the possible identity values and then you will find that
your identity range is incremented even though the inserts failed.
What I would do is use manual identity range management and set your subscriber range manually to somehting high, or to have a -ve increment and a seed of 0.
looking for a book on SQL Server 2008 Administration?
http://www.amazon.com/Microsoft-Server-2008-Management-Administration/dp/067233044X looking for a book on SQL Server 2008 Full-Text Search?
http://www.amazon.com/Pro-Full-Text-Search-Server-2008/dp/1430215941

Similar Messages

  • SQL PULL Merge Replication over web - totally unreliable?

    Hi,
    We have problems performing SQL PULL merge replication over the web.  Most of the time it works fine, but periodically we experience issues as described below.  Our application uses SQL Express for subscribers and we have our own C# RMO code for
    the agent.  We have eliminated our application as the source of the problem by setting up a full SQL Server as a subscriber and using the built in agent.  It experiences the same problems.
    1. Unable to download a snapshot.
    After reinitializing a subscriber, the snapshot will partially download and will then suddenly stop with the error:
        The connection with the server was terminated abnormally
    There is no obvious timeout issue, the error typically occurs as soon as one of the .bcp files is about to be downloaded.  It's often the same .bcp file that has the problem, but not always so there is no consistency.
    The only solution is to continually retry until the download eventually succeeds.  Recreating the snapshot before retrying seems to improve the chances of a successful sync.
    2. Unable to perform a normal sync (i.e. an update, rather than a full snapshot)
    An attempt to perform a sync results in the following information being logged:
        The upload message to be sent to Publisher 'SERVER2' is being generated
        The merge process is using Exchange ID 'F82F1A56-A81A-4786-A469-7A76259F9ED8' for this web synchronization session.
        No data needed to be merged.
        Request message generated, now making it ready for upload.
        Upload request size is 1895 bytes.
    At this point the sync simply stops doing anything.  There are no errors, the agent still appears to be running, but nothing else happens.
    We typically experience this problem once every few weeks.  Reinitializing a subscriber does not help, the same problem occurs.  The only solution is to recreate the snapshot and then to reinitialize the subscriber.  This then requires the
    subscriber to perform a full sync which takes around 45 minutes for our dataset.
    I am aware through online searches that others have experienced similar issues with SQL replication over web.  Are there any practical solutions to these issues, or is SQL replication over web simply broken?

    Hi Brandon, I noticed a post from you back towards the end of last year where you said you were giving up on it.  Did you ever get it resolved?  If not, did you identify a viable alternative solution?
    We need to replicate a SQL database to mobile tablets over 3G.  We've invested a lot of time and effort trying to make this solution work and to find that even using straight SQL server to SQL server has the same issues is disconcerting.
    One possible option is that although we currently use merge replication, that was really just a bad design decision taken early on.  We only perform one way replication, all our articles are flagged as one way only, server down to clients.  I have
    considered maybe moving towards transactional replication but unless I'm 100% certain I won't hit the same kind of issues, it really isn't viable to invest the time and effort.

  • Violation of Primary Key in Merge Replication

    I have one Publisher and one Subscriber. They have
    a UK
    (Col1, Col2), PK is col1 + col2, and
    the MERGE
    REPLICATION adds a ROWGUID. Sometimes
    they insert the same row when they are offline ( they generate the same UK, it's not IDENTITY column), because
    of it, they generate different ROWGUID for the same row. Then, when I run the JOB for Merge Replication, I have a PRIMARY
    KEY violation. I need to use the UK instead of ROWGUID.
    It is possible?
    Example:
    Table_1 (Publisher)
    Name: John (UK)
    ID: 1234 (UK)
    ROWGUID: xxxxx (Created by Merge Replication)
    Table_1 (Subscriber)
    Name: John (UK)
    ID: 1234 (UK)
    ROWGUID: yyyyy (Created by Merge Replication)

    Hi Alex R,
    From your description, you want to use the UK(col1, col2) instead of ROWGUID, right? If so, it is not possible.
    To use your own column as rowguid column in merge replication, your column should have the following properties:
    • Should be of Uniqueidentifier datatype
    • Should have the ROWGUIDCOL property set
    • Should not allow NULLs
    • Should have a default of newid()
    Also please note that only one column can have the ROWGUIDCOL attribute in a table, in other words, we can only specify one column to be
    rowguid column in merge replication.
    Reference:
    https://msdn.microsoft.com/en-us/library/ms152746.aspx?f=255&MSPPError=-2147217396
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

  • Pull User Role from identity manager in BPM process

    Hi,
    How can I pull user name, user role from different identity manager in order to configure hierarchy workflow in BPM process? can any one guide me on that??
    Regards,
    Amik

    I'm having the same problem on WebLogic 10.3

  • Merge replication - multi site, multi distributor, publisher, subscribers ...

    Hi,
    We have 2 sites at the moment. Each site has 2 servers. To reduce network load I was aiming at doing the following with a merge replication :
    * configure one server at each site to be distributor and publisher
    * configure the other server at each site to be a subscriber
    * configure the 2 publishers to also be subscribers to each other to sync the sites.
    Or even better:
    * have all the servers be distributors, publishers and subscribers, so that if one dies, who cares as they all have the same configuration.
    Also, I was thinking of:
    * having the distributor and publishers use a DFS share replicated on both sites (or maybe the same share on each sql server ? not sure what the best practice is on this one)
    However, I can't seem to find a good post / thread where it describes this kind of scenario in a step by step way nor what happens to the identity range management.
    If you could share any light on this or point me to the right English terms to describe the above scenario, thanks in advance.
    Olivier
    PS: We only have STD edition, so peer to peer and AG are not available to US. (which is why we are using merge)
    PS2: One way I could see this work is if I manually set the identity columns in the tables so that they won't overlap and make the range management manual. Then just setup publications / distributors and subscribers on each node. (But if I can dodge the
    manual management, it be great)

    Hi Brandon,
    Thx for the reply
    we are using web synchronization.
    According to the documentation ('The business logic handler you specify is executed for every row that is synchronized.') I would think this will do exactly the same as our trigger on the article.
    When we would use a business logic handler to update the record which is just uploaded to the Publisher I think we will end up with the same checksum error.
    We worked around the problem by not changing the status of orders once they are uploaded to the Publisher.
    For that part of the process we now have only 2 statusses anymore :
    - Not to be sent to central server
    - Upload(ed) to central server. 
    So an order is created at the subscriber and has the status 'not to be sent to central server'
    In a synchro-window the user can mark orders which must be uploaded to the central server.
    Only when the users clicks on the synchro button the orders which are marked (on screen) to be synchronised will get the status 'Upload(ed) to central server' and the pull subscriptions is started.
    On the central server we process only the articles with the status 'Upload(ed) to central server'.
    Before we had the statusses :
    - Not to be sent to central server
    - Upload to central server. 
    - Uploaded to central server.
    And we had our own trigger on the Publisher which updated the status of records from 'Upload to central server ' to 'uploaded to central server' which was not reliable because we often had checksum errors on that article.

  • Slow merge replication over a WAN link - only downloads

    Hi all,
    We've been using SQL Server merge replication for a few years to synchronise data between our data centres, but we are now suffering with a big performance issue. This may be because the amount of data we are synchronising has increased a lot this year.
    Our publisher is an always-on data centre in the UK. Our subscriber is a mobile data centre that travels around the world and is on for periods of up to a week at a time, approx. 25 times a year. However, it also spends the same amount of time (if not more)
    switched off whilst on its travels - it is a well travelled data centre!
    We have 5 database that we synchronise on these servers. However, one of our databases has high numbers of data changes between periods of subscriber downtime and our issue is that it take days to catch up when the server is powered up - the other databases
    are fine.
    Downloads from publisher to subscriber run at about 1.5 rows a second (which is annoying when we have hundreds of thousands of rows) but strangely uploads from subscriber to publisher run about ten times faster.
    Things I have checked / tried:
    all tables have non-clustered primary keys on guid columns that have the rowguid property set
    changing the generation levelling threshold doesn't help
    setting the agent profile to high volume doesn't help
    running a trace at the publisher and subscriber shows the queries are all running very fast (less than 20 m/s generally, but there are gaps of 200 m/s or so between some batches of queries)
    analysis on our WAN link shows we have huge amounts of bandwidth spare
    analysis on our servers show we have huge amounts of Ram and CPU spare
    Some of the places the subscriber is at do suffer from high latency but this doesn't seem to have an impact - 300 m/s or 100m/s and we still get the same poor performance.
    One things I did wonder about - does the replication confirm to the publisher every time it has successfully processed a row at the subscriber? If we have thousands of rows and there is a latency on the line will this compound the issue if it confirms each
    item? If this does happen, is there a way to batch up messages between publisher and subscriber?
    Any help that you can offer will be gladly received!
    Thanks
    Mark

    1) merge replication processes the uploads/downloads in batches. So no, there is no confirmation for each row processes, but there is per batch. If there is an error/conflict a batch is retried as singletons (a single row processed at a time), so you need
    to minimize conflicts/errors.
    2) No, but you should use pull and wan accelerators for max performance and change your profile to use 2000 for the following:
    MaxDownloadChanges 
    MaxUploadChanges
    UploadGenerationsPerBatch  
    DownloadGenerationsPerBatch 
    UploadReadChangesPerBatch 
    DownloadReadChangesPerBatch 
    UploadWriteChangesPerBatch 
    DownloadWriteChangesPerBatch 
    set network packet size to a large value - you will need to work with your wan engineer to find out what works best. 32k will likely be best.
    Also you may want to copy a file of a known size from your publisher to your subscriber and then from your subscriber to your publisher to see if there is a significant difference in time. For drives will yield significant differences.
    I have found that you may have a trigger which is generating a large volume of unnessary changes. You will need to see what table/article is generating all the changes and evaluate whether the changes are legit.
    Precomputed partitions should speed up the enumeration times. Ensure you have supporting indexes - the missing indexes DMV helps here.
    Lastly you may find that a reinitialization is faster than processing the changes.
    looking for a book on SQL Server 2008 Administration?
    http://www.amazon.com/Microsoft-Server-2008-Management-Administration/dp/067233044X looking for a book on SQL Server 2008 Full-Text Search?
    http://www.amazon.com/Pro-Full-Text-Search-Server-2008/dp/1430215941

  • Merge Replication Error When Initialising subscription

    I have a SQL server 2005 server with a merge publication of 6 articles all of which are tables which is also the distributor. I have two existing subscriptions one from a SQL 2005
    Server and one from a SQL Server 2008 R2 Server both of which are working fine on this publication. I am trying to setup a third subscription to another SQL Server 2008 R2 server, the only difference with this server is that it is a named instance. I have
    forced the port to 1433, and created an alias on the publisher connectivity is not an issue or at least i don't think so.
    when I try to initialise the subscription from a new snapshot I get the below error;
    Error: 14151, Severity: 18, State: 1.
    Replication-Replication Merge Subsystem: agent failed. No subscription is on this publication or article.
    I've changed the agent profile and turned on verbose logging and output the results to a file the snapshot delivery is failing on the below for the first table;
    call sys.sp_MSsetup_identity_range (?,?,?,?,?,?,?,?)
    I've checked the subscriber and the table does indeed get dropped and created, permissions / routes don't seem to be an issue. I've included some of the verbose logging output below.
    2012-01-11 12:05:40.684 Microsoft SQL Server Merge Agent 9.00.3042.00
    2012-01-11 12:05:40.700 Copyright (c) 2005 Microsoft Corporation
    2012-01-11 12:05:40.716 Microsoft SQL Server Replication Agent: replmerg
    2012-01-11 12:05:40.716 
    2012-01-11 12:05:40.731 The timestamps prepended to the output lines are expressed in terms of UTC time.
    2012-01-11 12:05:40.747 User-specified agent parameter values:
    -Publisher PubServerName
    -PublisherDB UserDBName
    -Publication MtoC_M
    -Subscriber SubServerName
    -SubscriberDB UserDBName
    -Distributor PubServerName
    -DistributorSecurityMode 1
    -Continuous
    -OutputVerboseLevel 4
    -Output G:\CMcReplicationLogging\OUTPUT.TXT
    -XJOBID 0x5FFBC73C3A4A494A9E10C369696B1C72
    -XJOBNAME PubServerName-UserDBName-MtoC_M-SubServerName-29
    -XSTEPID 2
    -XSUBSYSTEM Merge
    -XSERVER PubServerName
    -XCMDLINE 0
    -XCancelEventHandle 000008EC
    -XParentProcessHandle 00000E9C
    2012-01-11 12:05:40.841 Percent Complete: 0
    2012-01-11 12:05:40.841 Connecting to Distributor 'PubServerName'
    2012-01-11 12:05:40.856 Repl Agent Status: 3
    2012-01-11 12:05:40.856 Connecting to OLE DB Distributor at datasource: 'PubServerName', location: '', catalog: '', providerstring: '' using provider 'SQLNCLI'
    2012-01-11 12:05:42.137 OLE DB Distributor: PubServerName
    DBMS: Microsoft SQL Server
    Version: 09.00.3042
    catalog name: 
    user name: dbo
    API conformance: 0
    SQL conformance: 0
    transaction capable: 1
    read only: F
    identifier quote char: "
    non_nullable_columns: 0
    owner usage: 15
    max table name len: 128
    max column name len: 128
    need long data len: 
    max columns in table: 1000
    max columns in index: 16
    max char literal len: 131072
    max statement len: 131072
    max row size: 131072
    2012-01-11 12:05:42.137 OLE DB Distributor 'PubServerName': {call sp_MSgetversion }
    2012-01-11 12:05:42.153 OLE DB Distributor 'PubServerName': {call sp_helpdistpublisher (N'PubServerName') }
    2012-01-11 12:05:42.169 OLE DB Distributor 'PubServerName': {call sp_MShelp_repl_agent (N'PubServerName', N'UserDBName', N'MtoC_M', N'SubServerName', N'UserDBName', 1)}
    2012-01-11 12:05:42.169 OLE DB Distributor 'PubServerName': select datasource, srvid from master..sysservers where upper(srvname) = upper(N'PubServerName')
    2012-01-11 12:05:42.184 OLE DB Distributor 'PubServerName': {call sp_MShelp_merge_agentid (0,N'UserDBName',N'MtoC_M',null,N'UserDBName',90,N'SubServerName')}
    2012-01-11 12:05:42.184 OLE DB Distributor 'PubServerName': {call sp_MShelp_profile (29, 4, N'')}
    2012-01-11 12:05:42.184 Percent Complete: 0
    2012-01-11 12:05:42.184 Connecting to OLE DB Publisher at datasource: 'PubServerName', location: '', catalog: 'UserDBName', providerstring: '' using provider 'SQLNCLI'
    2012-01-11 12:05:42.200 Initializing
    2012-01-11 12:05:42.200 Repl Agent Status: 1
    2012-01-11 12:05:42.216 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:42.216 Percent Complete: 0
    2012-01-11 12:05:42.231 Connecting to Publisher 'PubServerName'
    2012-01-11 12:05:42.231 Repl Agent Status: 3
    2012-01-11 12:05:42.231 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:43.153 OLE DB Publisher: PubServerName
    DBMS: Microsoft SQL Server
    Version: 09.00.3042
    catalog name: UserDBName
    user name: dbo
    API conformance: 0
    SQL conformance: 0
    transaction capable: 1
    read only: F
    identifier quote char: "
    non_nullable_columns: 0
    owner usage: 15
    max table name len: 128
    max column name len: 128
    need long data len: 
    max columns in table: 1000
    max columns in index: 16
    max char literal len: 131072
    max statement len: 131072
    max row size: 131072
    2012-01-11 12:05:43.169 OLE DB Publisher 'PubServerName': set nocount on declare @dbname sysname select @dbname = db_name() declare @collation nvarchar(255) select @collation = convert(nvarchar(255), databasepropertyex(@dbname, N'COLLATION')) select collationproperty(@collation,
    N'CODEPAGE') as 'CodePage', collationproperty(@collation, N'LCID') as 'LCID', collationproperty(@collation, N'COMPARISONSTYLE') as 'ComparisonStyle',cast(case when convert (int,databasepropertyex (@dbname,'comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end
    as bit) as DB_CaseSensitive,cast(case when convert (int,serverproperty ('comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end as bit) as Server_CaseSensitive set nocount off
    2012-01-11 12:05:43.169 OLE DB Publisher 'PubServerName': {call sp_MSgetversion }
    2012-01-11 12:05:43.200 Connecting to OLE DB Publisher at datasource: 'PubServerName', location: '', catalog: 'UserDBName', providerstring: '' using provider 'SQLNCLI'
    2012-01-11 12:05:44.137 OLE DB Publisher: PubServerName
    DBMS: Microsoft SQL Server
    Version: 09.00.3042
    catalog name: UserDBName
    user name: dbo
    API conformance: 0
    SQL conformance: 0
    transaction capable: 1
    read only: F
    identifier quote char: "
    non_nullable_columns: 0
    owner usage: 15
    max table name len: 128
    max column name len: 128
    need long data len: 
    max columns in table: 1000
    max columns in index: 16
    max char literal len: 131072
    max statement len: 131072
    max row size: 131072
    2012-01-11 12:05:44.137 OLE DB Publisher 'PubServerName': {call sp_MSchecksnapshotstatus (N'MtoC_M')}
    2012-01-11 12:05:44.153 OLE DB Publisher 'PubServerName': {call sp_helpmergepublication (N'MtoC_M')}
    2012-01-11 12:05:44.153 OLE DB Publisher 'PubServerName': {call sys.sp_MSgetreplicainfo(?,?,?,?,?,?,?,90)}
    2012-01-11 12:05:44.169 OLE DB Distributor 'PubServerName': {call sp_MShelp_repl_agent (N'PubServerName', N'UserDBName', N'MtoC_M', N'SubServerName', N'UserDBName', 1)}
    2012-01-11 12:05:44.169 Connecting to OLE DB Subscriber at datasource: 'SubServerName', location: '', catalog: 'UserDBName', providerstring: '' using provider 'SQLNCLI'
    2012-01-11 12:05:44.747 OLE DB Subscriber: SubServerName
    DBMS: Microsoft SQL Server
    Version: 10.50.1600
    catalog name: UserDBName
    user name: distributor_MtoC
    API conformance: 0
    SQL conformance: 0
    transaction capable: 1
    read only: F
    identifier quote char: "
    non_nullable_columns: 0
    owner usage: 15
    max table name len: 128
    max column name len: 128
    need long data len: 
    max columns in table: 1000
    max columns in index: 16
    max char literal len: 131072
    max statement len: 131072
    max row size: 131072
    2012-01-11 12:05:45.122 OLE DB Subscriber 'SubServerName': {call sp_MSgetversion }
    2012-01-11 12:05:45.216 OLE DB Subscriber 'SubServerName': {call sp_MSreplcheck_subscribe}
    2012-01-11 12:05:45.309 OLE DB Subscriber 'SubServerName': set nocount on declare @dbname sysname select @dbname = db_name() declare @collation nvarchar(255) select @collation = convert(nvarchar(255), databasepropertyex(@dbname, N'COLLATION')) select collationproperty(@collation,
    N'CODEPAGE') as 'CodePage', collationproperty(@collation, N'LCID') as 'LCID', collationproperty(@collation, N'COMPARISONSTYLE') as 'ComparisonStyle',cast(case when convert (int,databasepropertyex (@dbname,'comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end
    as bit) as DB_CaseSensitive,cast(case when convert (int,serverproperty ('comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end as bit) as Server_CaseSensitive set nocount off
    2012-01-11 12:05:45.419 Percent Complete: 0
    2012-01-11 12:05:45.419 OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.419 Connecting to Subscriber 'SubServerName'
    2012-01-11 12:05:45.434 Repl Agent Status: 3
    2012-01-11 12:05:45.434 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.559 Percent Complete: 0
    2012-01-11 12:05:45.559 OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.559 Retrieving publication information
    2012-01-11 12:05:45.575 Repl Agent Status: 3
    2012-01-11 12:05:45.575 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.653 OLE DB Subscriber 'SubServerName': {call sys.sp_MSmerge_upgrade_subscriber(1,?)}
    2012-01-11 12:05:45.653 Percent Complete: 0
    2012-01-11 12:05:45.669 Retrieving subscription information.
    2012-01-11 12:05:45.669 Repl Agent Status: 3
    2012-01-11 12:05:45.684 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.763 OLE DB Publisher 'PubServerName': {call sys.sp_MSgetreplicainfo(?,?,?,?,?,?,?,90)}
    2012-01-11 12:05:45.763 OLE DB Publisher 'PubServerName': {call sys.sp_MShelpmergearticles (?,9000000,?) }
    2012-01-11 12:05:45.778 OLE DB Publisher 'PubServerName': {call sp_MSenumschemachange (?,?,9000000,?,0,1) }
    2012-01-11 12:05:45.794 OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.888 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.888 Percent Complete: 0
    2012-01-11 12:05:45.903 Applying the snapshot to the Subscriber
    2012-01-11 12:05:45.903 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.903 Repl Agent Status: 3
    2012-01-11 12:05:45.919 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.919 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.919 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.934 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.950 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.950 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.966 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.981 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.997 OLE DB Publisher 'PubServerName': {call sys.sp_MSallocate_new_identity_range (?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:45.997 OLE DB Subscriber 'SubServerName': {call master..sp_helpreplicationoption ('merge')}
    2012-01-11 12:05:46.091 OLE DB Subscriber 'SubServerName': {call sys.sp_MSmergesubscribedb ('true', 0) }
    2012-01-11 12:05:47.263 OLE DB Subscriber 'SubServerName': {call sp_MSpublicationcleanup (?,?,?)}
    2012-01-11 12:05:47.372 OLE DB Subscriber 'SubServerName': {call sp_MSCleanupForPullReinit (?,?,?)}
    2012-01-11 12:05:47.481 OLE DB Subscriber 'SubServerName': {call sp_MSdropconstraints (N'tblEmailMessages',N'dbo')}
    2012-01-11 12:05:47.606 OLE DB Subscriber 'SubServerName': {call sp_MSdropconstraints (N'tblUser',N'dbo')}
    2012-01-11 12:05:47.716 OLE DB Subscriber 'SubServerName': {call sp_MSdropconstraints (N'tblDPVLocked',N'dbo')}
    2012-01-11 12:05:47.809 OLE DB Subscriber 'SubServerName': {call sp_MSdropconstraints (N'tblCaptureAppToken',N'dbo')}
    2012-01-11 12:05:47.903 OLE DB Subscriber 'SubServerName': {call sp_MSdropconstraints (N'tblCreditThresholdNotification',N'dbo')}
    2012-01-11 12:05:48.013 OLE DB Subscriber 'SubServerName': {call sp_MSdropconstraints (N'tblCreditPot',N'dbo')}
    2012-01-11 12:05:48.106 OLE DB Subscriber 'SubServerName': {call sys.sp_MSaddinitialpublication (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:48.247 OLE DB Subscriber 'SubServerName': {call sp_MSunmarkifneeded (N'tblEmailMessages',?, 1, ?, ?)}
    2012-01-11 12:05:48.403 OLE DB Subscriber 'SubServerName': {call sp_MSunmarkifneeded (N'tblUser',?, 1, ?, ?)}
    2012-01-11 12:05:48.513 OLE DB Subscriber 'SubServerName': {call sp_MSunmarkifneeded (N'tblDPVLocked',?, 1, ?, ?)}
    2012-01-11 12:05:48.606 OLE DB Subscriber 'SubServerName': {call sp_MSunmarkifneeded (N'tblCaptureAppToken',?, 1, ?, ?)}
    2012-01-11 12:05:48.700 OLE DB Subscriber 'SubServerName': {call sp_MSunmarkifneeded (N'tblCreditThresholdNotification',?, 1, ?, ?)}
    2012-01-11 12:05:48.809 OLE DB Subscriber 'SubServerName': {call sp_MSunmarkifneeded (N'tblCreditPot',?, 1, ?, ?)}
    2012-01-11 12:05:48.903 OLE DB Publisher 'PubServerName': {call sp_MShelpmergeschemaarticles(?)}
    2012-01-11 12:05:48.919 OLE DB Subscriber 'SubServerName': {call sp_MSaddinitialsubscription (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}
    2012-01-11 12:05:49.059 OLE DB Distributor 'PubServerName': select datasource, srvid from master..sysservers where upper(srvname) = upper(N'PubServerName')
    2012-01-11 12:05:49.059 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_mergesubentry_indistdb (0,N'PubServerName',N'UserDBName',N'MtoC_M',N'SubServerName',N'UserDBName',0,1,0,N'',?,90)}
    2012-01-11 12:05:49.075 OLE DB Subscriber 'SubServerName': {call sp_MScreateglobalreplica (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,90)}
    2012-01-11 12:05:49.341 Connecting to OLE DB Subscriber at datasource: 'SubServerName', location: '', catalog: 'UserDBName', providerstring: '' using provider 'SQLNCLI'
    2012-01-11 12:05:49.825 OLE DB Subscriber: SubServerName
    DBMS: Microsoft SQL Server
    Version: 10.50.1600
    catalog name: UserDBName
    user name: distributor_MtoC
    API conformance: 0
    SQL conformance: 0
    transaction capable: 1
    read only: F
    identifier quote char: "
    non_nullable_columns: 0
    owner usage: 15
    max table name len: 128
    max column name len: 128
    need long data len: 
    max columns in table: 1000
    max columns in index: 16
    max char literal len: 131072
    max statement len: 131072
    max row size: 131072
    2012-01-11 12:05:50.185 OLE DB Subscriber: SubServerName
    DBMS: Microsoft SQL Server
    Version: 10.50.1600
    catalog name: UserDBName
    user name: distributor_MtoC
    API conformance: 0
    SQL conformance: 0
    transaction capable: 1
    read only: F
    identifier quote char: "
    non_nullable_columns: 0
    owner usage: 15
    max table name len: 128
    max column name len: 128
    need long data len: 
    max columns in table: 1000
    max columns in index: 16
    max char literal len: 131072
    max statement len: 131072
    max row size: 131072
    2012-01-11 12:05:50.325 OLE DB Subscriber 'SubServerName': {call sys.sp_MSregistermergesnappubid(?, ?)}
    2012-01-11 12:05:50.450 OLE DB Subscriber 'SubServerName': sp_MSacquiresnapshotdeliverysessionlock
    2012-01-11 12:05:50.544 OLE DB Subscriber 'SubServerName': sp_MStrypurgingoldsnapshotdeliveryprogress
    2012-01-11 12:05:50.810 OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:50.966 [2%] OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    ꜻä㹒 ꜐äB 11 12:05ä谼砗꜐ä镴ĀPercent Complete: 4
    2012-01-11 12:05:50.997 Propagated 1 schema changes: 1 total
    2012-01-11 12:05:51.013 Repl Agent Status: 3
    2012-01-11 12:05:51.013 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:51.091 [6%] OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    ꜻä㹒 ꜐äB 11 12:05ä谼砗꜐ä镴ĀPercent Complete: 6
    2012-01-11 12:05:51.122 Propagated 1 schema changes: 2 total
    2012-01-11 12:05:51.153 Repl Agent Status: 3
    2012-01-11 12:05:51.153 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:51.200 OLE DB Subscriber 'SubServerName': {call sp_MSunmarkreplinfo (N'tblEmailMessages')}
    2012-01-11 12:05:51.200 [6%] Percent Complete: 6
    2012-01-11 12:05:51.231 Propagated 1 schema changes: 3 total
    2012-01-11 12:05:51.247 Repl Agent Status: 3
    2012-01-11 12:05:51.263 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:51.325 OLE DB Subscriber 'SubServerName': sp_MSissnapshotitemapplied @snapshot_session_token = N'E:\Microsoft SQL Server\MSSQL.1\MSSQL\repldata\unc\PubServerName_UserDBName_MTOC_M\20120111115787\', @snapshot_progress_token = N'E:\Microsoft
    SQL Server\MSSQL.1\MSSQL\repldata\unc\PubServerName_UserDBName_MTOC_M\20120111115787\tblEmailMessages_2.sch'
    2012-01-11 12:05:51.435 drop Table [dbo].[tblEmailMessages]
    go
    SET ANSI_PADDING ON
    go
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[tblEmailMessages](
    [EmailMessageId] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [Guid] [nvarchar](32) NOT NULL,
    [Recipients] [varchar](8000) NOT NULL,
    [CcRecipients] [varchar](8000) NULL,
    [BccRecipients] [varchar](8000) NULL,
    [Sender] [varchar](8000) NOT NULL,
    [Subject] [nvarchar](4000) NOT NULL,
    [BodyText] [nvarchar](max) NULL,
    [BodyHTML] [nvarchar](max) NULL,
    [IsBodyEncrypted] [bit] NOT NULL CONSTRAINT [DF_tblEmailMessages_IsBodyEncrypted] DEFAULT ((0)),
    [Status] [tinyint] NOT NULL CONSTRAINT [DF_tblEmailMessages_Status] DEFAULT ((1)),
    [DateAdded] [datetime] NOT NULL CONSTRAINT [DR_tblEmailMessages_DateAdded] DEFAULT (getdate()),
    [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [MSmerge_df_rowguid_207F75F229994684BC3FAAE5BE4CD6EB] DEFAULT (newsequentialid())
    GO
    GRANT DELETE ON [dbo].[tblEmailMessages] TO [odintermediary]
    GO
    GRANT INSERT ON [dbo].[tblEmailMessages] TO [odintermediary]
    GO
    GRANT SELECT ON [dbo].[tblEmailMessages] TO [odintermediary]
    GO
    GRANT UPDATE ON [dbo].[tblEmailMessages] TO [odintermediary]
    GO
    SET ANSI_NULLS ON
    go
    SET QUOTED_IDENTIFIER ON
    go
    ALTER TABLE [dbo].[tblEmailMessages] ADD CONSTRAINT [PK_tblEmailMessage] PRIMARY KEY CLUSTERED 
    [EmailMessageId] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
    GO
    2012-01-11 12:05:51.450 OLE DB Subscriber 'SubServerName': drop Table [dbo].[tblEmailMessages]
    2012-01-11 12:05:51.560 OLE DB Subscriber 'SubServerName': SET ANSI_PADDING ON
    2012-01-11 12:05:51.669 OLE DB Subscriber 'SubServerName': SET ANSI_NULLS ON
    2012-01-11 12:05:51.778 OLE DB Subscriber 'SubServerName': SET QUOTED_IDENTIFIER ON
    2012-01-11 12:05:51.872 OLE DB Subscriber 'SubServerName': CREATE TABLE [dbo].[tblEmailMessages](
    [EmailMessageId] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [Guid] [nvarchar](32) NOT NULL,
    [Recipients] [varchar](8000) NOT NULL,
    [CcRecipients] [varchar](8000) NULL,
    [BccRecipients] [varchar](8000) NULL,
    [Sender] [varchar](8000) NOT NULL,
    [Subject] [nvarchar](4000) NOT NULL,
    [BodyText] [nvarchar](max) NULL,
    [BodyHTML] [nvarchar](max) NULL,
    [IsBodyEncrypted] [bit] NOT NULL CONSTRAINT [DF_tblEmailMessages_IsBodyEncrypted] DEFAULT ((0)),
    [Status] [tinyint] NOT NULL CONSTRAINT [DF_tblEmailMessages_Status] DEFAULT ((1)),
    [DateAdded] [datetime] NOT NULL CONSTRAINT [DR_tblEmailMessages_DateAdded] DEFAULT (getdate()),
    [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [MSmerge_df_rowguid_207F75F229994684BC3FAAE5BE4CD6EB] DEFAULT (newsequentialid())
    2012-01-11 12:05:51.981 OLE DB Subscriber 'SubServerName': GRANT DELETE ON [dbo].[tblEmailMessages] TO [odintermediary]
    2012-01-11 12:05:52.091 OLE DB Subscriber 'SubServerName': GRANT INSERT ON [dbo].[tblEmailMessages] TO [odintermediary]
    2012-01-11 12:05:52.200 OLE DB Subscriber 'SubServerName': GRANT SELECT ON [dbo].[tblEmailMessages] TO [odintermediary]
    2012-01-11 12:05:52.294 OLE DB Subscriber 'SubServerName': GRANT UPDATE ON [dbo].[tblEmailMessages] TO [odintermediary]
    2012-01-11 12:05:52.403 OLE DB Subscriber 'SubServerName': SET ANSI_NULLS ON
    2012-01-11 12:05:52.497 OLE DB Subscriber 'SubServerName': SET QUOTED_IDENTIFIER ON
    2012-01-11 12:05:52.606 OLE DB Subscriber 'SubServerName': ALTER TABLE [dbo].[tblEmailMessages] ADD CONSTRAINT [PK_tblEmailMessage] PRIMARY KEY CLUSTERED 
    [EmailMessageId] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
    2012-01-11 12:05:52.716 OLE DB Subscriber 'SubServerName': sp_MSrecordsnapshotdeliveryprogress @snapshot_session_token = N'E:\Microsoft SQL Server\MSSQL.1\MSSQL\repldata\unc\PubServerName_UserDBName_MTOC_M\20120111115787\', @snapshot_progress_token = N'E:\Microsoft
    SQL Server\MSSQL.1\MSSQL\repldata\unc\PubServerName_UserDBName_MTOC_M\20120111115787\tblEmailMessages_2.sch'
    2012-01-11 12:05:52.841 OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:52.966 [6%] Percent Complete: 6
    2012-01-11 12:05:52.981 Applied script 'tblEmailMessages_2.sch'
    2012-01-11 12:05:52.981 Repl Agent Status: 3
    2012-01-11 12:05:52.981 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:53.153 OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:53.263 [6%] OLE DB Subscriber 'SubServerName': {call sys.sp_MSaddinitialarticle (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    ꜻä㹒 ꜐äB 11 12:05ä谼砗꜐ä镴ĀPercent Complete: 6
    2012-01-11 12:05:53.294 Preparing table 'tblEmailMessages' for merge replication
    2012-01-11 12:05:53.294 Repl Agent Status: 3
    2012-01-11 12:05:53.310 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:53.450 OLE DB Subscriber 'SubServerName': {call sp_MSupdatesysmergearticles (?,?,?,?,0)}
    2012-01-11 12:05:53.575 OLE DB Subscriber 'SubServerName': {call sys.sp_MSsetup_identity_range (?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:53.794 The merge process was unable to deliver the snapshot to the Subscriber. If using Web synchronization, the merge process may have been unable to create or write to the message file. When troubleshooting, restart the synchronization with
    verbose history logging and specify an output file to which to write.
    2012-01-11 12:05:53.825 OLE DB Subscriber 'SubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:53.966 Percent Complete: 6
    2012-01-11 12:05:53.966 No subscription is on this publication or article.
    2012-01-11 12:05:53.997 Repl Agent Status: 6
    2012-01-11 12:05:54.013 OLE DB Distributor 'PubServerName': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
    2012-01-11 12:05:54.216 Percent Complete: 0
    2012-01-11 12:05:54.231 Category:SQLSERVER
    Source: SubServerName
    Number: 14050
    Message: No subscription is on this publication or article.
    2012-01-11 12:05:54.247 Repl Agent Status: 3
    2012-01-11 12:05:54.372 Percent Complete: 0
    2012-01-11 12:05:54.372 Category:NULL
    Source: Merge Replication Provider
    Number: -2147201001
    Message: The merge process was unable to deliver the snapshot to the Subscriber. If using Web synchronization, the merge process may have been unable to create or write to the message file. When troubleshooting, restart the synchronization with verbose history
    logging and specify an output file to which to write.
    2012-01-11 12:05:54.388 Repl Agent Status: 3
    2012-01-11 12:05:54.388 Disconnecting from OLE DB Subscriber 'SubServerName'
    2012-01-11 12:05:54.388 Disconnecting from OLE DB Subscriber 'SubServerName'
    2012-01-11 12:05:54.403 Disconnecting from OLE DB Subscriber 'SubServerName'
    2012-01-11 12:05:54.403 Disconnecting from OLE DB Subscriber 'SubServerName'
    2012-01-11 12:05:54.403 Disconnecting from OLE DB Publisher 'PubServerName'
    2012-01-11 12:05:54.419 Disconnecting from OLE DB Publisher 'PubServerName'
    2012-01-11 12:05:54.419 Disconnecting from OLE DB Publisher 'PubServerName'
    2012-01-11 12:05:54.419 Disconnecting from OLE DB Publisher 'PubServerName'
    2012-01-11 12:05:54.435 Disconnecting from OLE DB Distributor 'PubServerName'
    2012-01-11 12:05:54.435 Disconnecting from OLE DB Distributor 'PubServerName'
    2012-01-11 12:05:54.450 The merge process will restart after waiting 30 second(s)...
    Percent Complete: 0
    Any help would be much appreciated.
    Thanks
    Chris 

    The error happens on this table every time.
    The schema of the table is below;
    CREATE TABLE [dbo].[tblEmailMessages](
    [EmailMessageId] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [Guid] [nvarchar](32) NOT NULL,
    [Recipients] [varchar](8000) NOT NULL,
    [CcRecipients] [varchar](8000) NULL,
    [BccRecipients] [varchar](8000) NULL,
    [Sender] [varchar](8000) NOT NULL,
    [Subject] [nvarchar](4000) NOT NULL,
    [BodyText] [nvarchar](max) NULL,
    [BodyHTML] [nvarchar](max) NULL,
    [IsBodyEncrypted] [bit] NOT NULL CONSTRAINT [DF_tblEmailMessages_IsBodyEncrypted] DEFAULT ((0)),
    [Status] [tinyint] NOT NULL CONSTRAINT [DF_tblEmailMessages_Status] DEFAULT ((1)),
    [DateAdded] [datetime] NOT NULL CONSTRAINT [DR_tblEmailMessages_DateAdded] DEFAULT (getdate()),
    [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [MSmerge_df_rowguid_207F75F229994684BC3FAAE5BE4CD6EB] DEFAULT
    (newsequentialid())
    The table gets dropped and recreated each time i try to reinitialise the subscription.  I can't remove the article at the moment as two other servers subscribe to the publication.
    Thanks for your help
    Chris
    I am the master of my fate: I am the captain of my soul.

  • Merge Replication from 2012 SQL Server publisher/distributor to 2014 SQL Express subscriber

    Hi, I'm having a question about which version to use when running SQL Merge Replication.
    In my test enviroment I have a SQL 2012 server running as Publisher and Distributor for my Merge Replication. I have now set up a test client running Win7 with SQL 2014 Express as a subscriber. The subscription initializes and runs perfectly.
    But according to the SQL documentation this should not be possible as it states that the subscriber should have a version number equal or lower than the publisher. My subscription client was set ut using SQL-scripting, if I try using the wizard it will just
    cause an error message telling that this is not possible since the client has a newer version number. I still not encountered any problems after I set it up using the script with the sp_addmergepullsubscription and sp_addmergepullsubscription_agent procedures.
    The roll-out of my solution will start in a few weeks and I now have to decide whether to use 2014 Express or 2012 Express on the clients. Using 2014 Express will save me for a lot of upgades in a year or two. The 2012 SQL Server running as publisher/distributor
    will be upgraded to/replaced with a 2014 Server in some few months.
    I'm looking for good advices and recommendations for what to choose on the clients, 2012 Express or 2014 Express. Are the any known problems with using 2014 Express as a subscriber to a publisher/distributor running 2012 SQL Server?
    All responses are welcome!
    Regards, Anders

    Hi,
    As you understand that a Subscriber to a merge publication can be any version less than or equal to the Publisher version. When you set up a subscription from a publisher to a subscriber using SQL Server Management Studio, you will get error
    “The selected Subscriber does not satisfy the minimum version compatibility level of the selected publication.” And you can use T-SQL script to get around this error message.
    I would install SQL Server 2012 Express on the clients. Here is the reasons:
    1. If you upgrade the publisher to SQL Server 2014, it is still working with SQL Server 2012 on the subscriber.
    2. I cannot tell whether there are other potential problems if I choose the later one besides the error message.
    Reference:
    http://msdn.microsoft.com/en-us/library/ms143699(v=sql.120).aspx
    Thanks.
    Tracy Cai
    TechNet Community Support

  • Recommended way to start a merge replication with big database

    Hi all
    I need to install a merge replication on 2 diferent stores with Sql 2012 server, that are connected via 2 mb vpn and the database is about 4gb. due to the fact we have 2mb for the initial sync and the database is big, What is the recommended way to do that
    without using the snapshop agent step? Can I take a backup of the db and restore it in the second server and setup the merge replication ? If so, where I tell the wizards that the databases are already there and do not use the snapshop agent and just start
    to replicate ?
    Thanks in advance.
    James

    Create the publication and snapshot. Zip up the snapshot and send it via FedEx to the subscriber. Apply the snapshot on the subscriber by pointing to the unzipped snapshot using the altSnapshotFolder parameter of the merge agent.
    looking for a book on SQL Server 2008 Administration?
    http://www.amazon.com/Microsoft-Server-2008-Management-Administration/dp/067233044X looking for a book on SQL Server 2008 Full-Text Search?
    http://www.amazon.com/Pro-Full-Text-Search-Server-2008/dp/1430215941

  • Looking for recommendations for SSO using Identity Management Suite

    Apparently there is more than one way to perform the single sign on functionality and I'm wondering if anyone has any recommendations. We want to use the user's CAC to authenticate and we are using both a thick and a thin client with business intelligence software (not Oracle) for reporting and the thick app needs to login, transfer data to and pull data from the database. We don't want the user to have to enter their information for login regardless of which piece of the application they are accessing. I was considering Enterprise Users, but not sure this is the best solution.
    We plan on using OID to store the user's data and using the identity management with access manager suite. We need to use label security and row level security combined with roles in the database. We plan on using Oracle's Advanced security option for encryption and we are using 11g database

    Great questions - swifer was made by me for me to use with arch.  But its dependencies are light and very common (you almost certainly have them already), so it should run on other distros well.  It does use something comparable to profiles for secure networks but much simpler - they are just wpa_supplicant.conf segments, but swifer writes them itself for simple cases (and most cases are simple cases; wep is a current exception) so generally you would have to pay no attention to them.
    As for permissions on the files, I've been meaning to get around to that - they've been 0644, but I just changed it to 0600 in the last revision which is now on github.
    EDIT: also keep in mind this is a development version.  I use it myself as my only networking tool on a netbook that I bring everywhere - and I have no issues.  But I also know how to connect manually in a bind: and I advocate for every user knowing the manual steps (ip, iwlist (if needed), iw / wpa_supplicant, dhcpcd/dhclient).
    Last edited by Trilby (2013-06-21 22:13:24)

  • SQL Server upgrade with merge replication

    We are planning to upgrade SQL Server 2005 to SQL Server 2012 and both the databases will be hosted on two different servers. SQL Server 2005 has around 25 merge publication and have around 400 laptops that subscribe to these publications. The new SQL server
    2012 will also have same replication setup as the old server. The data base size on the existing server is 66 GB and takes about 1.5 hrs for initial sync up.
    Due to various business constraints we can't move over to new server in a single switch. Instead we need to keep both the servers running for a month or two. During this process, we need to replicate (uni-directional) data from SQL server 2005 to SQL server
    2012 on a daily basis. To achieve this we have tried the following approaches so far:
    DB backup and restore from SQL 2005 to SQL 2012 server - In this approach, the publications are dropped by SQL 2012 after we restore.
    SQL native replication - Could not setup Transactional, Merge and Snapshot replication due SQL server constraints. Cannot setup merge replication between SQL 2005(publisher) and SQL 2012(subscriber)
    Microsoft Sync framework – Sync fwk expects identify column or primary key for the sync to work but database has 76 tables without any primary key
    SSIS – DB consists of 170 tables and will require significant effort to write and maintain the package to sync update and delete operations on the DB. Insert operations on the other hand are easy to support.
    We are looking for different options to setup server to server replication with given constraints. 

    You will need to use some form of change tracking to gather the changes up and replay them on the SQL 2012 server.
    You can hack into the msmerge_Contents and msmerge_tombstone to do this. It will be fairly laborious to set up, but it is doable. You can do this as a batch operation so you can run it nightly to do your syncs.
    A lower tech way of doing it would be to run tablediff between the two servers and then replay the script nightly.
    looking for a book on SQL Server 2008 Administration?
    http://www.amazon.com/Microsoft-Server-2008-Management-Administration/dp/067233044X looking for a book on SQL Server 2008 Full-Text Search?
    http://www.amazon.com/Pro-Full-Text-Search-Server-2008/dp/1430215941

  • OBIEE 11g RPD and Weblogic Identity Management

    Hi,
    I have an issue where only users from one weblogic Provider (LDAPAuthenticator) can log into OBIEE.
    New users created using the default provider (DefaultAuthenticator) cannot log in (the exception is the Administrator user which was upgraded from 10g).
    If I open the RPD in online mode and connect to 'Identity Management', I do not see the new users above in the list (i.e. they have not been pulled down by OBI)
    Error message in the logs show "authentication passed, however use cannot be found in identity store" - which makes sense as I do not see them in the RPD. Any ideas?
    N.B: New application roles in weblogic are syncing with the the RPD correctly.

    Thanks for your reply Paul. That is quite a drawback if it is the case. I guess the fall back is to implement one authenticator and if that fails, it would pass on to the RPD authentication (like in 10g)? Have you by chance managed to implement the 'act as' obi functionality with the weblogic authenticator setup?

  • Can we have more than one trusted system in Oracle Identity Manager?

    Can we have more than one trusted system in Oracle Identity Manager?

    Can we pull employee from one trusted system and in the same way can we pull some contractors from other trusted system simultaniously?
    yes you can. In the schedule task you'll have to put your query in such a way that it brings both data.
    Can both trusted systems can be active at the same time pulling two types of users from two trusted systems?
    You have to run both recon in sequential manner so that it can pull correct data for OIM
    Some where i read in doc that only one target system can be designated as trusted system if it as has more than one the recons will not work properly...
    I don't think that it results into issue. But we have to see the sequence mainly. Otherwise it will results into wrong data

  • Identity management

    Hi gurus,
    can somebody give me a document on identity management.
    Kind regards,
    shruti beri rajat

    Requirement:
    could you help me with a query to get all the tables with current identity ranges (example like 10000 or 20000 etc), and how frequently they are getting new ranges? etc.
    Is it managed automatically or manually?
    How to: Manage Identity Columns (Replication Transact-SQL Programming)
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Database Design
    New Book / Kindle: Beginner Database Design & SQL Programming Using Microsoft SQL Server 2014

  • Merge Replication

    Hello Experts,
    we are using sql server 2008 R2 on three different servers, which are configured with merge replication, and are working fine.
    Due to one requirement, i added two new tables to the publisher, and kept them in a separate publication. as of now, there are no records in those tables. the requirement demands, the job needs to run continuous.
    even though there is no data in those tables, this sync job is causing for blockings. this is strange. there are other publication with more than 100 tables each are working fine with lots of data flow, but this new publication with two tables are zero records
    are causing lots of blockings.
    please could you guide me on where am i missing?
    Thanks in advance.
    Cheers, Vinod Mallolu

    Hi Vinod,
    According to your description, a publication with no records in the published tables faces blockings. Please help to post SQL Server error log for analysis.
    Based on my research, this issue could occur when the merge agent is being blocked by a process which has an open transaction. One possible situation is that merge agent executes sp_mergemetadataretentioncleanup to clean up metadata, it opens some transactions.
    If during this time, there is a failure of merge agent or connectivity problems, then those transactions aren't rolled back. To troubleshoot the issue, you could follow the solutions below.
    1.When merge agent executes sp_mergemetadataretentioncleanup to clean up metadata, it opens some transactions. If during this time, there is a failure of merge agent or connectivity problems, then those transactions aren't rolled back. In that case, you
    could enable XACT_ABORT at server level using SQL Server Management Studio as per the following article:
    https://msdn.microsoft.com/en-us/library/ms190763.aspx.
    2.You could use sp_who or sp_who2 to identify blocking process. The blk column of sp_who and blkby column of sp_who2 contains the spid for blocking process, and then you could use KILL statement to terminate blocked process. For more information about the
    process, please refer to the article:
    http://www.mssqltips.com/sqlservertip/2732/different-techniques-to-identify-blocking-in-sql-server/
    Regards,
    Michelle Li

Maybe you are looking for

  • T 40 Yellow DC-in block on the system board part number

    The DC conncector mounted on the system brd where the AC Adapter connects to the laptop. Does anybody know the part number for that. It is a failure I see in many of the t40 series laptop but I have not been able to locate a part number. It does not

  • Ora-12154:TNS:Could not resolve the connect identifier specified

    Helo I face this error when i tried to connect to the database. i have been installed 11g database on machine with database name 'hrall' But when i tried to connect to the database it's shows me error "ora-12154:TNS:Could not resolve the connect iden

  • Adobe Reader X problem - no search contents filter

    Hi! I cannot search contents of a .pdf using windows, as I could in adobe reader 9. I have found out that adobe reader x doesn't have a filter (to enable search contents)! was it this how it supposed to be?

  • Black 1st screen on movie made in Iphoto

    Hello. I have just created my first Quicktime movie in Iphoto. I have imported it into my Iweb website that I am creating, but the first thing you see is a blank screen. How can I have the first image in my movie be what you see before you press play

  • How to bounce database automatically

    Dear all, I want to write a script and schedule it in crontab, if it is ebs I have scripts addbctl.sh and addlnctl.sh to stop database and listner. But in another application (not ebs) these scripts are not available and I have to manually bounce dat