在SQL SERVER 2005执行存储过程的权限分配问题

数据库 SQL Server
本文简单介绍了SQL SERVER 2005数据库中执行存储过程的权限分配问题,希望会对读者有所帮助。

SQL SERVER 2005数据库中,为了提高数据库的安全性,当执行某些存储过程的时候,我们需要设置一些权限来避免一些危险性的操作造成数据库的损坏和数据的丢失等。本文从以下几个方面分别说明。

1.关于权限设置

一个库,一个连接帐号和密码,比如zhuzhu这个库,只给PUBLIC权限。SA帐号基本是不使用的.因为SA实在是太危险了.PUBLIC权限足够用了。

2.安装防火墙

如果只是在本机调试系统,因为SQL有些人没打补丁会被溢出,安装防火墙是非常好的选择,这样即使有漏洞别人也无法攻击。

3.改变端口

如果SQL Server数据库需要远程访问,端口一定是要开放的,即使安装了防火墙,也要将SQL Server的服务端口1433放开,针对SQL Server的攻击工具主要扫描的是1433端口,可以改变默认端口,这样虽然不能从根本上解决问题,但可以对付一般的扫描,改变端口最简单的办法是在打开“开始”——〉“所有程序”——〉“Microsoft SQL Server” ——〉“服务器网络实用工具”,在界面中选中“TCP/IP”,点击“属性”,把1433改为不超过65535的一个数,重启SQL Server服务,这样默认端口就改了,注意这时你远程连接SQL Server时IP地址后要加改过的端口号。

4.删除不需要的扩展存储过程

如果你的系统中确实不需要这些扩展存储过程可以删除。

删除存储过程的命令是:EXEC sp_dropextendedproc ‘存储过程的名称’

主要有一下这些:

 

  1. exec sp_dropextendedproc ’xp_cmdshell’  
  2.  
  3. exec sp_dropextendedproc ’xp_dirtree’  
  4.  
  5. exec sp_dropextendedproc ’xp_enumgroups’  
  6.  
  7. exec sp_dropextendedproc ’xp_fixeddrives’  
  8.  
  9. exec sp_dropextendedproc ’xp_loginconfig’  
  10.  
  11. exec sp_dropextendedproc ’xp_enumerrorlogs’  
  12.  
  13. exec sp_dropextendedproc ’xp_getfiledetails’  
  14.  
  15. exec sp_dropextendedproc ’Sp_OAcreate’  
  16.  
  17. exec sp_dropextendedproc ’Sp_OADestroy’  
  18.  
  19. exec sp_dropextendedproc ’Sp_OAGetErrorInfo’  
  20.  
  21. exec sp_dropextendedproc ’Sp_OAGetProperty’  
  22.  
  23. exec sp_dropextendedproc ’Sp_OAMethod’  
  24.  
  25. exec sp_dropextendedproc ’Sp_OASetProperty’  
  26.  
  27. exec sp_dropextendedproc ’Sp_OAStop’  
  28.  
  29. exec sp_dropextendedproc ’Xp_regaddmultistring’  
  30.  
  31. exec sp_dropextendedproc ’Xp_regdeletekey’  
  32.  
  33. exec sp_dropextendedproc ’Xp_regdeletevalue’  
  34.  
  35. exec sp_dropextendedproc ’Xp_regenumvalues’  
  36.  
  37. exec sp_dropextendedproc ’Xp_regread’  
  38.  
  39. exec sp_dropextendedproc ’Xp_regremovemultistring’  
  40.  
  41. exec sp_dropextendedproc ’Xp_regwrite’  
  42.  
  43. drop procedure sp_makewebtask 

 

要恢复该存储过程,命令是:EXEC sp_addextendedproc存储过程的名称 ,@dllname ='存储过程的dll'。

例如:恢复存储过程xp_cmdshell,EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll',注意,恢复时如果xplog70.dll已删除需要copy一个。

关于SQL SERVER 2005数据库执行存储过程的权限问题就介绍到这里,谢谢大家的支持!

【编辑推荐】

  1. 如何将系统监视器数据记录到SQL Server
  2. 巧用DAC解决SQL Server登录失败的问题
  3. 用FOR XML PATH将查询结果以XML输出
  4. 使用SQL Trace来实现SQL Server的跟踪操作
  5. CTE和WITH AS短语结合使用提高SQL查询性能
责任编辑:赵鹏 来源: 网易博客
相关推荐

2011-09-01 16:13:37

Visual StudSQL Server 存储过程

2010-10-22 10:44:16

SQL Server权

2010-11-12 09:58:34

SQL存储过程

2019-01-02 13:03:53

MySQL存储权限

2018-04-18 09:18:44

数据库MySQL存储过程

2010-07-15 12:38:14

SQL Server存

2010-09-27 14:43:38

SQL Server表

2011-03-24 13:38:47

SQL Server 存储分页

2010-06-28 13:45:16

SQL Server

2010-09-06 11:24:32

SQL Server语句

2010-06-18 10:43:05

SQL Server

2011-04-08 09:53:45

Accesssql server存储翻页

2010-07-14 17:37:33

SQL Server

2011-01-10 10:45:20

SQL Server数

2011-09-01 17:35:56

SQL Server DDL语句

2011-08-10 10:06:54

存储过程SQL Server IP地址归属地查询

2009-08-06 16:44:06

2009-09-17 19:19:17

CLR存储过程

2010-07-21 14:21:53

SQL Server存

2010-11-10 13:03:15

SQL Server存
点赞
收藏

51CTO技术栈公众号