SQL SERVER 2000 迁移后SQL SERVER代理服务启动错误分析
公司有一个老系统,这个系统所用的数据库是SQL SERVER 2000,它所在的Dell服务器已经运行超过10年了,早已经过了保修服务期,最近几乎每周会出现一次故障,加之5月份另外一台服务器坏了两个硬盘,所以非常担心这台服务器“寿终正寝”,跟开发维护那边沟通,想将数据库迁移升级到SQL SERVER 2008,但是由于是老旧系统,现在的负责人不敢做数据库升级,最终协商下来,只能迁移到另外一台服务器,不做升级。
在部署测试环境时,先将master,msdb等系统数据库直接拷贝过去覆盖原系统数据库,启动数据库后,出现了莫名错误。不得已只能从生产库备份master后在测试库还原,然后莫名的错误解决了(之前没有截图,记录下来),但是启动SQL SERVER代理服务器时,出现下面错误。
在目录C:\Program Files\Microsoft SQL Server\MSSQL\LOG\下找到SQLAGENT.OUT错误日志文件,发现如下错误提示:
2013-09-20 09:46:12 - ! [] SQLServer 错误: 229,EXECUTE permission denied on object 'sp_sqlagent_has_server_access', database 'msdb', owner 'dbo'. [SQLSTATE 42000] (ConnIsLoginSysAdmin) 2013-09-20 09:46:12 - ! [] SQLServer 错误: 229,EXECUTE permission denied on object 'sp_sqlagent_get_startup_info', database 'msdb', owner 'dbo'. [SQLSTATE 42000] 2013-09-20 09:46:12 - ? [] Microsoft SQLServerAgent 8.00.2039 版(内部版本号 x86 unicode retail): 进程 ID 2013-09-20 09:46:12 - ? [] Microsoft SQLServerAgent 8.00.2039 版(内部版本号 x86 unicode retail): 进程 ID 796 2013-09-20 09:46:12 - ? [] SQL Server 8.00.2039 版(0 连接限制) 2013-09-20 09:46:12 - ? [] SQL Server ODBC 驱动程序 3.85.1117 版 2013-09-20 09:46:12 - ? [] 正由驱动程序使用的 NetLib 是 DBMSSHRN.DLL;本地主机服务器是 2013-09-20 09:46:12 - ? [] 检测到 2 个处理器和 2048 MB RAM 2013-09-20 09:46:12 - ? [] 本地计算机是 GETHRTESTW2KS,运行 Windows NT 5.0 (2195) Service Pack 4 2013-09-20 09:46:12 - ! [] SQLServerAgent 必须可以以 SysAdmin 身份连接到 SQLServer,但是“(未知)”不是 SysAdmin 角色的成员 2013-09-20 09:46:13 - ? [] SQLServerAgent 已终止 (正常)
看来是权限问题,但是具体原因又不太清除,搜索后终于在这位老兄的博客http://www.sqldbadiaries.com/2011/01/17/sql-server-agent-does-not-start-unknown-is-not-a-member-of-the-sysadmin-role/找到答案,生产环境是用一个NT账号(域账号)启动该服务,

但是在测试环境使用本地系统账号(Local System)

但是由于BUILTIN\Administrators这个登录名没有sysadmin服务器角色,所以启动上面的SQL SERVER代理服务时,就报那个错误了。只需要勾选上sysadmin角色,然后重启该服务就OK了

SQL SERVER 2000 迁移后SQL SERVER代理服务启动错误分析的更多相关文章
- SQL Server 2000/2005 分页SQL — 单条SQL语句
有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标.本人不喜欢使用游标,我觉得它耗资.效率低:使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活.先看看单条 SQL ...
- Sql Server 2000/2008 用Sql导出数据表结构(包括注释)到Excel
--Sql Server 2000 declare @id int, ), ) declare cur_1 cursor for select id,name from sysobjects wher ...
- 古老server源代码迁移到新server
因为老vsts资源server不久,准备存档,现在在旧的需要server该代码仍然在使用的所有迁移到新的vstsserver在. 因此,我们需要迁移所有需要也许是习惯了新的代码vsts在之上.代码的迁 ...
- SQL Server2017 安装完成后找不到启动项解决方案
很多用于当SQL Server2017 安装完成后开始菜单找不到启动项无法启动SQL Server2017 其实你只需要安装一下SSMS-Setup-CHS就可以了 安装完成之后就有了 SSMS-Se ...
- VMWare 虚机迁移后Linux系统网卡启动问题
重新安装VMWare或拷贝虚机文件后有时网卡会无法工作,主要是因为网卡的Mac地址改变了,如果系统中的网卡配置信息中有Mac的信息,则虚机的系统的网卡可能无法正常工作. 如果出现上述问题,解决办法如下 ...
- 配置sql server 2000以允许远程访问 及 连接中的四个最常见错误
地址:http://www.cnblogs.com/JoshuaDreaming/archive/2010/12/01/1893242.html 配置sql server 2000以允许远程访问适合故 ...
- 使用SQL Server 2000索引视图提高性能
什么是索引视图? 许多年来,Microsoft? SQL Server? 一直都提供创建虚拟表(称为视图)的功能.在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数据的某 ...
- 配置sql server 2000以允许远程访问
配置sql server 2000以允许远程访问适合故障:1. 用sql企业管理器能访问sql server 2000(因为它是采用命名管道(named pipes)方式进行方式),但用ado.net ...
- 在同一台机器上让Microsoft SQL Server 2000/ SQL2005/ SQL2008共存
可能很多朋友都遇到想同时在自己的机器上运行Microsoft SQL Server 2000以及Microsoft SQL Server 2005和Microsoft SQL Server 2008. ...
随机推荐
- ASP.NET系统国际化总结
引言 系统要求同时支持中英文,以前对国际化这块只是听说过,从来没有自己动手过,提到国际化那么首先肯定想到的就是资源文件,也确实是这样,于是乎我从开始着手系统国际化功能时前前后后共投入了4次时间段,每次 ...
- 3.Struts2配置文件标签介绍
Struts2的很多核心功能都是由拦截器实现的. struts-default.xml中定义了这些拦截器与Result类型. 所以,不继承struts-default包,Struts2提供的很多核心功 ...
- HTML5+CSS3实现图片可倾斜摆放的动画相册效果
先看看效果:其中鼠标悬浮在图片上会有动态效果图 直接上代码: css文件 @CHARSET "UTF-8"; *{ padding:0px; margin:0px; } div{ ...
- js作用域和变量提升
Function declarations and variable declarations are always moved (“hoisted”) invisibly to the top of ...
- VS2015 打开html 提示 未能完成操作 解决办法
删除%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache下所有文件,然后重启VS. 快捷键:Win + R,输入 %LocalA ...
- Mac OSX中的@executable_path, @load_path和@rpath的理解
本文转载自:https://wincent.com/wiki/@executable_path,_@load_path_and_@rpath.个人觉得写的很不错,简洁明了. Absolute path ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(3),添加Nlog日志、缓存机制(MemoryCache、RedisCache)、创建控制器父类BaseController
一.回顾系统进度以及本章概要 目前博客系统已经数据库创建.以及依赖注入Autofac集成,接下来就是日志和缓存集成,这里日志用的是Nlog,其实还有其他的日志框架如log4,这些博客园都有很多介绍,这 ...
- 【转】ZigBee是如何组网的?
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化.节点(路由器或终端)加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网. 一.网络初始化: ...
- Linux解决乱码问题
主要的关注点是本身文件的编码和Linux的编码是否相同, 如果不相同的话,那么修改 例如: 就OK了,如果还是有问题的话,那么就查看一下连接工具的编码是否设置的有问题. 一般情况下,主要注意这些问题, ...
- C++_系列自学课程_第_4_课_string_《C++ Primer 第四版》
相信学习过计算机编程的人,基本应该都接触过C语言,在C语言中处理字符串大家一定多遇到过, 也都知道处理字符串非常麻烦,而在C++里面,由标准库string类提供对可变长的字符串的支持.下面 来看看st ...
