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. ...
随机推荐
- jQuery 插件为什么要return this.each()
jQuery.fn.test2= function(){ this.css("background","#ff0");//这里面的this为jquery对象,而 ...
- APP接口自动化测试JAVA+TestNG(三)之HTTP接口测试实例
前言 前两篇普及相关基础知识后,本篇主要对举例对国家气象局接口自动化测试进行讲解(Get请求及结果断言),以达到自动化测试入门目的,除了前两篇的一些了解外,需要有一定的JAVA知识(HTTP相 ...
- ajax+php+js实现异步刷新表单验证
创建ajax对象 //创建对象 function createAjax(){ var request =false; //IE浏览器,window对象存在ActiveXObject属性 if(wind ...
- Html标签列表【转】
Html标签 Html标签按功能类别排列 基础 标签 描述 <!DOCTYPE> 定义文档类型. <html> 定义 HTML 文档. <title> 定义文档的标 ...
- QT5.1 调用https
以VS开发为例.因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1.首先打开http://slproweb.com ...
- HTML5模仿逼真地球自转
查看效果:http://hovertree.com/texiao/html5/8.htm 给我一个支点,我就可以撬动地球 阿基米德 下载 http://hovertree.com/down/h/ear ...
- processModel与ASP.NET进程模型
配置 Microsoft Internet 信息服务 (IIS) Web 服务器上的 ASP.NET 进程模型设置.其作用是配置IIS或IIS中的应用程序池(IIS7及以后版本)的安全性,性能,健壮性 ...
- C# 之 DataReader 和 DataSet 的区别
本文转载自:http://www.cnblogs.com/xinaixia/p/4920630.html 1. 获取数据的方式[1]DataReader 为在线操作数据, DataReader会一直占 ...
- 【C#公共帮助类】给大家分享一些加密算法 (DES、HashCode、RSA、AES等)
AES 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的 ...
- jenkins中使用tfs插件做增量的版本发布部署
一 配置介绍 使用jenkins的tfs插件进行,源码的下载,编译,打包的操作,然后使用windows的批处理命令,在局域网内(或者本机)把打包的release包,删除掉web.config,然后靠配 ...