日期:2014-05-18  浏览次数:20699 次

急~~~求解决办法,关于SQLSERVER2005服务启动不了
在 本地计算机 无法启动 sqlserveragent 服务。错误 1068 依存服务或组无法启动,怎么办?

------解决方案--------------------
SQL code
原因是你将你的administrator类的内置用户删除了!

'SQL Server 2000'
1、打开企业管理器,打开左边的实例->安全性->登录,在右边空白处右击鼠标,选“新建登录”,单击“名称:”右边的按钮,会出现很多帐号名,选择一个具有windows超级管理员权限的用户(如Administrator),单击“添加”,再在“服务器角色”标签中选中“System Administrators”打勾,确定。

2、打开企业管理器左边的“管理”,右击“SQLServer代理”,选属性->常规->服务启动帐户,选“本帐户”,然后在旁边输入刚才所建的帐户和密码(例如:.\Administrator),密码是此用户的密码,确定。

3、最后,右击“SQLServer代理”,选“启动”,就能看到Agent成功启动了。 

'SQL Server 2005 Agent服务无法启动之内存锁定'
--==问题描述    
    装 Windows Server 2003(SP2) + SQL Server 2005(SP3) 时碰到报错: SQL Server Agent 必须可以以sysadmin身份连接到SQL Server,但是(未知)不是sysadmin角色的成员。

--==配置环境
    服务器环境为32位Intel® Xeon® CPU E54410 @2.33GHz双路四核开启超线程,8.00GB的内存,RAID10。
    1.根据最小权限原则,安装完数据库及SP3补丁后,建立Users组用户SqlStartUser。
    2.通过SQL Server配置管理器配置启用TCP/IP协议,IPALL的TCP端口改为32959。SQL Server(MSSQLSERVER)和SQL Server Agent(MSSQLSERVER)的服务启动账号为SqlStartUser。
    3.本地安全设置->本地策略->用户权限分配->内存中锁定页面添加SqlStartUser。
    4.勾选使用AWE分配内存。最小服务器内存(MB)5500,最大服务器内存(MB)7200,其他留给操作系统。

--==检查步骤
    1.检查本地账号SqlStartUser隶属于哪几个组:本地Windows组之Users组;本地Windows组之SQL Server服务账户组SQLServer2005MSSQLUser$DBSRV1$MSSQLSERVER;本地Windows组之SQL Server服务账户组SQLServer2005SQLAgentUser$DBSRV1$MSSQLSERVER。
    相关知识:在指定一个用于SQL Server服务的账户之后,SQL Server安装会为不同的SQL Server服务创建Windows组账户,并将这些服务账户分别添加到这些组账户中。这些新建的用户组被给予运行服务所需的最小的权利和权限。如果想在安装完成后更换一个与SQL Server服务相关联服务账户,用于确保运行该服务所需的最低限度的权利和权限都已被授予给该账户的最佳方法是把该账户添加到相关组中。
    2.检查数据库登录名是否有DBSRV1\SqlStartUser。
    3.检查事件查看器应用程序有关服务启动的过程信息:
        类型            来源                             描述
    ①审核成功    MSSQLSERVER    用户 'DBSRV1 \SqlStartUser' 登录成功。连接: trusted. [客户端: <local machine>]
    ②信息        MSSQLSERVER    配置选项 'show advanced options' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。
    ③信息        MSSQLSERVER    SQL Server 阻止了对组件 'Agent XPs' 的 过程'dbo.sp_sqlagent_has_server_access' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Agent XPs'。有关启用 'Agent XPs' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
    ④信息        MSSQLSERVER    SQL Server 阻止了对组件 'Agent XPs' 的 过程'dbo.sp_sqlagent_get_startup_info' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Agent XPs'。有关启用 'Agent XPs' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 
    ⑤错误        MSSQLSERVER    SQLServerAgent could not be started (reason: SQLServerAgent 必须能够以 SysAdmin 身份连接到 SQLServer,但“(未知)”不是 SysAdmin 角色的成员)。 

从信息③和④看到组件'Agent XPs'未能启动。通过系统管理员登录执行语句: 

sp_configure 'show advanced options', 1; 

GO 

RECONFIGURE; 

GO 

sp_configure 'Agent XPs', 1; 

GO 

RECONFIGURE 

GO 

    报错没有内存物理地址扩展权限。判断原因为32位机器,开启了AWE支持,更改了服务启动账户,但这个账户没有加入到内存锁定页的安全管理中去,所以导致了SQL代理服务启动失败,把SqlStartUser账户加入到内存锁定就可以启动了。