存储过程是一组 Transact-SQL 语句,在一次编译后可以执行多次。因为不必重新编译 Transact-SQL 语句,所以执行存储过程可以提高性能。 几乎任何可写成批处理的 Transact-SQL 代码都可用于创建存储过程。使用 SQL Server 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优势有: 允许模块化程序设计。 
只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。允许更快执行。 
如果某操作需要大量 Transact-SQL 代码或需重复执行,存储过程将比 Transact-SQL 批代码的执行要快。首次执行时将对其进行分析和优化,并在内存高速缓存中保留存储过程的编译版本,以便以后使用。这意味着每次使用存储过程时,无需重新分析和重新优化,从而缩短了执行时间。 减少网络流量。 
一个需要数百行 Transact-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。可作为安全机制使用。 
即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。SQL Server 中的存储过程与其它编程语言中的过程类似,原因是存储过程可以: 接受输入参数并以输出参数的形式将多个值返回至调用过程或批处理。
包含执行数据库操作(包括调用其它过程)的编程语句。 
向调用过程或批处理返回状态值,以表明成功或失败(以及失败原因)。 可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点: 可以在单个存储过程中执行一系列 SQL 语句。
可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快