Hot answers tagged

15

And nothing about the functions. Why is the function information missing in the actual plan? This is by design, for performance reasons. Functions that contain BEGIN and END in the definition create a new T-SQL stack frame for each input row. Put another way, the function body is executed separately for each input row. This single fact explains ...


7

It's highly unlikely you'll find a better merge replication solution than what's built-in. Merge replication in particular is hard to implement. I would suggest that if you're having issues with the current setup breaking, take it up with Microsoft. They should be very motivated to help you find the root cause of the problem so their customers are happy, ...


7

Bad news: SQL Server 2000 isn't officially supported. You're putting yourself in a situation where the link between these two servers could cause problems, and if you call Microsoft for support, you'll be out of luck. Don't be That Guy who breaks the production server because he wanted to connect these two servers. Tell your management that SQL Server 2000 ...


6

So are you telling me that every user of my database has to have sysadmin access if they are going to be doing deletes? No, as per BOL's documentation on sp_trace_generateevent: User must have ALTER TRACE permission.


5

Could either tools (SSMS etc) or SSIS have been installed separately to the main install as 32bit?


5

I agree. As long as there is no need for the PK value to be able to change, then it would be better to use the existing uniqueidentifier column as the rowguidcol.


5

Basically, they say that the application should never bring into its domain something that is used by replication only (it's only "DBA stuff" for them). I agree completely. But... the primary key isn't only used for replication (presumably the application uses it in some way). The argument makes no sense in this context. In any event, as far as I'm ...


5

After doing some online search,I found what you needed,hope my answer helps you. Answer 1 Note: It Only works with transactional and transactional peer to peer replication T-SQL script which you can use to monitor the status of transactional replication and performance of publications and subscriptions. Things to be considered before executing the ...


4

Those aren't different versions just different service packs. Replicating between 2008 and 2008 R2 would better fit that definition of replication between two specific versions. So The way I understand the MSDN article on the subject here is this When you replicate between or among different versions of SQL Server, you are usually limited to the ...


4

Other than the minor things you've already picked up on (additional storage requirements, and potential performance differences as a result of requiring more I/O for the same number of rows), no, I can't think of any real gotchas with adding a ROWVERSION column to these tables. One potential issue, though, with merge replication specifically, is if Access ...


4

No. With Merge, a Subscriber can be any version no later than the Publisher version. This is covered in Using Multiple Versions of SQL Server in a Replication Topology.


4

"Basically, they say that the application should never bring into its domain something that is used by replication only (it's only "DBA stuff" for them)." But it's not used for replication only. It's also (and already) your PK.


4

This is the sort of thing that Microsoft Consulting Services can help you with. They know replication really well, and setting up large merge replication farms needs to be done just right or the whole thing will come crashing down. If there are specific errors that need troubleshooting you can post those here so that they can be figured out, but if it's ...


4

Please check for orphaned rows for deleted subscriptions in sysmergesubscriptions and delete them. For example, the subscriber that this is failing on may have duplicate entries in sysmergesubscriptions, one being orphaned from a previously deleted subscription. This has been the cause of this error and solution for clients of mine in the past, ymmv. I ...


4

This is a complicated situation, but I think that the best solution would be to make an additional table (which I'll call UserFilters), just to hold the consolidated data from the Road, UserRegion and SyncSetting tables in a single combined row format and then to Join your Replication Filter to that table instead. This UserFilters table would need to be ...


3

When using Merge with identity columns — will need to specify an identity range management option of either automatic or manual so that duplicates do not occur. With automatic, replication will automatically manage the assignment of identity ranges for nodes participating in the Merge topology. With manual, you will need to manually assign "islands" of ...


3

The prefered method would be to alter the merge agent profile. See this link for a detailed explaination on how to do that: http://msdn.microsoft.com/en-us/library/ms152515.aspx The setting will take effect the next time the merge agent runs.


3

It turns out that the Import wizard ( because it is considered like a Bulk Insert or BCP ) is disabling replication triggers on the tables they are loading data to, which prevents Merge Replication from detecting new records. This article: Bulk loading data into a merge replicated table explains this with more details. One workaround is to use the ...


3

You should be able to apply the SP3 without dropping any merge replication publications. The order of upgrade should be to upgrade (1) distributor, then (2) publisher, then (3) subscribers. The SP3 is for SQL Server 2008, not the SQL CE 3.5 mobile tools. Since you are running merge replication then I assume that you have SQL CE 3.5 SP2. So all should be ...


3

You need to inspect the Conflict Viewer and observe the conflict types and the conflicting row values. Something to note is that the Conflict Winner column will display the winning row values which are pulled from the base tables. If you think about it, these values are volatile and can change, so the values you see in the Conflict Winner column may not be ...


3

A few thoughts. It sounds to me like you may be able to get away with a couple options if replication is what you end up with. First a word of caution - Replication isn't something that should just be configured in production and enabled/used unless you have some experience with it. This becomes truer with more important workloads and busier systems. ...


3

There is no supported way to achieve what you want to do, aside from complete reinitialization. That said, you might be able to achieve a shortcut and retain a supported configuration, but only under direction of a Microsoft support engineer. Attempting to modify the system replication tables without that guidance risks compounding your current problems. My ...


3

Open SQL Server Management Studio expand instance of SQL server expand Replication Folder expand Local Publications Right click publication that you want to check for any expired subscriptions and choose 'Launch Replication Monitor' expand My publishers, right click on publisher in question and click 'Configure replication alerts' Choose 'Replication ...


3

The error could say: Article 'Quote' failed data validation (rowcount only). However your error states: Article 'Quote' failed data validation (rowcount and checksum). The validation of the merge performs a binary checksum like this: select count_big(*), sum (convert(numeric, binary_checksum(*) ) ) from [dbo].[tablename] WITH (TABLOCK HOLDLOCK) ...


3

You can use the command sp_addscriptexec to run an ad-hoc script on all the subscribers.


2

Merge replication supports bidirectional subscriptions, with changes propagated from the subscribers to the publisher. Other types of replication support this scenario: Transational Replication with updateable subscriptions (deprecated) and Peer-To-Peer Transactional Replication (more complicated to maintain, requires Enterprise Edition). Keep in mind ...


2

The duplicate rows in the MSmerge_tombstone occurs when you restore the database with KEEP_REPLICATION bit. Its a good practice to configure replication from scratch since you never know that you run into some unknown issue just like you did. As confirmed by OP - drop the index uc1MSmerge_tombstone, delete the offending row and recreating the index fixes ...


2

Check the history of the agent job for the Snapshot agent on Whatever server is running as the Distributor. Drill down into the history of the agent job and you should find an error. (The error is often listed in the step preceeding the one that is retrying). Will probably be lack of space, etc. If this does not reveal anything useful then you may need to ...


2

To reinforce what Jon says - a single DB to which all clients connect all the time, with the schema designed accordingly, will be a much better solution. You only need replication in a few circumstances. One is if a client machine must be able to work while disconnected. Another will be if there are huge latency issues between your various sites. ...


2

This is now a known bug (present only in SQL 2012), that Microsoft is currently addressing. Workaround is to give user ALTER TRACE permission until is resolved. You can track status on Connect.



Only top voted, non community-wiki answers of a minimum length are eligible