数据库管理
文章平均质量分 92
發糞塗牆
MVP, TOGAF, MCSE, Azure Solution Architect
展开
-
对于超大型SQL SERVER数据库执行DBCC操作
对于数据库维护,主要使用DBCC CHECKDB来实现,以下是对大型数据库的使用说明,小型数据库一般直接使用就可以了:1、2008(2005我不确认)已经实现了快照检查,也就是当你执行DBCC时,DBMS会先快照出一个数据库,然后在快照上执行检查,这样对原来的库不造成锁的影响。2、使用Physical_only选项,可以以较少的开销检查数据库的物理一致性。并且能检查出会危及用户数据安全的残原创 2012-05-01 17:27:15 · 2993 阅读 · 0 评论 -
系统开发生命周期
常规的系统开发生命周期(SDLC):1、计划(Planning)2、需求收集与分析(Requirements gathering)3、概念鱼逻辑设计(Conceptual and logical design)4、物理设计(Physical design)5、搭建模型并测试(Construction and testing)6、实现和实施(Implementation an原创 2012-05-01 23:32:11 · 4770 阅读 · 8 评论 -
SQL SERVER 内存分配及常见内存问题(1)——简介
一、问题:1、SQL Server 所占用内存数量从启动以后就不断地增加: 首先,作为成熟的产品,内存溢出的机会微乎其微。对此要了解SQL SERVER与windows是如何协调、共享内存。并且SQL SERVER的内部对内存的管理机制。2、在Windows 2003以上版本运行的SQL Server,内存使用量突然急剧下降: 内存是Sqlserver的生命线。在原创 2012-05-03 14:14:47 · 12066 阅读 · 2 评论 -
SQL SERVER 内存分配及常见内存问题(2)——DMV查询
内存动态管理视图(DMV):从sys.dm_os_memory_clerks开始。SELECT [type] , SUM(virtual_memory_reserved_kb) AS [VM Reserved] , SUM(virtual_memory_committed_kb) AS [VM Committed] , SUM(awe_al原创 2012-05-03 16:10:50 · 7734 阅读 · 0 评论 -
SQL Server 性能优化(一)——简介
一、性能优化的理由:听起来有点多余,但是还是详细说一下:1、节省成本:这里的成本不一定是钱,但是基本上可以变相认为是节省钱。性能上去了,本来要投入的硬件就可以减缓投入,从另外一个角度看来它就是节省了钱。2、增加效率:对于客户来说,性能上去了,他们的工作效率也高了。3、降低挫折感:性能底下,客户抱怨,无疑是对自己心灵上的打击。二、性能误区:性能误区原创 2012-05-05 16:35:19 · 2779 阅读 · 0 评论 -
配置服务器来调整性能(一)——概论
首先:要了解的是,在系统的生命周期中,服务器和程序都必须不断地调整以满足系统变更所带来的影响。其次:要获得最佳性能,应从配置服务器开始,然后设计高效的架构并指定优化SQL ,最后通过监控和分析性能循环改进配置。过程如下图:开发人员需要知道的性能有关知识:对于数据库,基础就是“架构”1用户需要了解有多少用户、多少并发用户、用户权限等2S原创 2012-05-07 14:43:57 · 2758 阅读 · 0 评论 -
T-SQL性能调整——信息收集
IO信息(自服务器启动开始)--Database IO analysisWITH IOFORDATABASE AS ( SELECT DB_NAME(VFS.database_id) AS DatabaseName , CASE WHEN smf.type = 1 THEN 'LOG_FILE'原创 2012-05-07 10:42:52 · 2274 阅读 · 0 评论 -
SQL Server 2008 R2 性能计数器详细列表(一)
SQL Server Backup Device 计数器:可监视用于备份和还原操作的 Microsoft SQL Server 备份设备SQL Server Backup Device 计数器说明Device Throughput Bytes/sec 一个备份设备在备份或还原数据库时所用的读写操作的吞吐量(以每秒字节数表示)。这一计数器只原创 2012-05-07 15:57:54 · 5845 阅读 · 0 评论 -
SQL Server 2008 R2 性能计数器详细列表(三)
SQL Server,Deprecated Features 对象:监视指定为不推荐使用的功能:SQL Server Deprecated Features 计数器实例 说明 “#”和“##”作为临时表和存储过程的名称遇到不包含 # 以外的任何字符的标识符。请至少使用一个其他字符。每次编译时发生。“::”函数调原创 2012-05-07 16:18:58 · 4482 阅读 · 0 评论 -
SQL Server 2008 R2 性能计数器详细列表(四)
SQL Server Latches 对象:监视称为闩锁的内部 SQL Server 资源锁。通过监视闩锁来确定用户活动和资源使用情况,将有助于查明性能瓶颈SQL Server Latches 计数器说明Average Latch Wait Time (ms) 必须等待授予的闩锁请求的平均等待时间(毫秒)。La原创 2012-05-07 16:38:29 · 5492 阅读 · 0 评论 -
SQL Server 2008 R2 性能计数器详细列表(五)
SQL Server:SQL Statistics 对象:监视编译和发送到 SQL Server 实例的请求类型SQL Server SQL Statistics 计数器说明Auto-Param Attempts/sec 每秒的自动参数化尝试数。其总数应为失败的、安全的和不安全的自动参数化尝试之和。当 SQL Server 实例尝试通过将原创 2012-05-07 16:43:37 · 5198 阅读 · 0 评论 -
[SQL Server优化]善用系统监视器,确定系统瓶颈
来自: http://hi.baidu.com/solorez/blog/item/f82038fa0e71b78d9e51468c.html如果您运行的是 Microsoft Windows 服务器操作系统,则可以使用系统监视器图形工具来测量系统当前的性能参数。可以查看包括处理器、内存、缓存、线程和进程等数据。每个对象都有一个相关的的计数器集,用于测量设备使用情况、队列长 度、延时情况,转载 2012-05-07 18:01:34 · 2717 阅读 · 0 评论 -
SQL Server 2008 R2 性能计数器详细列表(二)
SQL Server Buffer Partition 对象:提供计数器来监视 SQL Server 如何使用可用页SQL Server Buffer Partition 计数器说明Free list empty/sec 每秒钟请求但无法提供可用页的次数。Free list requests/sec 每秒请原创 2012-05-07 16:11:41 · 5292 阅读 · 0 评论 -
配置SQL Server 2008的资源调控器实现负载均衡
转自:http://www.ithov.com/server/93267.shtml1、为什么引入“资源调控器”? 在SQL Server 2008之前,数据库引擎曾尝试为所有并发用户提供均衡的性能,这使我们几乎无法控制分配给用户或工作负载的优先级,而且随着并发登录的增加会雪上加霜。“资源调控器”有助于防止性能问题,并识别正在使用的应用程序。“资源调控器”可以控制分配给会话的CPU和转载 2012-05-08 16:53:11 · 3616 阅读 · 0 评论 -
SQL Server系统数据库备份最佳实践
首先了解主要的系统数据库:系统数据库master包含登录信息和其他数据库的核心信息msdb 存储作业、操作员、警报、备份还原历史。数据库邮件信息等等。model 所有新数据库的模型,如果希望新数据库都有某些对象,可以在这里创建。tempdbsql server重启时重建,所以不需要备份除了以上四种,原创 2012-05-08 23:49:04 · 2647 阅读 · 0 评论 -
SQL Server 2008 R2 安全性专题(一):安全原则
本系列主要专注与SQL Server 2005以后的DBMS,由于本人工作使用2008 R2,所以目前就针对2008 R2来做说明:关于保护SQLServer 安全的原则:最小权限原则CIA三角深度防护一、最小权限原则:只授予所需的最小权限。最简单的解决方案是让用户成为固有数据库角色:db_datareader成员,然后创建select权限创原创 2012-05-08 11:27:29 · 2986 阅读 · 0 评论 -
SQL Server 作业监控
在讲解SQLServer Agent Jobs之前,先要讲解msdb。Msdb是SQLServer的系统数据库之一,用于存储SQLServer的配置、元数据等信息。包括:l SQLServer Agent Jobs,Job Steps,Job schedules,Alerts,Operators,等等。l Service Broker,Log Shipping,Backups/re原创 2012-05-28 13:00:54 · 8316 阅读 · 1 评论 -
谁占用了我的Buffer Pool
转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/11/buffer-pool.aspx我在做SQL Server 7.0技术支持的时候有客户问我,“我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能否知道是哪个数据库,哪个表,哪个index占用了buffer Poo转载 2012-05-28 17:54:07 · 2244 阅读 · 0 评论 -
微软未公开存储过程及有用的函数
从网上收集,有些已经在2008不支持或者后续版本不支持,所以需要慎用。XP_FileExist:用法:EXEC xp_fileexist [, OUTPUT]例子:exec master.dbo.xp_fileexist 'C:\temp'SP_MSForEachDb:例子1:exec dbo.sp_MSforeachdb 'select ''?'', * from [原创 2012-05-11 10:40:02 · 3243 阅读 · 2 评论 -
SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件
SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件原文来自:http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/ August 23, 2008 by pinaldave今天这转载 2012-05-29 17:01:28 · 3231 阅读 · 0 评论 -
DBA工具——DMV——如何知道TSQL语句已运行了多久
DBA通常想知道正在运行的语句已经执行了多久了?可以使用Sqlserver profiler来捕获语句的开始时间,和现有时间比较,但是在生产环境下通常会对性能有负面影响,所以通常不建议在非必要的前提下在生产环境使用SQL Server Profiler。此时,可以使用DMV来查询:sys.dm_exec_requests中有一个重要字段:start_time,表示request的开始时间,原创 2012-05-29 17:49:47 · 4842 阅读 · 0 评论 -
SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
从2005开始,就引入了“数据库邮件”功能。并且取代SQLMail。原有SQLMail可以继续使用。SQLMail要求有应用程序编程接口(Extended Messaging Application Programming Interface,MAPI),安装新的Office时可能导致SQLMail失败。数据库邮件更加安全、可靠,并且不需要MAPI。具有群集感知能力、可以自动重传发送失败的原创 2012-05-10 16:06:15 · 4514 阅读 · 0 评论 -
备份数据库存储过程
由于使用SSMS创建的维护计划中,完整备份的话,会打断别的备份的顺序链,而由于管理原因,往往需要有几套备份计划,所以经过时间,本人编写了一个存储过程实现我的想法。不管你用不用,反正我用了。首先,创建一个表,用于记录备份信息。因为用DMV和系统视图的话往往要编写很多东西,对于一般人很难记住那么多表。所以使用一个表来记录更加方便。以前之前已经创建了一个库 AuditDB,用于监控数据库的D原创 2012-05-11 13:58:01 · 4310 阅读 · 0 评论 -
备份相关脚本
--查看一周内备份信息:SELECT CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, msdb.dbo.backupset.database_name, msdb.dbo.backupset.backup_start_date, msdb.dbo.backupset.backup_fi原创 2012-05-13 23:44:24 · 1844 阅读 · 0 评论 -
Windows命令行命令集锦
转自:http://www.me2wg.com/bbs/forum.php?mod=viewthread&tid=15830winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--------windows脚本宿主转载 2012-05-14 23:15:32 · 1744 阅读 · 0 评论 -
Windows 事件查看器(收集)
事件查看器相当于一本厚厚的系统日志,可以查看关于硬件、软件和系统问题的信息,也可以监视Windows 的安全事件提示:除了可以在“控制面板→管理工具”中找到“事件查看器”的踪影外,也可以在“运行”对话框中手工键入“%SystemRoot%\system32\eventvwr.msc /s”打开事件查看器窗口。1. 应用程序日志包含由应用程序或系统程序记录的事原创 2012-05-14 23:17:30 · 10470 阅读 · 0 评论 -
SQL Server 文件路径
系统数据库文件路径master :\program files\microsoft sql server\mssql10.\data master.mdf mastlog.ldfmsdb :\program files\microsoft sql server\mssql10.\data msdbdata.mdf msdblog.ldfmodel :\program files\mic原创 2012-06-04 10:58:08 · 7022 阅读 · 0 评论 -
SQL Server 移动数据库
移动系统数据库在下列情况下可能很有用:故障恢复。例如,数据库处于可疑模式下或因硬件故障而关闭。计划的重定位。为预定的磁盘维护操作而进行的重定位。下列过程适用于在同一 SQL Server 实例内移动数据库文件。若要将数据库移动另一个 SQL Server 实例中或另一台服务器上,请使用备份和还原或分离和附加操作。本主题中的过程需要数据库文件的逻辑名称。若要获原创 2012-06-04 13:08:38 · 6968 阅读 · 0 评论 -
阻塞与死锁(一)——基础知识
阻塞与死锁是除内存、CPU、IO外另一个影响性能的因素。对OLTP系统尤为严重一般以下问题是死锁的征兆:1、 并发用户少的时候,一切正常,但是随着用户数量增多,性能越来越慢。2、 客户端经常收到以下错误:Error 1222:Lock request time out period exceeded.(已超过锁请求超时时段)Error 1205:Your transacti原创 2012-05-16 16:02:24 · 5832 阅读 · 0 评论 -
SQL Server 内存泄露(memory leak)——游标导致的内存问题
转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql-server-memory-leak.aspx问题描述:客户反映SQL Server运行一段时间就会报出内存不足的错误,怀疑是有内存泄露。从SQL Server的error log里面看如下错误信息:2009-05-14 10:54:20.71 server转载 2012-06-06 00:09:21 · 5533 阅读 · 0 评论 -
SQL Server 数据库索引
一、什么是索引减少磁盘I/O和逻辑读次数的最佳方法之一就是使用【索引】索引允许SQL Server在表中查找数据而不需要扫描整个表。1.1、索引的好处:当表没有聚集索引时,成为【堆或堆表】【堆】是一堆未加工的数据,以行标识符作为指向存储位置的指针。表数据没有顺序,也不能搜索,除非逐行遍历。这个过程称为【扫描】。当存在聚集索引时,非聚集索引的指针由聚集索引所定义的值组成,所以聚集原创 2012-06-05 17:02:02 · 2444 阅读 · 0 评论 -
SQL 2008执行语句遇到内存不足(1)——error 701
转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/17/sql-2008-error-701.aspx某个特定的存储过程在SQL 2008中执行会遇到以下错误:Msg 701, Level 17, State 123, Procedure GetAllRevisions_Monthly, Line 22There is insuffi转载 2012-06-06 00:07:09 · 8926 阅读 · 0 评论 -
简介数据库日志文件的增长
转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/12/30/10251946.aspx我的数据库只有10GB,为什么我的日志文件有40GB,而且还在增长?2. 我无法对数据库进行更改操作了。报错说我的日志空间已满。3. 我数据库的恢复模式明明是Simple,为什么还有日志,还那么大?4. 我的数据库转载 2012-06-05 17:49:51 · 5684 阅读 · 2 评论 -
SQL Server中TempDB管理(版本存储区的一个example)
原文来自:http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/12/31/managing-tempdb-in-sql-server-tempdb-basics-version-store-转载 2012-06-07 13:32:33 · 3294 阅读 · 0 评论 -
阻塞与死锁(二)——各种操作对锁的申请
如何监视锁的申请、持有和释放:在着手分析、处理阻塞、死锁之前,首先要进行“监控”和“信息收集”1、检查一个连接当前所持有的锁:可以使用sp_lock来查看所有连接持有的锁的内容。在2005以后引入的DMV,还能用过sys.dm_tran_locks来查看:SELECT request_session_id, resource_type , re原创 2012-05-17 20:02:46 · 2600 阅读 · 0 评论 -
监测谁用了SQL Server的Tempdb空间
转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/02/11/sql-server-tempdb.aspxTempdb 系统数据库是一个全局资源,供连接到 SQL Server 实例的所有用户使用。在现在的SQL Server里,其使用频率可能会超过用户的想象。如果Tempdb空间耗尽,许多操作将不能完成。作为一个支持工程师,会被经常问到象转载 2012-06-07 13:29:00 · 2839 阅读 · 2 评论 -
数据库引擎调整顾问
数据库性能很大程度上取决于表上是否有合适的索引。但是工作负载和数据随时变化,现有的索引可能不完全合适,可能需要新的索引。但是决定索引又是非常困难的,因为对某个查询有提升作用,却会对其他查询或者其他操作有负面影响。SQLServer提供了【数据库引擎顾问】(DTA)工具来帮助为一个给定的工作负载确认一组最优的索引。而不需要对数据库和SQLServer结构深入了解。它还能为一小部分问题查询提供原创 2012-06-08 00:07:26 · 5418 阅读 · 4 评论 -
SQL Server安全性专题一:简介
一、 安全威胁与法则1、 安全定义2、 安全威胁3、 安全法则安全定义:在SQLServer环境中,安全性可以认为是【数据保护】。包括: 数据只能被已授权的用户访问。 数据被安全地存储。 数据要被安全地传输。 数据可恢复以下是详解:1、 数据只能被已授权的用户访问:必须使用一个强身份验证机制去确保数据被安全地访问。从2000开始(以前的没原创 2012-06-07 09:54:04 · 3175 阅读 · 0 评论 -
SQL Server中TempDB管理(version store的逻辑结构)
原文来自:http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/12/31/managing-tempdb-in-sql-server-tempdb-basics-version-st转载 2012-06-07 13:39:10 · 2736 阅读 · 0 评论 -
SQL Server中tempdb的管理
资料来自:http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/12/21/tempdb-basics.aspx我们推出了一系列的关于TempDB基础,监控和问题调试的博文,也建议大家阅读转载 2012-06-07 13:53:06 · 3081 阅读 · 0 评论