Help Needed Urgently! - SQL7 Replication Conflict Problem
Dec 18, 2001
Hi all,
i think i have serious problem. i have almost 20,000 rows with the following conflict on a table (generated by merge replication over a period of around 3 weeks) :
'The row was updated at 'SubscriberServer3.DatabaseA' but could not be updated 'at 'PublicationServer1.DatabaseA'. Metadata mismatch'
i have 20 remote subscribers & 1 publisher. The above message originates from practically everywhere.
Besides dropping(not practical at the moment) & recreating replication to get rid of them, what else can i do to resolve this problem?? Do i have to resolve this problem row by row?? i'm at my wit's end. Please help!!
hi all , i am working on a migration project of database from access 2003 to sql server 2000 but facing a problem in converting queries from access to sql server , is there any way or tool through which i can convert the queries to sql server format Thanks in advance
Hi,I urgently need help with this. I am trying to implement custom paging with Sql 2000. However I have ran into a few problems.I really hope that someone would be able to help me out. I need to get this done by tomorrow!! (I know I screwed up big time, but I didn;t relize that built in paging fetches all the records, and the displays it page by page!!) 1) Currently the paging seems to be working. However the primary key always resets itself. For example, lets say I have 4 records ID 1,2,3,4When I delete ID 3, instead of displaying ID 1,2,4 it shows ID 1,2,3. Is there any way to solve this problem?2) The database that I am currently creating will have about 40,000 records, is it advisible for me to use your control (I hope so)?Thank you and do have a nice day.http://www.codeproject.com/aspnet/ASPNETPagerControl.asp CREATE PROCEDURE [dbo].[GetPagedProducts11] ( @PageSize int, @CurrentPage int, @ItemCount int output ) AS Declare @UpperBand int, @LowerBand int
-- Get The Count Of The Rows That They Meet the Criteria SET @ItemCount = (SELECT COUNT(*) FROM aduan)
-- Calculate the @LowerCount and @UpperCount SET @LowerBand = (@CurrentPage - 1) * @PageSize SET @UpperBand = (@CurrentPage * @PageSize) + 1
-- INSERT ALL THE Rows that meets the Criteria INSERT INTO #AllRows SELECT ad_nama,ad_tarikh, ad_status,ad_title FROM aduan
-- AND finally select and return desired -Paged- Rows SELECT ad_id, ad_nama, ad_tarikh, ad_status,ad_title FROM #AllRows WHERE ad_id > @LowerBand AND ad_id < @UpperBand
hi Friends... I have got a ordermaster table in which the orderid field is autoincremental.Now I also have an Ordercode field which is a combination of [current (orderid)-LICON)] eg 1-LICON .. I achieve this using the following query ... insert into ordermaster(ordercode,orderamt,orderdate) select cast(max(orderid)+1 as varchar)+'-LICON' as ordercode,1000,'3/6/2004' from ordermaster
But I think the above query could lead to an inconsistent state ....If say following occurs :
1) USER1 reads max orderid as 1 2) User2 also reads max orderid as 1 3)USER 1 inserts record with ordercode as 2-LICON. 4)USER 2 will also insert record for ordercode as 2-LICON since max orderid read by USER2 is also the same as USER1.
How do I avoid this....I know I there are LOcktypes. But aren't locktypes used when we are updating same records....
Please help me out .I really need help in ths context
Hi!I have a large project that is due to complete this week. In order tocomplete it I need SQL Server 2000 installed on a remote server. Mydisk is corrupt and to order another media disk would damage mydeadline. I have the licence and serial key, but now need good installfiles. I am even ready to buy another retail box, if I can find asupplier that would give me a download site for the media, while I waitfor the shipment!Please PLEASE help!Regards,Barry
Hello there guyz!ahm, i just want to ask, how can i upload a MS word text file to a SQL Dbase? I know i must use the Input File, the one in the Toolbox menu for HTML controls. but i need to know 1. How can i link the SQL dbase to the Input file Button? 2. How to put the MS word file onto the SQL dbase? 3. what should i use to declare the MS Word file on the SQL Dbase? is it variable? char? etc... THank you so much! Please i Really need this one to put up my thesis system. and if it isn't much of a task, please can anyone send me the SOURCE CODES for my questions?
I have some rogue replication conflict tables that I can't delete because they are system tables. They are names aonflict_<tablename> and bonflict_<tablename>. They are definitely not needed anymore. How can I delete them ? Does anyone know how to delete a system table ?
Is there a way to replicate all data in a table but on certain columns avoid throwing a conflict? I have serveral SQL servers running Tx-Rep and almost all of the tables contain a DateModified field. I don't really need to check for conflicts on this data but want to keep it in tact as much as possible.
we are running business critical application in 24*7 enviroment. Application is written in java and use JDBC 1.2 to read and write data into SQL 2005 SP2. We also use push transactional replication and as a part of this replication we run snapshot agent regulary.
Problem is that our java application receives regulary error: "Could not complete cursor operation because the table schema changed after the cursor was declared." After some further investigation with Profiler we found out, that snapshot agent calls sp_MSreplupdateschema with high probability this procedure changes at least modify_date of some tables included in replication. In profiler we also found that JDBC broadly uses cursors to access data. After the call sp_MSreplupdateschema all cursores declared before the call failed.
We tried to setup JDBC driver not to use cursors by setting SelectMethod=direct in configurations file. But this started deadlocks.
From my point of view it`s legitim to use cursors and snapshot agent together. The question is why snapshot agent modify table schema and how to solve this problem?
I send same question into Replication forum. Till now without any answer. I hope to have more luck there.
let's say i have three publications running on a network of one central server and four shops.
- a merge replication that keeps the price-table up to date between all shops and the central server
- a transactional replication of the arrived_orders-table from the central server to the shop in case
- a transactional replication of the sold_products-table fromt he shops to the central server.
the whole replication network runs on a distribution database that is located on the central server.
now, i've noticed already a few times, when a conflict occurs in one of the replications, also all other replications stop working. (for example when the transactional replication can not insert a line in the sold_products table because of a violation against a UNIQUE constraint in the central server).
Is it normal that also the merge replication and the other transactional replication don't do their inserts, updates etc any more????
When conflict occur, I want the user to be able to select witch row to keep and witch to delete.
I've look for system stored procedure, that could help me do the resolution but I've founded nothing.
So I've thought that I could do it by hand, with UPDATE/DELETE query Take the row in the %TABLE_NAME%_Conflict table and copy it into the real table, than delete the row.
How can I get sql server to log to the windows event long when a conflict occurs so that I can set up a notification alert. I have gone to the replication alerts in enterprise manager and set one up but it is never triggered and there is never anything in the windows event log.
Msg 207, Level 16, State 1, Line 1 Invalid column name 'origin_datasource_id'.
When I run the "Microsoft Replication Conflict View" I am prompted to pick a table. Here are the details of the error message I receive.
===================================
CMCustomer is neither a DataColumn nor a DataRelation for table summary. (System.Data)
------------------------------ Program Location:
at System.Data.DataRowView.get_Item(String property) at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.GetWinnerSQL(DataRow loserRow, Boolean blockFetch) at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.GetSourceRow() at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.FillDetailData() at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.FillDetail() at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.summaryInfoGrid_SelectionChanged(Object sender, SelectionChangedEventArgs args) at Microsoft.SqlServer.Management.UI.Grid.GridControl.OnSelectionChanged(BlockOfCellsCollection selectedCells) at Microsoft.SqlServer.Management.UI.Grid.GridControl.SelectedCellsInternal(BlockOfCellsCollection col, Boolean bSet) at Microsoft.SqlServer.Management.UI.Grid.GridControl.set_SelectedCells(BlockOfCellsCollection value) at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.ResetSummaryGrid() at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.LoadConflict()
When I try to "Remove" then conflict (Conflict type - "4(Update/Delete, Update wins)") I receive the following...
===================================
Column 'CMCustomer' does not belong to table summary. (System.Data)
------------------------------ Program Location:
at System.Data.DataRow.GetDataColumn(String columnName) at System.Data.DataRow.get_Item(String columnName) at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.SetLogInfo(DataRow logRow, String sql) at Microsoft.SqlServer.Management.UI.ConflictViewer.ViewerForm.btnClearUpper_Click(Object sender, EventArgs eg)
I am using MSDE 2000 for my replication. the problem is that althought at time creating publication it inserts GUID into every table but if one table in 2 nodes has same primary key, it inserts only one row ( accorrding to prority ). there are some Conflict Reslover methods that can be used for this purpose. i wanted to ask that is there any other way for me to resolve this conflict. i am asking for a new way because my database schema has been created and a lot of coding behalf of that schema has been done.
I faced with strange problem. From time to time, during syncronization I get the following errors at the subscriber:
ERROR: -2147200992
SOURCE: Merge Replication Provider
TEXT: The merge process could not store conflict information for article 'Products'. Check the publication properties to determine where conflicts records are stored. When troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write.
ERROR: 2812
SOURCE: OFF1SQLEXPRESS TEXT: Could not find stored procedure 'MSmerge_cft_sp_49D28CEAFF8A4ACC5C5462B5027D4E4D'.
ERROR: -2147199481
SOURCE: Merge Replication Provider
TEXT: The Merge Agent was unable to update information about the last synchronization at the Subscriber. Ensure that the subscription exists at the Subscriber, and restart the Merge Agent.
After I refresh the snaphot at the publisher, these errors disappear and the syncronization is completed without any problem. And I can sync easy again week or two..
What is the problem? What is the right solution?
Yep, I can continue to refresh the snapshot each time when the error appears, but.. maybe there is another approach?
I have been evaluating merge replication, 'push' subscription on SQL Server 2014. If the default resolver is used (I refer to @article_resolver parameter of sp_addmergearticle), all seems to work as expected. However if I use "Microsoft SQL Server Subscriber Always Wins Conflict Resolver" (or any other MS standard resolver for that matter), if the Subscriber is on a different machine, the merge agent invariably gives the following error: "The process could not initialize <resolver_name>. Verify that the component is registered correctly."
This does not happen if the Subscriber is on the same machine as the Publisher and Distributor.
The problem seemed to exist in SQL Server 2008 according to some posts but it has been apparently fixed since then. I've tried the following:
- @partition_options = 0, as was suggested somewhere.
- Copied ssrpub.dll (the resolver dll) to the Subscriber machine (should not really matter as this is 'push' subscription?)
- Registered ssrpub.dll with regsvr32 on the Publisher/Distributor machine.
I've also run sp_enumcustomresolvers on the Publisher machine, and it happily showed all standard resolver, including the "Microsoft SQL Server Subscriber Always Wins Conflict Resolver".
Another thought is, I'm using SQL Server Express as the Subscriber (on the remote machine). Perhaps it does not support custom resolvers? (I'm using the full SQL Server in the 'local subscriber' variant, which does work OK as I mentioned before).
Note also that if I create a new publication via SSMS, the Resolver tab of the Article Properties dialog is empty, i.e. it does not list any resolver. The same tab contains the full list of resolvers though, if opened for an existing publication.
I have gone through BOL and various online resources including this one and I can't find any examples on how to use custom conflict resolvers to generate a result row which is a combination of the rows to be merged.
BOL says it can be done, but suitable examples are missing. I have found various posts requesting examples from up to a year ago, but can see no replies with relevant information
In particular I would like to see examples of
1) A stored procedure based custom conflict resolver
I set up the transationsal replication on SQL7.0. It did not work. Here are the messages
1 on Snapshot Agent: The process could not create file Server_namec$MSSQL7REPLdATAFTPServer_namefile_nam e. Error: Access is denied 2. On Log Reader Agent: bi replication transaction are available 3. Disribution Agent: The initial snapshot for publication "DB_Name" is not yet available.
Need to set up replication between a server in our corporate network and another outside our network. Both are NT 4 servers running SQL7 and I am instructed to configure merge replication on both ends. My questions are: Is it possible to achieve this by running tcpip(read somewhere that I would need to run MPR to load the net libraries) and configuring the firewall to allow tcp/ip on the ports we are running SQL on between the two servers?
Yesterday I set up a Transaction replication with 1 publication Server A (publisher)(push)(SQL 7) Server B (distributor and subscriber)(SQL 7)
The replication was succesful and the suscriber can get correct data.
This morning I found the Red sigh in replication mornitor/miscellaneous agents.The error message is: "The job failed. Unable to determine if the owner (domain nameuser ID) of job Agent history clean up: distribution has server access (reason: Could not obtain information about Windows NT group/user 'domain name'. [SQLSTATE 42000] (Error 8198))."
I tried to use the 'disable publishing and distribution wizard' to disable this replication, but it did not finish and the screen jusr freeze. I used the task manager to end the task.
then I check the replication monitor, the publication was gone but the RED sigh still there.
I tried to use sp_dropdistpublisher to drop a Publisher but it said "the server A is not a distributor"
I tried to use sp_dropdistributiondb to delete the distribution database. but it said "Could not drop the distribution database 'distribution'. This distributor database is associated with a Publisher."
I tried to use sp_dropdistributor to remove the Distributor . but it said "Could not drop the Distributor 'Server B'. This Distributor has associated distribution databases."
I would like to set up one way Merge replication. The only way I was able to do this was to remove the triggers off the tables manually. There seems like there should be a better way.
We have merge replication running with anamous subscribers We have generested lots of views tables and stored procedures like sp_ins_C435D35DDEC04FE2517CCD52A9024EC4
I'm attemting to replicate from a SQL7 box to SQL2000.
The snapshot works fine, but it fails when it tries to push the subscription to the SQL2000 box with a trust error (I don't recall the exact message). I noticed that it fails when Enterprise Mgr is configured as: "Tools/Replication/Configure Publishing, Subscribers and Distribution", Subscriber Tab, "Impersonating SQL Service Agent". It works if I change to "SA".
This is only the case when we replicate from SQL7 to SQL2K. SQL7 to SQL7 works fine with "Impersonating". Has anybody seen this behavior? Any workarounds, other than using SA?
I'm attemting to replicate from a SQL7 box to SQL2000.
The snapshot works fine, but it fails when it tries to push the subscription to the SQL2000 box with a trust error (I don't recall the exact message). I noticed that it fails when Enterprise Mgr is configured as: "Tools/Replication/Configure Publishing, Subscribers and Distribution", Subscriber Tab, "Impersonating SQL Service Agent". It works if I change to "SA".
This is only the case when we replicate from SQL7 to SQL2K. SQL7 to SQL7 works fine with "Impersonating". Has anybody seen this behavior? Any workarounds, other than using SA?
i am currently using MSSQL Server 2000 and i wish to replicate all the databases from 1 server to another server. The replication will be done daily at a certain time. Anyone noes how to do it? Thanks :)
You have two databases involved in transactional replication. The customer indicates that they wish to set the destination database up to be an €śarchive€? database, so no deletes should be replicated in the target. Can this be done?
A large partitioned table using a partition sheme is used in transactional replication. The developers indicate that they wish to make modifications to this table, adding a few extra columns. What must you do to complete these modifications?
I am new to Sql Server.I have to create snapshot replication between SQL 2000 and 2005.The Publisher should be sql 2000 and the subscriber is sql 2005.I need ur valuable inputs as how to start.
Sorry for asking what may be a rookie question... We have configured transactional peer-to-peer replication in a testing environment with two servers, each publishing and subscribing to each other. If we write a piece of code that updates the same row on both servers with different values, we are not seeing data conflict issues. The data updated on server 1 propagates to server 2, but at the same time data updated on server 2 is updated on server 1. This leaves the records on each server out of data.
I expected my test case to produce errors, but instead I got inconsistent data. How do you turn on data consistency checking?