Staging come's under the best Best Practices for deployment changes but having certain limitations with objects.Please go through with this link.
What can be synchronized
If you are going to use staging key points you need to take care.
1.Do NOT perform any DML operation directly into a DB.
2.Do NOT use the Database objects application to edit the default views or procedures.
3.Always use the Kentico API.
1.For extensive custom modules
- Update your custom code with Kentico API where is feasible.
2.For custom database objects (views and stored procs) as well extending system tables (e.g. Users table we' ve added additional fields).
Create a Container page types let say QueryandTransfromation for storing queries and transformations through out the site.
Re write your views and stored procs under query tab of page type QueryandTransfromation .
Use Kentico database API for DML operations using views and stored procs or any other query).
CI (Continuous Integration) works similar as well as support limited objects
only the difference it generate XML file for each of object as task and its faster as compared with staging.