English 中文(简体)
SQL2008: Is there a way to throttle Change Data Capture (CDC) throughput?
原标题:

I m trying to find a way to throttle CDC on SQL2008.

The reason being that under normal circumstances, CDC performs brilliantly, but as soon as it needs to deal with a large number of rows, it starts tanking.

Typical throughput is between 1000 and 3000 rows a second. It starts to die at about 5000 rows per second.

Usually, this is not an issue, since we re using CDC to keep two databases in sync as a near real-time ETL process for statistical modelling. In the past, for bulk data moves we ve had to come up with dodgy manual methods. I m wondering if I can through a huge amount of data at it, but find a way to tell it to only do 5 transactions at a time, or otherwise force it to work through bite-sized chunks (however long that takes), rather than try and do them all at once and suffer poorly.

问题回答

Please see: Tuning the Performance of Change Data Capture in SQL Server 2008

Are you sure that CDC is the right solution for what you are trying to achieve? I m just wondering if SQL Server Change Tracking using ADO.NET Sync services might be more appropriate?





相关问题
How to write this T-SQL WHERE condition?

I ve got two tables: TableA Col1 Col2 TableB Col3 Col4 I want to join them together: SELECT * from TableA join TableB ON (...) Now, in place of ... I need to write an expression ...

Customer and Order Sql Statement

TSQL query to select all records from Customer that has an Order and also select all records from customer that does not have an Order. The table Customer contains a primary key of CustomerID. The ...

Recommended way of querying multiple Versioned tables

Have a win 2003 box with MSSQL 2005 running on it. There is a database which is populated every morning with new/modified SalesOrder made the previous day. The database has several tables: SalesOrder, ...

update duplicate record

I have a table with the following fields Id Name IsPublic i need to write a sql query that updates IsPublic to false where name has a duplicate. Only one of the duplicates should have IsPublic = ...

Define variable to use with IN operator (T-SQL)

I have a Transact-SQL query that uses the IN operator. Something like this: select * from myTable where myColumn in (1,2,3,4) Is there a way to define a variable to hold the entire list "(1,2,3,4)"? ...

Selecting records during recursive stored procedure

I ve got a content management system that contains a hierarchical structure of categories, with sub-categories subject to different ordering options at each level. Currently, that s retrieved by a (...

热门标签