重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
--1. 将当前数据库的全部脏页写入磁盘。“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据页。
专注于为中小企业提供成都做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业长洲免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
-- CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢复过程中节省时间。
CHECKPOINT
--2. 若要从缓冲池中删除清除缓冲区,请首先使用 CHECKPOINT 生成一个冷缓存。这可以强制将当前数据库的全部脏页写入磁盘,然后清除缓冲区。
-- 完成此操作后,便可发出 DBCC DROPCLEANBUFFERS 命令来从缓冲池中删除所有缓冲区。
DBCC DROPCLEANBUFFERS
--3. 释放过程缓存将导致系统重新编译某些语句(例如,即席 SQL 语句),而不重用缓存中的语句。
DBCC FREEPROCCACHE
--4. 从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 Database Engine 会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。
-- 但是,可以使用此命令从所有缓存中手动删除未使用的条目。
DBCC FREESYSTEMCACHE ( 'ALL' )
--5. 要接着执行你的查询,不然SQLServer会时刻的自动往缓存里读入最有可能需要的数据页.
缓冲区是创建数据页面的缓冲页面池,这一般是SQL server内存池中最大的部分。这个计数器应该尽可能高。
低值表示只有少数的请求是在缓冲区,其他请求是在磁盘获取服务
这种情况发生可能是SQL server还在准备状态下,或缓冲区的增长需求超过最大可用内存,因此如果此值比较低,应该考虑为系统增加内存。
每好一个检查点操作移到磁盘的页面数量,这些值应该相当低,高值意味着缓冲中更多的页面被标记为脏页面。
脏页面是在缓冲区中被修改的页面。一旦被修改,就标记为脏并在下一个检查点被写回磁盘。
如果这个计数器较高说明系统发生大量的写入操作,可能是I/O问题的征兆。
记录了缓冲区管理器的Lazy write进程每秒写入的缓冲区数量。这个进程会把时间较长的脏页面从缓冲区中删除,将内存释放
数值过高说明I/O有问题或是内存问题。
页面平均寿命,表示一个不被引用的页面在缓冲池中停留的时间。数值低意味着页面从缓冲区中被移走
降低了缓冲的效率并指出内存压力的可能。
值高说明内存短缺,需要将进度挂起等待内存空闲
表示SQLServer希望消耗的动态内存总数。
当前分配给SQLerver的总内存。 如果低于Target Server Memory
那么可能是SQLserver内存需求很低,服务器最大内存设置的太低
均使用性能监视器添加指标查看
方法参考:
%disk time 磁盘时间百分比 平均值85%
CurrentDiskQueueLength 当前磁盘队列长度 平均值2
disk Transfers/sec 每秒磁盘传输数量 平均值100
Disk Bytes/sec 每秒传输字节数 平均值每秒10MB(该值需通过磁盘性能测试评估,不同磁盘指标不同)
avg.disk sec/read(write) 每次磁盘读写所需平均时间 平均值10毫秒
%process Time 处理器时间百分比 平均值80%
%privileged time 特权时间百分比 平均值10%
windows server 包括用户模式和特权模式两种 %privileged time为20%-25%表明系统正在进行大量的IO操作,一个专用的SQLserver系统%privileged time不能超过10%
sqlserver:SQL Statistics Batch Requests/sec 每秒接收到的sql命令批数 根据机器配置 一般1000为繁忙,超过1000应注意
SQL Compilations/sec sql编译次数 100
SQL Reompilations/sec sql重编译次数
Network interface bytes Total/sec 每秒总传输字节数 平均值NIC容量的50%
NetworkSegment %net utilization 网络利用率 平均值80%
参考:
产生错误的场景如下:为增强安全性,您可以删除 Windows 操作系统的系统上的本地管理员组的某些默认用户权限。准备在此系统上的设置,Microsoft SQL Server 后,将安装程序帐户添加到本地管理员组。
在此情况下,如果您在安装或升级到 Microsoft SQL Server,安装过程可能会失败,并且您会收到各种错误消息,如以下各节中所述。
方案 1:新安装时,安装程序失败,并收到以下错误消息:
访问被拒绝
此外,您可能会注意到如下所示的 Detail.txt 文件中的错误消息
SQLEngine:-SqlServerServiceSCM: 等待 nt 事件 Global\sqlserverRecComplete$ NIIT 要创建
SQLEngine:-SqlServerServiceSCM: 等待 nt 事件 Global\sqlserverRecComplete$ NIIT' 或 sql 进程句柄发出信号
Slp: 计时 ConfigRC 和 ConfigRC 的方案过程中配置操作失败 SQL_Engine_Core_Inst 功能。
Slp: 访问被拒绝
Slp: 计时 ConfigRC 和 ConfigRC 的方案过程中配置操作失败 SQL_Engine_Core_Inst 功能。
Slp: System.ComponentModel.Win32Exception: 访问被拒绝
Slp: 在 System.Diagnostics.ProcessManager.OpenProcess (Int32 结果、 Int32 访问、 布尔 throwIfExited)
Slp: 在 System.Diagnostics.Process.GetProcessHandle (布尔 throwIfExited Int32 的访问)
Slp: 在 System.Diagnostics.Process.OpenProcessHandle()
Slp: 在 System.Diagnostics.Process.get_Handle()
Slp: 在 Microsoft.SqlServer.Configuration.SqlEngine.SqlServerServiceBase.WaitSqlServerStart (进程 processSql)
Slp: 在 Microsoft.SqlServer.Configuration.SqlEngine.SqlServerServiceSCM.StartSqlServer (字符串 [] 参数)
Slp: 在 Microsoft.SqlServer.Configuration.SqlEngine.SqlServerStartup.StartSQLServerForInstall (字符串 sqlCollation、 masterFullPath 字符串、 布尔 isConfiguringTemplateDBs)
Slp: 在 Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.ConfigSQLServerSystemDatabases EffectiveProperties 属性、 布尔 isConfiguringTemplateDBs 布尔 useInstallInputs)
Slp: 在 Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.DoCommonDBStartConfig (ConfigActionTiming 计时)
Slp: 在 Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.Install ConfigActionTiming 计时、 字典"2 需该参数 PublicConfigurationBase spcb)
Slp: 在 Microsoft.SqlServer.Configuration.SqlConfigBase.PrivateConfigurationBase.Execute ConfigActionScenario 方案、 ConfigActionTiming 计时、 字典"2 需该参数 PublicConfigurationBase spcbCurrent)
Slp: 在 Microsoft.SqlServer.Configuration.SqlConfigBase.SqlFeatureConfigBase.Execute ConfigActionScenario 方案、 ConfigActionTiming 计时、 字典"2 需该参数 PublicConfigurationBase spcbCurrent)
Slp: 在 Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction (字符串 actionId)
Slp: 在 Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute (字符串 actionId,TextWriter errorStream)
Slp: 异常: System.ComponentModel.Win32Exception。
Slp: 源: 系统。
Slp: 消息: 访问被拒绝。
方案 2: Engine_SqlEngineHealthCheck 规则上,升级到 SQL Server 2008年将报告以下错误消息:
规则名称: Engine_SqlEngineHealthCheck
规则说明: 检查是否可以重新启动 SQL Server 服务 ;或者,对于群集实例,是否该 SQL Server 资源处于联机状态。
结果: 失败
消息/纠正措施: SQL 服务器服务无法重新启动。群集实例,SQL Server 资源并不在线
此外,您可能会注意到如下所示的 Detail.txt 文件中的错误消息
SQLEngine:: 检查引擎检查点 GetSqlServerProcessHandle_1
SQLEngine:-SqlServerServiceSCM: 等待 nt 事件 Global\sqlserverRecComplete 美元 SQL10 要创建
SQLEngine:-SqlServerServiceSCM: 等待 nt 事件 Global\sqlserverRecComplete 美元 SQL10 或 sql 进程句柄发出信号
SQLEngine:-FacetSqlEngineHealthCheck: Engine_SqlEngineHealthCheck: 错误: 访问被拒绝
Scenario3:新安装的 Microsoft SQL Server 2012年或 Microsoft SQL Server 2008 R2 将失败
当您尝试安装的 SQL Server 2012年或 SQL Server 2008 R2 新实例时,您会看到以下错误消息:
"安装程序的帐户权限"规则失败。
正在运行 SQL Server 安装程序的帐户没有一个或多个下列权限:备份文件、 权限管理审核和安全日志和目录权限来调试程序权利。