因为数据库服务器安全的原因,以前把xp_regread这个系统的扩展存储过程删掉了,因为要使用这个过程,尝试恢复之后,还是不能使用。
使用的恢复语句为:
use master
dbcc addextendedproc ("Xp_regread","xpstar.dll")
go
看起来似乎没有错,但是xp_regread这个过程还是不能用,虽然在企业管理器里能看到这个存储过程,但就是不能使用,提示找不到,真是瞎眼了。后来把恢复语句中的Xp_regread改成xp_regread才正确了。
这样看来,恢复语句中的使用的存储过程名似乎是区分大小写的了,但是恢复之后,使用上却又不区分大小写。真是晕倒。
今天打算用SQL Server代理(SQLServerAgent)运行定时任务的时候出错,报“当 SQLServerAgent 正在启动时,无法执行此操作。请稍候再试。”
网上的解决方案有二:
一、CSDN邹建提供的办法:取消数据库服务器的Windows NT纤程设置,重启SQL SERVER服务器。
二、对于服务器上数据的备份工作是网管员日常工作中最重要的工作之一,SQLServerAgent服务使得我们可以用SQL上的“数据库维护计划”功能来自动备份数据,但最近我发现服务器上SQLServerAgent服务无法启动了,回想最近所做的操作,原来是因为我把SQL中
Builtin/Administrators这个帐号的服务器访问权限禁止掉了,因为这个帐号的存在对于SQL来说很不安全,但又不想删除,因此把它的权限禁止,结果导致SQLServerAgent服务无法启动。
解决的方法很简单,只要删除这个帐号,再建一个同时具有系统管理权限和SQL管理权限的用户,然后用这个用户去启动SQLServerAgent服务就可以了。以下是操作步骤:
1、打开企业管理器,打开左边的实例->安全性->登录,在右边空白处右击鼠标,选“新建登录”,单击“名称:”右边的按钮,会出现很多帐号名,选择一个具有windows超级管理员权限的用户(如Administrator),单击“添加”,再在“服务器角色”标签中选中“System Administrators”打勾,确定。
2、打开企业管理器左边的“管理”,右击“SQLServer代理”,选属性->常规->服务启动帐户,选“本帐户”,然后在旁边输入刚才所建的帐户和密码(例如:.\Administrator),密码是此用户的密码,确定。
3、最后,右击“SQLServer代理”,选“启动”,就能看到Agent成功启动了。
因为问题服务器是多CPU的,所以以前配置了使用Windows NT纤程的选项,取消这个选项之后,果然解决了问题,至于解决方案二,没有去试,不知是否正确。