导航

SQL Server 2005-----存储过程

Posted on 2009-06-25 14:32  鸡尾虾的壳  阅读(185)  评论(0编辑  收藏  举报

1.查看存储过程的定义:通过sys.sql_module获得(存放存储过程,触发器,视图等)
2.与自定义函数和视图不同,当存储过程第一次执行候,系统会缓存其最优执行计划
3.使用存储过程的好处:集成管理T-SQL,减少网络负载,增加重用,存储过程支持控制逻辑
4.存储过程支持参数传递
5.在存储过程中,用EXISTS检查返回的结果集是否为空
6.在Service启动时,自动执行存储过程:使用sp_procoption,Context数据库必须是Master
7.查询所有存储过程:
      SELECT definition,
            execute_as_principal_id,
            is_recompiled,
            uses_ansi_nulls,
            uses_quoted_identifier
      FROM sys.sql_modules m
       INNER JOIN sys.objects o ON
        m.object_id = o.object_id
         WHERE o.type = 'P'

8.存储过程的加密:在创建命令中使用“WITH ENCRYPTION”选项,这样sp_helptext就无法看到存储过程的明文定义了
9.使用With Execute As子句指明存储过程的安全Context
10.重编译技术:使用WITH RECOMPILE子句申明不缓存执行计划
   DBCC FREEPROCCACHE:清除所有缓存的执行计划
   在sys.dm_exec_cached_plans中查看所有缓存的执行计划