I have an ADO DataSet with a table of a few hundred rows. I created a DataGridView with some custom code to prevent the user from selecting an invalid combination of values. It worked great and then I decided I would move the selections column to the SQL Db for use elsewhere ion the program. VS is amazing how the wizards set everything up for me in normal circumstances. I don't know how to do all this myself and my ignorance is causing me fits. I struggled though it all today making some other examples and analyzing what all the wizards do and created a setup that works now that meshes with my old code. But now when I use the TableAdapter Update method against the table it takes about 30 seconds to push the data back to the SQL server. The SQL server is over the internet but I have a fast and reliable connection. In most case only about a dozen rows change. But as I'm looking at the progress from SSMS it seems the method is updating all the rows in the table regardless of whether they have changed or not. The MSDN says it will only execute changes on rows which have been modified. I followed the instructions on this page. Is this behavior and performance normal? Am I doing something wrong?