We have an application that is written in C# that is connected to a ms sql server.
We use to make a stored procedure for every database call, but then we’ve noticed that using stored procedures gives us a very big disadvantage, we don’t know what stored procedures we need to update if we change our database.
Now I was wondering if using stored procedures is a bad thing or a good thing?
That’s not a SP problem, that’s an issue of your development process. If you have no information you need – just get it.
You can make a simple visual map that shows your table schema and dependant SPs. If your DB is too large for visual mapping, add common text file that consists of your SPs and names of tables it depends upon.
Anyway, the bigger your DB is, the worse will be your job when inlining details of your schema into your application code. When you use SP you guarantee that this functionality won’t be doubled and that most changes will occur on DB side without application recompilation and redistribution.
Upd
I forgot to mention one other thing. Good DB tools provide easy way to find dependant tables for each SP. There’s ‘View Dependencies’ item in SP context menu in Microsoft SQL Management Studio, for example.