Friday, March 30, 2012
Loss of data due to conflict
i installed merge replication successfully,after that i tried to add a row from publisher with id 2004 (it is primary key and autogenerated column)and different other columns,same like that i inserted a row from subscriber with id as 2004 and different ot
her column.when i observed after merge agent is successfull only one row is replicated the other row is failed to replicate due to conflict.this causing loss of data.please advise what i have to do to get data from both sides.
thanks®ards,
reddy
Reddy,
with merge, if you have identity columns as the PK, you need to partition
according to publisher and subscriber ie each uses its own range. Before
initialization, the publisher PK is set to be "Identity Yes (Not for
Replication)" and SQL Server will manage the seeds on publisher and
subscriber and you can define when a new seed is allocated. In your case
this doesn't seem to be happening, presumably because it is a manual setup?
If this is so, you'll need to partition the identity values yourself. Here
is an article which should help you:
http://www.mssqlserver.com/replicati...h_identity.asp
HTH,
Paul Ibison
|||paul,
thank you very much for your information.
but if i set different ranges both on publisher and subscriber the sequence will be broken.is there anyother way you would like to suggest.
thanks®ards
chandra
|||In merge. there is no other way to partition on one single PK-identity column and avoid identity conflicts, as this would mean the subscriber needs to be in contact at all times with the publisher (zero autonomy). This is possible in transactional with im
mediate updating subscribers, as the publisher itself controlls all identity values, even those on the subscriber.
As an alternative, you could make your PK 2 columns with one of them as the Site Identifier, while the other is an identity column. In this way duplicate identity values could be added and this wouldn't result in a conflict.
HTH,
Paul Ibison
|||paul,
thank you very much for your information.i go for second option that is pk 2 columns with one of them as site identifier.
i think it will works fine for my requirement.
thanks®ards
reddy
Losing record after synchronizing subscriptions
Hi
We got a server running SQL server 2000 SP4 with a database that’s being replicated
There are 17 subscribers running MSDE SP4 using merge replication. Replication is started manualy
Initially we tested this with two subscriptions an everything went well, but now, since 3 months, we are facing a weird problem while sync'ing. We have massive data loss on records that where inserted at the subscribers. Records seem to disappear, but only record that have a foreign key constraint. What I mean is that for example a record is inserted at the table that holds our client records with primary key ‘ClientID’ and then a record is inserted in a table with actions for that client with a foreign key ‘ClientID’ referring to the client table. After sync’ing that client record is inserted correctly in database on the publisher but the records in the table with actions are gone.
As far as I know the tables are correctly formed with identity set not for replication and so on.
Shortly, I can’t find any problem, a specially when it doesn’t happen always.
If anyones has faced this and got a solution, please let me know.
Thanks.
Raf
Are there constraint violations that are happening?
Also look at the article property compensate_for_errors. it is turned ON by default. What this does is, say for an insert coming from publisher to subscriber, if there is a constraint violation or some other failure, a delete is sent back to the publisher resulting in data loss.
Set this propery to false and monitor your system for data integrity.
|||Thanks
I'll check this out
Monday, March 12, 2012
Lookup / Merge Join / Script - Howto look up values by comparing to a range of values?
Hello all,
I am trying to think my way through a solution which I believe others have probably come across... I am trying to implement a matching routine wherein I need to match an address against a high value and a low value (or, for that matter an input date vs. a start and end date) to return the desired row ... i.e. if I were to use a straight vb program I would just use the following lookup:
"SELECT DISTINCT fire_id, police_ID, fire_opt_in_out, police_opt_in_out FROM ipt_tbl " & _
" WHERE zip_code = @.zip_code AND addr_prim_lo <= @.street_number AND addr_prim_hi >= @.street_number " & _
" AND addr_prim_oe = @.addr_prim_oe AND street_pre = @.street_pre AND street_name = @.street_name " & _
" AND street_suff = @.street_suff AND street_post = @.street_post " & _
" AND (expiry_date = '' OR expiry_date = '00000000' OR expiry_date > @.expiry_date)" & _
" GROUP BY fire_ID, police_ID, fire_opt_in_out, police_opt_in_out"
My question, then, is how would you perform this type of query using a lookup / merge join or script? I have not found a way to implement a way to set the input columns? I can set the straight matches without a problem, i.e. lookup zip code = input zip code, but can't think of the correct way to set comparisons, i.e. lookup value 1 <= input value AND lookup value 2 >= input value
Any suggestions?
thanks for your time...
After a bit of research, I have found a few different solutions to this problem. The first uses the lookup by altering the sql statement and parameter set under the advanced tab (enable memory restriction / modify the sql statement) as discussed here http://www.julian-kuiters.id.au/article.php/ssis-lookup-with-range. The second (a bit less likeable) option was to use a script component and found here http://sqlblogcasts.com/blogs/simons/archive/2005/10/04/628.aspx
I am a bit disappointed that the range functionality was not prebuilt in to the components (other than through the memory restriction)... Does anyone else have any ideas or suggestions?
Thanks for your time.
|||Although the logic in your query is pretty clear, the context and output is not - at least not to me. What exactly do you want to have happen in your data flow as the output of this process?|||Reading back I can see how you would be confused...
I am trying to look up information based on an address range (i.e. if you are on the 23rd block (2300 - 2400) there will be one set of police and fire municipality codes, if you are on the 24th block 2401 - 2500 there will be seperate municipality code outputs) We are aggregatting these facts based on addresses supplied from our customer base to a table provided by the state which maps out the various address blocks for which we will need to break down our earned premiums such that we can pay taxes to the firefighter and police pension plans.
I think that the main point was that there is not an intuitive way of looking up information based on a fact tables value being within the dimension tables value range. I have also had this problem looking up values based on date ranges...
|||I don't know how much anyone is interested, but here is a topic on the feedback site which you can vote on to bring this to the ssis teams attention...
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=263594
Lookup / Merge Join / Script - How to?
Hello all,
I am trying to think my way through a solution which I believe others have probably come across... I am trying to implement a matching routine wherein I need to match an address against a high value and a low value (or, for that matter an input date vs. a start and end date) to return the desired row ... i.e. if I were to use a straight vb program I would just use the following lookup:
"SELECT DISTINCT fire_id, police_ID, fire_opt_in_out, police_opt_in_out FROM ipt_tbl " & _
" WHERE zip_code = @.zip_code AND addr_prim_lo <= @.street_number AND addr_prim_hi >= @.street_number " & _
" AND addr_prim_oe = @.addr_prim_oe AND street_pre = @.street_pre AND street_name = @.street_name " & _
" AND street_suff = @.street_suff AND street_post = @.street_post " & _
" AND (expiry_date = '' OR expiry_date = '00000000' OR expiry_date > @.expiry_date)" & _
" GROUP BY fire_ID, police_ID, fire_opt_in_out, police_opt_in_out"
My question, then, is how would you perform this type of query using a lookup / merge join or script? I have not found a way to implement a way to set the input columns? I can set the straight matches without a problem, i.e. lookup zip code = input zip code, but can't think of the correct way to set comparisons, i.e. lookup value 1 <= input value AND lookup value 2 >= input value
Any suggestions?
thanks for your time...
After a bit of research, I have found a few different solutions to this problem. The first uses the lookup by altering the sql statement and parameter set under the advanced tab (enable memory restriction / modify the sql statement) as discussed here http://www.julian-kuiters.id.au/article.php/ssis-lookup-with-range. The second (a bit less likeable) option was to use a script component and found here http://sqlblogcasts.com/blogs/simons/archive/2005/10/04/628.aspx
I am a bit disappointed that the range functionality was not prebuilt in to the components (other than through the memory restriction)... Does anyone else have any ideas or suggestions?
Thanks for your time.
|||Although the logic in your query is pretty clear, the context and output is not - at least not to me. What exactly do you want to have happen in your data flow as the output of this process?|||Reading back I can see how you would be confused...
I am trying to look up information based on an address range (i.e. if you are on the 23rd block (2300 - 2400) there will be one set of police and fire municipality codes, if you are on the 24th block 2401 - 2500 there will be seperate municipality code outputs) We are aggregatting these facts based on addresses supplied from our customer base to a table provided by the state which maps out the various address blocks for which we will need to break down our earned premiums such that we can pay taxes to the firefighter and police pension plans.
I think that the main point was that there is not an intuitive way of looking up information based on a fact tables value being within the dimension tables value range. I have also had this problem looking up values based on date ranges...
|||I don't know how much anyone is interested, but here is a topic on the feedback site which you can vote on to bring this to the ssis teams attention...
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=263594
Friday, March 9, 2012
Lookup / Merge Join / Script - How to?
Hello all,
I am trying to think my way through a solution which I believe others have probably come across... I am trying to implement a matching routine wherein I need to match an address against a high value and a low value (or, for that matter an input date vs. a start and end date) to return the desired row ... i.e. if I were to use a straight vb program I would just use the following lookup:
"SELECT DISTINCT fire_id, police_ID, fire_opt_in_out, police_opt_in_out FROM ipt_tbl " & _
" WHERE zip_code = @.zip_code AND addr_prim_lo <= @.street_number AND addr_prim_hi >= @.street_number " & _
" AND addr_prim_oe = @.addr_prim_oe AND street_pre = @.street_pre AND street_name = @.street_name " & _
" AND street_suff = @.street_suff AND street_post = @.street_post " & _
" AND (expiry_date = '' OR expiry_date = '00000000' OR expiry_date > @.expiry_date)" & _
" GROUP BY fire_ID, police_ID, fire_opt_in_out, police_opt_in_out"
My question, then, is how would you perform this type of query using a lookup / merge join or script? I have not found a way to implement a way to set the input columns? I can set the straight matches without a problem, i.e. lookup zip code = input zip code, but can't think of the correct way to set comparisons, i.e. lookup value 1 <= input value AND lookup value 2 >= input value
Any suggestions?
thanks for your time...
After a bit of research, I have found a few different solutions to this problem. The first uses the lookup by altering the sql statement and parameter set under the advanced tab (enable memory restriction / modify the sql statement) as discussed here http://www.julian-kuiters.id.au/article.php/ssis-lookup-with-range. The second (a bit less likeable) option was to use a script component and found here http://sqlblogcasts.com/blogs/simons/archive/2005/10/04/628.aspx
I am a bit disappointed that the range functionality was not prebuilt in to the components (other than through the memory restriction)... Does anyone else have any ideas or suggestions?
Thanks for your time.
|||Although the logic in your query is pretty clear, the context and output is not - at least not to me. What exactly do you want to have happen in your data flow as the output of this process?|||Reading back I can see how you would be confused...
I am trying to look up information based on an address range (i.e. if you are on the 23rd block (2300 - 2400) there will be one set of police and fire municipality codes, if you are on the 24th block 2401 - 2500 there will be seperate municipality code outputs) We are aggregatting these facts based on addresses supplied from our customer base to a table provided by the state which maps out the various address blocks for which we will need to break down our earned premiums such that we can pay taxes to the firefighter and police pension plans.
I think that the main point was that there is not an intuitive way of looking up information based on a fact tables value being within the dimension tables value range. I have also had this problem looking up values based on date ranges...
|||I don't know how much anyone is interested, but here is a topic on the feedback site which you can vote on to bring this to the ssis teams attention...
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=263594
Wednesday, March 7, 2012
Looking for table / view that will tell me if I need to reinitialize subscription
I have kind of unique situation. I am running Merge replication. In one of my publications I am only publishing procedures/functions/views. By design, these do not change that often, but when a programmability object changes, it is scripted in a way so that:
1. The article is dropped from the publication
2. the object is then changed
3. The article is added back to the publication
My question is: Is there a table or view that the subscriber or publisher can see that could tell me if reinitialization needs to occur. I am looking at adding an automated script at the subscriber that makes the determiniation and automatically reinitializes the subscription. My alternative is to force the subscriber to reinitialize every time when synchronizing with this publication, even if nothing has changed because the process has to be automated.
Thanks,
Bill
Are you using SQL 2000 and 2005? In SQL 2005, you don't need to drop/recreate articles in order to change the schema. You can directly do ALTER TABLE/VIEW/FUNCTION. For more info, please take a look at BOL http://msdn2.microsoft.com/en-us/library/ms151870.aspx.
Peng
|||I am using 2005, but that will not work, as the publication only contains programmability objects, the underlying base tables are in another publication.|||Not sure what you mean by that will not work. What Peng means is that when you need to change one your progammability article like stored proc or view etc, you can just run alter view or alter proc ... and this DDL action will be replicated when using SQL 2005. so you dont need to drop the article, alter it and readd it. Hence you will not even need to reinitialize your subscriptions.|||When you execute a DDL statement against a view that: is in a publication without any tables in that publication, the query will run but will not complete execution.|||This is a known issue and the workaround is to add a dummy table in that publication.|||When you say create a dummy table, what exactly do you mean? Is this just the "real" table name with one column or something else?|||Correct, create a non-necessary table that means absolutely nothing. i.e.
create table dbo.t1 (col1 int primary key, col2 int)
Add this as an article to your publication, then your DDL statements should work.
Saturday, February 25, 2012
looking for more info on merge repl problem
and sp3a. This issue is that if your replicated tables are not owned by
'dbo' then you will have a variety of problems. (thank you Kestutis
Adomavicius). I have been trying to find more information on this. I came
across similar issues where people had to change the db owner AND enable
something called 'cross database ownership'?
Basically I am looking for more information on this asap. I have a server
that I thought was ready for production until I had to delete and recreate
replication for something and began to run into problems with not being able
to delete the publication/subscriptions. I need to know what I need to do to
make this merge replication stable.
I currently plan to change owner of all my tables to dbo and recreating
repl. So now what about 'cross database ownership'? do I need to enable
that? if so how? what else might I need to do that I won't find out about
until its to late? I can't beleive I couldn't find anything about this on
MS's site? I must have missed it from staring at the screen to long! does
anyone know of any KB articles on this?
any more info on this would be greatly appreciated...
There is an issue if you create a publication deploy it to the subscriber,
and then go back and change the destination owner name in the publication
and reinitialize.
Any insert/update/delete activity will give you the below message.
Server: Msg 550, Level 16, State 1, Procedure
ins_300B4B5F04354E02B65347D9070DE47F, Line 57
The attempted insert or update failed because the target view either
specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION
and one or more rows resulting from the operation did not qualify under the
CHECK OPTION constraint.
The statement has been terminated.
I have reported the above problem to Microsoft.
However - I know of no problems with having different owner names on the
Publisher or Subscriber, or non dbo owner names on both your Publihser and
Subscriber. I also don't know of any problems with cross database ownership.
If all he is referring to is the dropping of the conflict tables - this
isn't per se a problem because you can drop them from within ISQL (drop
table conflict...) but not EM.
If your problem is that it is trying to drop a table which replication can't
see or doesn't exist you can always create a bogus table with the same name,
ie
create table HesstechUser.conflict_MergeReplLIVE_VendorCustomer (pk int)
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"djc" <noone@.nowhere.com> wrote in message
news:eG1wbqSZEHA.716@.TK2MSFTNGP11.phx.gbl...
> I was informed about an issue with merge replication on sql server 2000
sp3
> and sp3a. This issue is that if your replicated tables are not owned by
> 'dbo' then you will have a variety of problems. (thank you Kestutis
> Adomavicius). I have been trying to find more information on this. I came
> across similar issues where people had to change the db owner AND enable
> something called 'cross database ownership'?
> Basically I am looking for more information on this asap. I have a server
> that I thought was ready for production until I had to delete and recreate
> replication for something and began to run into problems with not being
able
> to delete the publication/subscriptions. I need to know what I need to do
to
> make this merge replication stable.
> I currently plan to change owner of all my tables to dbo and recreating
> repl. So now what about 'cross database ownership'? do I need to enable
> that? if so how? what else might I need to do that I won't find out about
> until its to late? I can't beleive I couldn't find anything about this on
> MS's site? I must have missed it from staring at the screen to long! does
> anyone know of any KB articles on this?
> any more info on this would be greatly appreciated...
>
|||here is the repro of the earlier problem
use master
go
create database test
go
create database sub
go
sp_addlogin 'test' , 'test', 'test'
go
use test
go
create table test.test (col char(20))
go
use sub
go
exec sp_grantdbaccess N'test', N'test'
use test
-- Enabling the replication database
use master
GO
exec sp_replicationdboption @.dbname = N'test', @.optname = N'merge publish',
@.value = N'true'
GO
use [test]
GO
-- Adding the merge publication
exec sp_addmergepublication @.publication = N'test', @.description = N'Merge
publication of test database from Publisher HILARY2KP.', @.retention = 14,
@.sync_mode = N'native', @.allow_push = N'true', @.allow_pull = N'true',
@.allow_anonymous = N'false', @.enabled_for_internet = N'false',
@.centralized_conflicts = N'true', @.dynamic_filters = N'false',
@.snapshot_in_defaultfolder = N'true', @.compress_snapshot = N'false',
@.ftp_port = 21, @.ftp_login = N'anonymous', @.conflict_retention = 14,
@.keep_partition_changes = N'false', @.allow_subscription_copy = N'false',
@.allow_synctoalternate = N'false', @.add_to_active_directory = N'false',
@.max_concurrent_merge = 0, @.max_concurrent_dynamic_snapshots = 0
exec sp_addpublication_snapshot @.publication = N'test',@.frequency_type = 8,
@.frequency_interval = 64, @.frequency_relative_interval = 0,
@.frequency_recurrence_factor = 1, @.frequency_subday = 1,
@.frequency_subday_interval = 0, @.active_start_date = 0, @.active_end_date =
0, @.active_start_time_of_day = 4300, @.active_end_time_of_day = 0,
@.snapshot_job_name = N'HILARY2KP-test-test-4'
GO
exec sp_grant_publication_access @.publication = N'test', @.login =
N'BUILTIN\Administrators'
GO
exec sp_grant_publication_access @.publication = N'test', @.login =
N'distributor_admin'
GO
exec sp_grant_publication_access @.publication = N'test', @.login =
N'HILARY2KP\Administrator'
GO
exec sp_grant_publication_access @.publication = N'test', @.login = N'sa'
GO
-- Adding the merge articles
exec sp_addmergearticle @.publication = N'test', @.article = N'test',
@.source_owner = N'test', @.source_object = N'test', @.type = N'table',
@.description = null, @.column_tracking = N'true', @.pre_creation_cmd =
N'drop', @.creation_script = null, @.schema_option = 0x000000000000CFF1,
@.article_resolver = null, @.subset_filterclause = null, @.vertical_partition =
N'false', @.destination_owner = N'test', @.auto_identity_range = N'false',
@.verify_resolver_signature = 0, @.allow_interactive_resolver = N'false',
@.fast_multicol_updateproc = N'true', @.check_permissions = 0
GO
-- Adding the merge subscription
exec sp_addmergesubscription @.publication = N'test', @.subscriber =
N'HILARY2KP', @.subscriber_db = N'sub', @.subscription_type = N'push',
@.subscriber_type = N'local', @.subscription_priority = 0.000000, @.sync_type =
N'automatic', @.frequency_type = 4, @.frequency_interval = 1,
@.frequency_relative_interval = 1, @.frequency_recurrence_factor = 0,
@.frequency_subday = 8, @.frequency_subday_interval = 1, @.active_start_date =
0, @.active_end_date = 0, @.active_start_time_of_day = 0,
@.active_end_time_of_day = 235959, @.enabled_for_syncmgr = N'false',
@.offloadagent = 0, @.use_interactive_resolver = N'false'
GO
--start the snapshot agent, when complete start the merge agent.
-- drop subscription
exec sp_dropmergesubscription @.publication = N'test', @.subscriber =
N'HILARY2KP', @.subscriber_db = N'sub', @.subscription_type = N'push'
--changing destination object name
exec sp_changemergearticle @.publication = N'test', @.article = N'test',
@.force_invalidate_snapshot = 1, @.force_reinit_subscription = 1, @.property =
N'destination_owner', @.value = N'dbo'
--adding the merge subscription
exec sp_addmergesubscription @.publication = N'test', @.subscriber =
N'HILARY2KP', @.subscriber_db = N'sub', @.subscription_type = N'push',
@.subscriber_type = N'local', @.subscription_priority = 0.000000, @.sync_type =
N'automatic', @.frequency_type = 4, @.frequency_interval = 1,
@.frequency_relative_interval = 1, @.frequency_recurrence_factor = 0,
@.frequency_subday = 8, @.frequency_subday_interval = 1, @.active_start_date =
0, @.active_end_date = 0, @.active_start_time_of_day = 0,
@.active_end_time_of_day = 235959, @.enabled_for_syncmgr = N'false',
@.offloadagent = 0, @.use_interactive_resolver = N'false'
--start the snapshot agent, when complete start the merge agent.
use sub
insert into dbo.test (col)values ('test')
--error message is
Server: Msg 550, Level 16, State 1, Procedure
ans_1984A1DAA3F24E3AB74B251657E7710D, Line 57
The attempted insert or update failed because the target view either
specifies WITH CHECK OPTION
or spans a view that specifies WITH CHECK OPTION and one or more rows
resulting from the operation did
not qualify under the CHECK OPTION constraint.
The statement has been terminated.
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"Hilary Cotter" <hilaryk@.att.net> wrote in message
news:OdvX5oaZEHA.3508@.TK2MSFTNGP09.phx.gbl...
> There is an issue if you create a publication deploy it to the subscriber,
> and then go back and change the destination owner name in the publication
> and reinitialize.
> Any insert/update/delete activity will give you the below message.
> Server: Msg 550, Level 16, State 1, Procedure
> ins_300B4B5F04354E02B65347D9070DE47F, Line 57
> The attempted insert or update failed because the target view either
> specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK
OPTION
> and one or more rows resulting from the operation did not qualify under
the
> CHECK OPTION constraint.
> The statement has been terminated.
> I have reported the above problem to Microsoft.
> However - I know of no problems with having different owner names on the
> Publisher or Subscriber, or non dbo owner names on both your Publihser and
> Subscriber. I also don't know of any problems with cross database
ownership.
> If all he is referring to is the dropping of the conflict tables - this
> isn't per se a problem because you can drop them from within ISQL (drop
> table conflict...) but not EM.
> If your problem is that it is trying to drop a table which replication
can't
> see or doesn't exist you can always create a bogus table with the same
name,[vbcol=seagreen]
> ie
> create table HesstechUser.conflict_MergeReplLIVE_VendorCustomer (pk int)
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
>
> "djc" <noone@.nowhere.com> wrote in message
> news:eG1wbqSZEHA.716@.TK2MSFTNGP11.phx.gbl...
> sp3
came[vbcol=seagreen]
server[vbcol=seagreen]
recreate[vbcol=seagreen]
> able
do[vbcol=seagreen]
> to
about[vbcol=seagreen]
on[vbcol=seagreen]
does
>
|||Just found Kestutis Adomavicius's zip of fixed procs. It looks like Kestius
has found something. I will be forwarding these to a contact of mine at
Microsoft.
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"Hilary Cotter" <hilaryk@.att.net> wrote in message
news:OdvX5oaZEHA.3508@.TK2MSFTNGP09.phx.gbl...
> There is an issue if you create a publication deploy it to the subscriber,
> and then go back and change the destination owner name in the publication
> and reinitialize.
> Any insert/update/delete activity will give you the below message.
> Server: Msg 550, Level 16, State 1, Procedure
> ins_300B4B5F04354E02B65347D9070DE47F, Line 57
> The attempted insert or update failed because the target view either
> specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK
OPTION
> and one or more rows resulting from the operation did not qualify under
the
> CHECK OPTION constraint.
> The statement has been terminated.
> I have reported the above problem to Microsoft.
> However - I know of no problems with having different owner names on the
> Publisher or Subscriber, or non dbo owner names on both your Publihser and
> Subscriber. I also don't know of any problems with cross database
ownership.
> If all he is referring to is the dropping of the conflict tables - this
> isn't per se a problem because you can drop them from within ISQL (drop
> table conflict...) but not EM.
> If your problem is that it is trying to drop a table which replication
can't
> see or doesn't exist you can always create a bogus table with the same
name,[vbcol=seagreen]
> ie
> create table HesstechUser.conflict_MergeReplLIVE_VendorCustomer (pk int)
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
>
> "djc" <noone@.nowhere.com> wrote in message
> news:eG1wbqSZEHA.716@.TK2MSFTNGP11.phx.gbl...
> sp3
came[vbcol=seagreen]
server[vbcol=seagreen]
recreate[vbcol=seagreen]
> able
do[vbcol=seagreen]
> to
about[vbcol=seagreen]
on[vbcol=seagreen]
does
>
|||> If all he is referring to is the dropping of the conflict tables - this
> isn't per se a problem because you can drop them from within ISQL (drop
> table conflict...) but not EM.
I think you should agree that if some functionality works when owner of the
tables is "dbo", it should work the same way if the owner is "user1". When
it is not working you CAN go to QA and drop something manually, but you also
CAN decide to SKIP using software which is not working as you expect it to
work.
Of course sometimes there are problems which are caused not by software, but
by misuse of it, but I am sure that this is not the case. If you would like,
I could post a workflow of recreating those problems that I mentioned, just
need some free time to write it down.
Regards,
Kestutis Adomavicius
Consultant
UAB "Baltic Software Solutions"
"Hilary Cotter" <hilaryk@.att.net> wrote in message
news:OdvX5oaZEHA.3508@.TK2MSFTNGP09.phx.gbl...
> There is an issue if you create a publication deploy it to the subscriber,
> and then go back and change the destination owner name in the publication
> and reinitialize.
> Any insert/update/delete activity will give you the below message.
> Server: Msg 550, Level 16, State 1, Procedure
> ins_300B4B5F04354E02B65347D9070DE47F, Line 57
> The attempted insert or update failed because the target view either
> specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK
OPTION
> and one or more rows resulting from the operation did not qualify under
the
> CHECK OPTION constraint.
> The statement has been terminated.
> I have reported the above problem to Microsoft.
> However - I know of no problems with having different owner names on the
> Publisher or Subscriber, or non dbo owner names on both your Publihser and
> Subscriber. I also don't know of any problems with cross database
ownership.
> If all he is referring to is the dropping of the conflict tables - this
> isn't per se a problem because you can drop them from within ISQL (drop
> table conflict...) but not EM.
> If your problem is that it is trying to drop a table which replication
can't
> see or doesn't exist you can always create a bogus table with the same
name,
> ie
> create table HesstechUser.conflict_MergeReplLIVE_VendorCustomer (pk int)
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
|||That sounds nice.
I mean having a contact at Microsoft
Thanks for the initiative to providesome info to MS, that might lead to something I guess.
Regards,
Kestutis Adomavicius
Consultant
UAB "Baltic Software Solutions"
"Hilary Cotter" <hilaryk@.att.net> wrote in message
news:enXC7yaZEHA.2388@.TK2MSFTNGP11.phx.gbl...
> Just found Kestutis Adomavicius's zip of fixed procs. It looks like
Kestius
> has found something. I will be forwarding these to a contact of mine at
> Microsoft.
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
|||ok.. i'm getting ready to fix up my issue here. One last question. Should I
just change the owner on each table individually to user 'dbo' or should I
change the actual database owner to user 'dbo' also?
thanks again. And I'm glad that my badgering of you 2 experts helped lead to
getting this info to MS! I would like a sticker that reads 'Annoying n00bs
help get info to MS' hehe.
"Hilary Cotter" <hilaryk@.att.net> wrote in message
news:enXC7yaZEHA.2388@.TK2MSFTNGP11.phx.gbl...
> Just found Kestutis Adomavicius's zip of fixed procs. It looks like
Kestius[vbcol=seagreen]
> has found something. I will be forwarding these to a contact of mine at
> Microsoft.
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
>
> "Hilary Cotter" <hilaryk@.att.net> wrote in message
> news:OdvX5oaZEHA.3508@.TK2MSFTNGP09.phx.gbl...
subscriber,[vbcol=seagreen]
publication[vbcol=seagreen]
> OPTION
> the
the[vbcol=seagreen]
and[vbcol=seagreen]
> ownership.
> can't
> name,
2000[vbcol=seagreen]
by[vbcol=seagreen]
> came
enable[vbcol=seagreen]
> server
> recreate
being[vbcol=seagreen]
> do
recreating[vbcol=seagreen]
enable
> about
> on
> does
>
Looking for information regading merge replication with sql 2000 and msde 2000
we are using merge replication with anonymous subscription.
- Window 2000 and sql 2000 server (publisher and distributor)
- MSDE 2000 subscriber.
- using Active X-Control for subscription
-I have put subscriber never expire option in the property of
publisher.
Replication running without any problem in normal case but we received
some problem on the following scenario:
-I set up the subscriber call "TEST01" and synchronize it it run
without any problem. Because of some other reasons I need to change
the name of the computer, after that when I synchronize it does not
work, even if I change back the computer name to the original name it
stop working how can I fix this problem.
-If I want to delete the subscription total and generate the new one
how can I do this. I try to delete the subscription from the
publisher, distributor and delete the subscriber database for the
subscriber and create new database in subscriber, and click
synchronize, it still doesn't work- how can I solve this problem.
-What is different way of deleting the subscription if they are never
expiring in the publication property?
-Actually I try to do all of these above steps in our test
environment, it still give different error message.
-"The merge process could not able to drop the pull subscription form
"sesc-07" (which is server).
-"The remote server is not defined as a subscriber". I change and make
it as subscriber also but still same message.
- "The merge process could not update the last sent generation"
I will be greatful for the information.
Thanks in advance.
Indra.
can any subscriber pull the subscription from the publisher?
What server name did you change? the publisher or the subscriber?
Can you issue this query on the subscriber
select @.@.servername
master.dbo.xp_cmdshell 'hostname'
master.dbo.xp_cmdshell 'echo %computername%'
and post the results back here?
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"Indra" <itimilsina@.savannaenergy.com> wrote in message
news:e667cf1e.0409010742.1baee732@.posting.google.c om...
> Hi
> we are using merge replication with anonymous subscription.
> - Window 2000 and sql 2000 server (publisher and distributor)
> - MSDE 2000 subscriber.
> - using Active X-Control for subscription
> - I have put subscriber never expire option in the property of
> publisher.
> Replication running without any problem in normal case but we received
> some problem on the following scenario:
> - I set up the subscriber call "TEST01" and synchronize it - it run
> without any problem. Because of some other reasons I need to change
> the name of the computer, after that when I synchronize it does not
> work, even if I change back the computer name to the original name it
> stop working - how can I fix this problem.
> - If I want to delete the subscription total and generate the new one
> how can I do this. I try to delete the subscription from the
> publisher, distributor and delete the subscriber database for the
> subscriber and create new database in subscriber, and click
> synchronize, it still doesn't work- how can I solve this problem.
> - What is different way of deleting the subscription if they are never
> expiring in the publication property?
> - Actually I try to do all of these above steps in our test
> environment, it still give different error message.
> -"The merge process could not able to drop the pull subscription form
> "sesc-07" (which is server).
> -"The remote server is not defined as a subscriber". I change and make
> it as subscriber also but still same message.
> - "The merge process could not update the last sent generation"
> I will be greatful for the information.
> Thanks in advance.
> Indra.
|||Hi Hilary,
All the subscriber runing fine except those whoes computer name
(subscriber computer name) has been change.
we change the name of the subscriber not the publisher.
Our subscriber is runing on MSDE 2000, so how can i run that sql script
on MSDE?.
select @.@.servername
master.dbo.xp_cmdshell 'hostname'
master.dbo.xp_cmdshell 'echo %computername%'
CAN I RUN THIS ON PUBLISHER.
none of the subscriber are register on server becuase i am usign
anonymous subscribtion.
Thanks.
Indra.
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!