启动SQL Server服务和数据库

在日常管理维护SQL Server的时候,我们需要注意很多地方,然后有时候做起事情来也不得章法,现在就基本的原理和常见问题的解决思路,在这跟大家分享一下。
首先介绍一下SQL Server基本的运行原理。
作为一个Windows服务,SQL Server的每个实例就是一个sqlserve.exe进程。这个进程启动后会读取SQL Server实例的启动配置,检测硬件,配置内存和CPU,初始化一些SQL Server系统配置,启动数据库,连接网络。然后数据库就算正常启动了,然后客户端可以正常访问了。
这个是基本的启动过程,那在什么情况下回出现不能正常启动呢,当然介绍的都是我们可以解决的基本情况,像执行文件损坏,数据库损坏,这些不能立即解决的问题,日后在介绍。
1.SQL Server实例服务进程无法正常启动
sqlservr.exe进程在启动的时候,需要读取一些注册表的键值以及读取一些文件,然后根据这些配置做相应的动作。
那需要读取的注册表键值是哪些,一般都有什么作用呢:
1)HLM\SPFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQLServer下,
Audit Level:设置SQL Server是否记录用户登录信息,也可以在Management Studio里的服务器属性设置。
Login Mode:设置SQL Server是只接收Windows账户登录,还是同时接收WIndows和SQL server账户。
2)启动参数HLM\SPFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQLServer\Parameters下,
SQL Server可以有很多启动参数,有些事提供分析问题用的。
下面介绍几个固定的参数:
-d 记录的是master数据库的数据文件物理位置
-l 记录的是master日志文件物理位置
-e 记录的是SQL Server错误日志文件的位置
3)网络配置信息HLM\SPFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQLServer\SuperSocketNetLib下,
SQL Server会侦听哪几个网络协议,以及每个网络协议的配置,也是放在注册表里。
从注册表读取SQL Server启动信息这一步可能遇到的两个问题:
1)启动账号权限问题
如果启动账号没有权限读取注册表或调用SQL Server的某些资源文件,那么SQL Server这个进程有可能无法创建,这时可能errorlog文件都无法生成。
需要解决这个问题,就是给启动账户赋予权限。
2)日志文件和文件夹访问问题
SQL Server要成功启动,必须要能正确的创建出日志文件errorlog,如果日志文件不能被创建成功,那么SQL Server也就不能启动。
有时候日志的路径不正确,即-e参数指定的位置不正确;或者某个进程将errorlog文件锁定了。
2.系统数据库无法正常启动
SQL Server服务开启后,首先就是要去启动系统数据库,如果系统数据库无法正常打开,SQL Server也不会正常启动。
3.网络配置失败
要接收客户端的连接,SQL Server必须配置好网络协议,一般是TCP/IP,Named Pipe,LPC,如果协议没有正确配置,客户端也不能正常连接到SQL Server。
4.用户数据无法正常启动
SQL Server启动的最后一步是打开用户数据库,如果数据库文件损坏,或者上次SQL Server关闭的时候数据库没有被正常关闭,开启用户数据库的时候可能会遇到麻烦。
5.群集环境下SQL Server资源无法保持正常在线
群集环境下安装的SQL Server,会由Windows群集服务来监控SQL Server是否正常工作。如果群集服务连不上SQL Server,就可能发生切换。管理需要监控和分析,SQL Server资源为什么不能保持在线,上次发生切换的原因是什么。
提示:Errorlog日志记录的是SQL Server在启动或运行过程中遇到的所有严重问题,所以当SQL Server遇到异常问题时,首先检查日志文件。这个文件一般保存7个,按时间由近到远的顺序,且重启SQL Server服务会生成新的errorlog文件。

原文地址:http://blog.51cto.com/9446041/2113504

时间: 2024-10-18 00:19:21

启动SQL Server服务和数据库的相关文章

SQL Server 2012实施与管理实战指南(笔记)——Ch5启动SQL Server服务和数据库

5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 5.集群环境下SQL Server资源无法保持在线 目录 5.启动SQL Server服务和数据库... 1 5.1 SQL Server服务启动步骤... 1 5.1.1 从注册表中读取SQL Server启动信息... 1 5.1.2 检查硬件,配置内存和CPU.. 2 5.1.3 数据库启动.

Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126

本文转自:http://www.cnblogs.com/yuerdongni/archive/2012/08/18/2645140.html 在使用SQL2005(或2008)是可能会遇到错误提示: “Windows 不能在 本地计算机 启动 SQL Server . 有关更多信息,查阅系统事件日志.如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码126 ” 解决方法: 在2005(2008)的“配置工具”中有个“SQL Server Configuration M

三种启动SQL SERVER服务的方法(安装后运行提示无法打开到SQL Server的连接)

不启动服务出现下面报错: 1.后台启动 计算机-管理-服务和应用程序 - 2.SQL SERVER配置管理器: 3.在运行窗口中使用命令进行启动:

C# 启动 SQL Server 服务

1 //首先要添加 System.ServiceProcess.dll 引用 2 ServiceController sc = new ServiceController("MSSQLSERVER"); 3 4 //判断服务是否已经关闭 5 if (sc.Status == ServiceControllerStatus.Stopped) 6 { 7 sc.Start(); 8 MessageBox.Show("SQL数据库服务启动成功!", "提示信息&

SogouCloud.exe进程导致SQL Server服务无法启动

早上打开笔记本想开启SQL Server服务时报错,于是根据提示查看windows日志: 依次点开报错发现第一条是1433端口被占用,于是找相关的进程: 于是杀掉此进程: taskkill /pid 6740 然后启动SQL Server服务成功.

SQL Server之 (一) 数据库简介 SQL Server环境配置 数据库基础知识

   前言 这个是我工作两年多后,再次从最基础的SQL入门开始,认真的学一遍SQL Server,捡漏和巩固都有;因为自己刚开始学的时候,总是心烦气躁,最近换工作,发现1到2年经验,问到基础性的东西还是很多,这个时候需要的是扎实的基础功夫,所以一系列打击+反省后,自己节假日在家从最基础重新认识一下SQL Server,继续沉淀一下.哪里有不对或需深入探讨,请直接留言或者小窗我;欢迎~ (一) 数据库简介   SQL Server环境配置   数据库基础知识 1.什么是数据库,数据库有哪些特点,为

sql server服务看不到,显示为远程过程调用在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误10061

需要启动sql server服务 启动就可以完成登录了

慎重管理SQL Server服务的登录(启动)账户和密码

今天是大年初三,先跟大家拜个年,祝大家新年快乐.今天处理了一个alwaysOn问题--辅助副本因为磁盘空间不足一直显示[未同步--可疑],在日志中可以看到数据库处于挂起状态,与主副本失去同步.原以为只需把辅助副本的磁盘做个清理,腾出一点空间,然后重启SQL Server服务就好了(重启让数据库从挂起状态进入到联机状态,然后让alwaysOn重新开始同步).但,重启失败!!!在操作系统日志中看到SQL Server启动失败的原因是:(启动账户的)用户名和密码错误!!! 当初做alwaysOn的时候

sql server服务启动不了(案例)

sql server服务启动不了 1)在启动 SQL Server(SQLEXPRESS)服务时提示如下错误:在本地计算机无法启动sql server(sqlexpress)服务错误3:系统找不到指定的路径那位遇到过这样的问题,我在网上找了些相关的资料可是无法解决 解决方法: 1.先去服务里找到 SQL Server(SQLEXPRESS),看它的属性,把可执行文件的路径复制下来 2.到注册表找到HKEY_LOCAL_MACHINE/SYSTEM/CONTROLSET001/Services/M