Ⅰ sql代理无法启动
对于服务器上数据的备份工作是网管员日常工作中最重要的工作之一,SQLServerAgent服务使得我们可以用SQL上的“数据库维护计划”功能来自动备份数据,但最近我发现服务器上SQLServerAgent服务无法启动了,回想最近所做的操作,原来是因为我把SQL中Builtin/Administrators这个帐号的服务器访问权限禁止掉了,因为这个帐号的存在对于SQL来说很不安全,但又不想删除,因此把它的权限禁止,结果导致SQLServerAgent服务无法启动。
解决的方法很简单,只要删除这个帐号,再建一个同时具有系统管理权限和SQL管理权限的用户,然后用这个用户去启动SQLServerAgent服务就可以了。以下是操作步骤:
1、打开企业管理器,打开左边的实例->安全性->登录,在右边空白处右击鼠标,选“新建登录”,单击“名称:”右边的按钮,会出现很多帐号名,选择一个具有windows超级管理员权限的用户(如Administrator),单击“添加”,再在“服务器角色”标签中选中“System Administrators”打勾,确定。
2、打开企业管理器左边的“管理”,右击“SQLServer代理”,选属性->常规->服务启动帐户,选“本帐户”,然后在旁边输入刚才所建的帐户和密码(例如:.\Administrator),密码是此用户的密码,确定。
3、最后,右击“SQLServer代理”,选“启动”,就能看到Agent成功启动了。
Ⅱ SQL Server占用内存过高,什么原因导致的,用什么方法可以解决
SQL Server运行越久,占用内存会越来越大。因为sql server本身内存回收机制做的不好,这是微软系列的服务器&数据库问题的通病。
解决SQL Server占用内存过高的方法:
1.定期重启SQL Server 2008 R2数据库服务即可。
拓展资料
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。
Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
网络Microsoft SQL Server
Ⅲ sqlserver2005怎么设置内存
SQLSERVER的内存用在哪里?
SQL会缓存大量的数据页面,他还会缓存很多其他信息,包括存储过程的执行计划 ,特定用户的安全上下文等
如果这些信息没有在数据库中缓存,SQL都要重新计算一遍,花额外的时间,所以SQLSERVER对内存的需求是十分强烈的。
配置:
(1)如果服务器支持64位操作系统,没有特殊理由的话,请安装64位系统。这样SQL能够有效地使用 大于2GB的内存。如果一定要用32位系统,务必将SQLSERVER服务器属性里面的“使用AWE分配内存”打开。但是不要用boot.ini文件里的/3GB这个开关,即不要在boot.ini文件里加上/3GB这个参数。
(2)尽量使服务器专门供数据库使用,不要将其他服务(例如IIS,中间层应用服务等)安装在同一台机器上。多个生产应用服务在同一台机器上运行,会大大增加维护成本
(3)建议设置SQLSERVER max server memory(最大服务器内存),以确保Windows有足够的内存供系统本身使用。
情况归纳如下:
一台4GB机器,建议预留1GB,设置SQLSERVER max server memory为2.8GB
一台8GB机器,建议预留2GB,设置SQLSERVER max server memory为6GB
一台大于8GB的64位机器,建议预留3GB~4GB
如果一台服务器上还有其他应用使用内存,也要扣除他们的内存使用数
一般设置SQLSERVER min server memory(最小服务器内存)意义不大
(4)如果是企业版SQLSERVER,建议赋给SQLSERVER启动帐号lock page in memory的权限
设置方法如下:
打开组策略(运行 ,输入gpedit.msc)-》找到计算机配置-》Windows设置-》安全设置-》本地策略-》用户权限分配-》锁定内存页
在锁定内存页上右键,打开锁定内存页属性,添加SQLSERVER启动帐号进去
(5)“set working set size” 这个SQLSERVER参数在现在的Windows上不能起到固定SQL物理内存的作用,所以请永远不要使用
修改完配置之后需要重启SQLSERVER服务才能生效!!!!!
除了配置之外还有一些应对内存错误的其他一些建议:
升级Windows2003到SP2,或者使用Windows2008 ,这些版本的Windows的内存管理机制有了调整
升级硬件驱动程序,或者联系微软技术服务,帮忙检查是不是硬件方面问题引起
Ⅳ sql server 2008 r2 启用awe后 内存的管理
会自动释放的。内存缓存一些查询,tempdb,存储等。不是把所有数据放到内存里面。你才10G,那100G,1T的怎么办。这涉及SQL内存管理方面。我也是粗浅的了解了一点。
Ⅳ sql server 2008 怎样设置内存
在安装有SQLServer数据库的计算机上,我们在使用数据库的过程中,有时候会在任务管理器里发现sqlservr.exe这个进程的内存和CPU占用率较高。
接下来我们来看一下,如何解决上面这个问题,需要设置SQLServer数据库的内存配置。登录数据库,这里使用的是SQLServer2008,右键点击最上方的服务器名,在弹出的菜单中,点击【属性】
打开服务器属性窗口。默认显示的是第一项【常规】内容,点击第二项【内存】进行内存配置。
点击【内存】后,打开服务器内存选项配置界面。这里的【使用AWE分配内存】可以对内存进行扩展支持,我们要做的是更改下方的最大服务器内存。这个数值根据自己服务器内存大小来做适当设置。
个人建议设置本机内存的一半或稍微高一点,如机器内存为2G,那么我们这里填写1000。需要注意的是内存设置调小以后,在数据库执行较复杂SQL语句的时候,可能会比较慢,出现这种情况,我们再适当上调最大内存配置大小。
Ⅵ sql server awe怎么设置
由于32位Windows用户进程有4GB的虚拟地址空间。其中2GB给核心态,剩下2GB给用户态。这两部分严格分开。Windows不会因为其中某一块
内存地址空间用尽而将另外一块的空间让出。
由于SQLSERVER的绝大部分指令都运行在用户态下,就是说SQLSERVER的内存基本上使用用户态地址空间资源。现在的情况是2GB地址空间资源
对于SQLSERVER来说严重阻碍了SQLSERVER有效利用硬件资源
所以SQLSERVER引入了AWE address windowsing extensions(地址空间扩展)。这是允许32位应用程序分配64GB物理内存,并把视图或窗口
映射到2GB虚拟地址空间的机制。
使用AWE,使得一个应用程序能够访问最多达64GB的物理内存!!!
在SQL2000的企业版,SQL2005/2008的企业版和标准版都支持这个技术,也能够享受这个技术带来的好处
开启这个功能的语句,执行完之后,重启SQLSERVER服务即可
1 EXEC sys.sp_configure @configname = 'AWE Enabled', -- varchar(35)
2 @configvalue = 1 -- int
3 RECONFIGURE
4 GO
AWE具体实现图
有几点需要注意的:
(1)开启这个功能需要SQLSERVER启动帐户在Windows上的lock pages in memory权限。没有这个权限,AWE就不能成功被开启。
启动的SQLSERVER这时候只能使用2GB的地址空间。
所以DBA要确认一下SQLSERVER的errorlog里有没有相关的信息
成功开启:server Address Windowing Extensions enabled
消息
Address Windowing Extensions is enabled. This is an informational message only; no user action is required.
开启失败:Cannot use Address Windowing Extensions because lock memory privilege was not granted
(2)这个功能是在应用层面有意识地使用,而不是在Windows层面实施的。也就是说SQLSERVER在申请内存时,通过特殊API调用申请到的,
如果SQLSERVER不调用这个功能,就还会在普通的2GB虚拟地址空间申请内存。在SQLSERVER中不是所有的内存申请都会调用AWE技术,
只有先reserve,再commit的内存调用,SQLSERVER才使用AWE让他们使用到扩展的内存。其他方式申请的内存只能使用普通的2GB地址空间。
正因为这样,AWE不能称为解决SQLSERVER地址空间不足的最终解决方案。使用64位的服务器,虚拟地址空间可以达到8TB,
大于现在绝大多数的单个服务器的物理内存数。在64位下运行的SQLSERVER,其性能往往比在32位上有比较明显的提高。
最后附上各个版本Windows上支持的最大内存数
配置 应用虚拟地址空间大小 最大物理内存数 是否支持AWE/locked pages support
32位SQLSERVER 2GB 64GB YES
32位SQLSERVER + /3GB boot.ini参数 3GB 16GB YES
32位SQLSERVER 应用在x64位操作系统(WOW) 4GB 64GB YES
32位SQLSERVER 应用在IA64操作系统(WOW) 2GB 2GB NO
64位SQLSERVER 应用在x64操作系统 8TB 2TB YES
64位SQLSERVER 应用在IA64操作系统 7TB 2TB YES
Ⅶ sql server 怎么实现数据的存储
在安装有SQLServer数据库的计算机上,我们在使用数据库的过程中,有时候会在任务管理器里发现sqlservr.exe这个进程的内存和CPU占用率较高。
接下来我们来看一下,如何解决上面这个问题,需要设置SQLServer数据库的内存配置。登录数据库,这里使用的是SQLServer2008,右键点击最上方的服务器名,在弹出的菜单中,点击【属性】
打开服务器属性窗口。默认显示的是第一项【常规】内容,点击第二项【内存】进行内存配置。
点击【内存】后,打开服务器内存选项配置界面。这里的【使用AWE分配内存】可以对内存进行扩展支持,我们要做的是更改下方的最大服务器内存。这个数值根据自己服务器内存大小来做适当设置。
个人建议设置本机内存的一半或稍微高一点,如机器内存为2G,那么我们这里填写1000。需要注意的是内存设置调小以后,在数据库执行较复杂SQL语句的时候,可能会比较慢,出现这种情况,我们再适当上调最大内存配置大小。
Ⅷ SQL代理无法启动怎么办
【处理方法】
一、配置环境
服务器环境为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。
2.检查数据库登录名是否有DBSRV1SqlStartUser。
3.检查事件查看器应用程序有关服务启动的过程信息。
三、类型来源 描述
①审核成功MSSQLSERVER用户 'DBSRV1 SqlStartUser' 登录成功。连接: trusted. [客户端: <local machine>]
②信息MSSQLSERVER配置选项 'show advanced options' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。
③信息MSSQLSERVERSQL Server 阻止了对组件 'Agent XPs' 的 过程'dbo.sp_sqlagent_has_server_access' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Agent XPs'。有关启用 'Agent XPs' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
④信息MSSQLSERVERSQL Server 阻止了对组件 'Agent XPs' 的 过程'dbo.sp_sqlagent_get_startup_info' 的访问......
⑤错误MSSQLSERVERSQLServerAgent could not be started (reason: SQLServerAgent 必须能够以 SysAdmin 身份连接到 SQLServer,但“(未知)”不是 SysAdmin 角色的成员)。