sql server数据库日常维护规范
- 格式:docx
- 大小:29.63 KB
- 文档页数:9
备份数据精确地准备进行备份和恢复过程可以尽可能地减少你的服务器出故障时缩短损失。
当你准备备份过程时,你应该记住这样几件事情:把所有的备份数据库设备存储在同一个子目录下。
把这些备份都放在一个子目录下,有利于服务器把他们向磁带上备份。
在每一次安装SQL Server之后,都要重新备份master数据库。
要在备份master数据库之前,备份所有的应用程序的数据库。
在这些事情发生以后,你必须备份master数据库。
你增加或删除一个数据库设备你建立或改变了数据库的所有者。
你增加或改变了用户ID,登录ID号,或远程登录ID号。
你运行了sp_configure。
如果你丢失了master数据库,你也会丢失所有的其他数据库。
在这种事情发生时,你必须重新生成master数据库,这是一个很痛苦的事。
注意,要经常备份它。
如果需要的话,要经常备份事务处理日志文件。
SQL Enterprise Manager使这种备份变得很容易。
要准备备份,你要做的第一件事就是要建立一个备份数据库设备。
按照以下步骤进行:运行SQL Enterprise Manager,选择你的数据库服务器的名字。
从Tools菜单,选择Database Backup|Restore。
选择New Backup Devices。
新建备份数据库设备的对话框就出现了,如图3.14所示。
输入数据库设备的名字和备份数据库设备的位置。
你也可以说明是向磁盘或磁带备份。
点击Create按钮。
你可以按照以下的步骤准备备份:选择Tools|Database Backup|Restore。
用于数据库备份的对话框就出现了(见图3.15)。
从Database Backup的下拉式框中,选择你要备份的数据库。
选择你需要的数据库备份设备。
图3.14 新建数据库备份设备的对话框图3.15准备数据库备份的对话框一次建立和准备使用备份设备时,你需要对它进行初始化(建立它)。
数据库设备的subsequence备份,后一个备份会覆盖前面一个备份。
壹SQL Server“数据库维护计划”作为网管员,无论其管理的网络的规模是大还是小,在日常的管理中除了维护网络平稳运行、及时排除网络故障、保护网络安全等工作以外,备份网络中关键数据也是其中的一个非常非常重要的工作环节。
网络中的各种故障无非就分两种:软件故障和硬件故障。
对于“硬件故障”可以通过维修或更换硬件设备得到及时解决;对于“软件故障”则可以通过重新安装或升级软件、重做网络或应用软件系统等方法及时解决,而且用此方法来解决网络故障大多需要一些基础的、关键的数据支持才能得以恢复正常。
但是,网络中诸如此类的关键数据(特别是“应用软件系统”中的关键数据)的损坏或丢失,绝大部分是无法恢复和弥补的。
即使可以恢复部分数据,弥补它们所花费的代价(诸如时间、人力、财力、物力等)都可能远远超出了公司的承受能力。
所以说,注重数据的备份工作是网管员日常管理工作中的必须时刻关注的一项任务,也是必须周期性重复操作的一项工作。
现行备份策略我公司在组建局域网时,考虑到商业企业的特点,仔细考量了购、销、存三大环节中发生的各种数据及其存储问题后,选定了以Windows 2000 Server为操作系统,SQL Server 2000为数据库平台来搭建局域网的应用系统的软件平台,以网线为载体将购、销、存等核心部门的计算机通过局域网平台紧密地连接起来。
这样,各个核心部门每天的任何一笔业务都及时地、动态地存储到公司局域网的核心Dell服务器上的SQL Server 2000数据库中,并以此为基础平台向各方提供所需的各种数据服务。
因此,自公司局域网开始正式运作之日起,作为网管员的我就非常注重对局域网中的关键数据——特别是这些业务数据的备份工作。
同时,我也希望备份数据的软件能够实现以下自动功能。
功能1:能够在每天的某个固定的时刻(如夜晚0:00:00,当然这个时间是可以自主设定的)对包含所有业务数据库在内的所有关键数据库进行一次“完全备份”。
SQL Server 2000系统维护手册SQL Server 2000是微软公司的数据库产品,可以运新在Windows系列的操作系统上;是当前应用最广泛的数据库管理系统之一。
我公司开发的C/S结构的软件产品均以SQL Server 2000做数据库后台。
更详细的信息可以参考:/china/sql/default.mspx一.SQL Server 2000安装1.安装环境Sql Server 2000有很多版本,其中个人版本可以安装在主流的Windows操作系统中,包括:Windows 98,Windows Me,Windows 2000,Windows XP,Windows 2003等。
而企业版本只能安装在服务器版本的Windows环境下,比如:Windows NT、Windows 2000 server、Windows 2003等。
因此我们建议一般的应用,采用Sql server 2000个人版本即可。
Sql server 2000安装对硬件没有特别要求,但需要满足:处理器:Pentium 166 MHz 或更高。
内存 (RAM):至少 64 MB,建议 128 MB 或更多。
硬盘空间:需要约500MB的程序空间,以及预留500M 的数据空间。
2.个人版安装(一)运行personal目录下的Autorun.exe文件或其它可执行文件,调出安装程序后,出现图一所示界面。
选择“本地计算机”后,点击“下一步”。
图一(二)在第二个选择对话框中,选最上面一项:“创建新的SQL Server实例……”(如图二),然后点击“下一步”。
图二(三)在安装定义对话框中,选中“服务器和客户端工具”(图三),如果选其它两个项目,软件不能正常运行。
图三(四)安装类型选择典型安装(见图四)。
建议你将程序文件和数据文件的目的文件夹均选择在C盘(引导盘)以外的其它分区或其它盘符上,如图四所示的D盘等。
图四(五)身份验证选择“混合模式”(图五)。
SQL Server 数据库管理维护规Version 1.02010-8-17目录1 修改记录 (3)2 简介 (3)3.数据库的物理环境 (4)3.1 网络环境 (4)3.2 目录设置 (5)3.3 文件设置 (5)4.数据库账户管理 (5)5.数据库备份和恢复 (6)5.1 开发测试环境 (8)5.2 生产环境 (8)5.2.1 用户数据库 (8)5.2.2 系统数据库 (9)5.2.3 异地备份 (9)5.2.4 恢复计划 (9)6.数据库监控 (9)7.数据库维护 (11)7.1 性能优化 (11)7.2 恢复或者切换演练 (11)附录1 数据库备份,验证备份脚本 (12)附录2 数据库恢复脚本 (14)附录3 清除备份文件脚本 (15)附录4 事件通知例子 (16)附录5 数据库账户申请表格 (17)1 修改记录2 简介数据库管理和维护是指为了保证业务系统的稳定高效运行,而对数据库系统进行全面周密的可用性,可靠性,可扩展性等方面的措施,以保证数据库系统的稳定高效运行。
数据库系统的管理和维护主要包括:Δ数据库用户以及权限的分配与维护Δ数据库的备份与恢复的设置和演练Δ数据库性能的定期巡检和优化Δ数据库高可用性,可扩展性架构方面的不断研究和应用Δ数据库方面新项目的可行性研究,根据预期规模确定合适架构Δ数据库系统包括整体架构的监控Δ不断学习和研究数据库领域最新技术,并适时投入应用该数据库管理和维护标准是一般数据库系统的管理和维护的试行标准.通过此标准,来规数据库系统的管理和维护.我们认为在数据库系统的管理和维护时遵循一定的标准是非常重要并且是必要的.标准能使我们的DBA以统一的方式和风格进行数据库系统的管理维护,从而使我们的数据库系统运行更加规,数据库结构更清晰,也使数据库系统具有高健壮性,高专业化.该标准是一个关于数据库系统的管理和维护规,我们的这个规主要应用在SQLServer2005/2008上,经过适当的修改之后也可以应用在以前的版本,以后的版本.SQLServer的数据库管理和维护是一个复杂的过程,包含了多种备份恢复技术,高可用技术,多服务器管理技术等,该文档不可能包含所有的基本容,而只能从最常用的管理维护技术入手进行简单介绍。
1.数据库服务器负载情况维护査看CPU, IO,内存使用情况•规则2.数据库运行状态维护•规则3.数据库备份情况维护•规则4.数据库对彖的维护•规则1、査询乞个磁盘分区的剩余空间:Exec master.dbo.xp_fixeddrives2、 査询数据库的数据文件及日志文件的相关信息(包括文件组、当前文件大小、文件 最大值、文件增长设置、文件逻辑名、文件路径等〉select * from [数据库家]・[dbo]・[sysfilcs]转换文件大小单位为MB :select name, convert(floai,size) * (8192.0/1024.0)/1024. from [数据库名],dbo.sysfiles3、 査询当前数据库的磁盘使用情况:Exec sp_spaceused4、査询数据商服务器各数据库日志文件的大小及利用率DBCC SQLPERF(LOGSPACE)5、统讣数据库中每张表的大小create table impname varchar(50).rowscount int, reserved varchar(50).data varchar(50).index_size varchar(50).unused varchar(50)insert tmp(namc ・ rowscount. reserved, data. index_size. unused)exec sp_MSforeachtable @commandl=”sp_spaceuse dselect * from tmp where name <> tmp' order by name drop table imp :或考sysobjecls AS a INNER JOINsysindexes AS b ON aJd = b.id(a.type = V) AND (bJndid IN (0, 1))ORDER BY b.rows DESC6、检査数据库完整性dbcc checkdb(Portal)SELECT a. name, b.rowsFROM WHEREdbcc checkdb(Portal) with tablock7、数据库重命名、修改恢复模式、修改用户模式-数据库重命需ALTER DATABASE WCMODIFY NAME = test-设置数据原为完整恢复模式alter database test set recovery full-只允许一个用户访问数据库alter database test set single_userwith rollback after 10 seconds ••指泄多少秒后回滚事务••只有sysadmin,dbcreatordb_owner 角色的成员可以访问数据库alter database wc set restricted user-多用户模式alter database wcset multi user-不等待立即改变,如不能立即完成,那么会导致执行错误8、扩展数据库:增加文件组、增加文件、修改文件大小、修改文件的逻辑名称••添加文件组ALTER DATABASE testADD FILEGROUPWC FG8with rollback immediate ••立即回滚事务with no wait-添加数据文件ALTER DATABASE testADD FILENAME = WC FG&FILENAME = "D:\WC_FG&ndf\SIZE = 1 mb.MAXSIZE = lOmb.FILEGROWTH = 1 mbTOHLEGROUPWC FG8••添加日志文件ALTER DATABASE testADD LOG FILENAME = WC-LOG3,FILENAME = D\WC FG3.LDF.SIZE= 1MB.MAXSIZE = 10MB.HLEGROWTH = 100KB-修改数据文件的大小,増长大小•最大大小ALTER DATABASE testMODIFY FILENAME = 'WC-FG8;SIZE = 2MB・-必须大于之前的大小,否则报错MAXSIZE= 8MB・HLEGROWTH = 10%-修改数据文件或日志文件的逻辑名称ALTER DATABASE testMODIFY FILENAME = WC-LOG3.NEWNAME = WC FG339、移动文件-由于在SQLServer中文件组、文件不能离线,所以必须把整个数据库设置为离线check poini goALTER DATABASE WCSETOFFLINE g°-修改文件名称ALTER DATABASE WCMODIFY FILENAME = WC_fg &FILENAME = D\WC\WC FG&NDF go••把原来的文件复制到新的位置:D:\WC\WC_FG&NDF-设置数据库在线ALTER DATABASE WCSETONLINE10、设置默认文件组、只读文件组-设置默认文件组ALTER DATABASE WCMODIFY HLEGROUP WC FG8 DEFAULT-设为只读文件组-如果文件已经是某个属性•不能再次设置柑同属性ALTER DATABASE WCMODIFY HLEGROUP WC FG8 READ WRITE11、收缩数据库、收缩文件-收缩数据原DBCC SHRINKDATABASE("tesl\10-要收缩的数据库名称或数拯库ID-收缩后,数据库文件中空间空间占用的百分比DBCC SHRINKDATABASE(乜ST,10.“要收缩的数据库名称或数据库ID••收缩后,数据库文件中空闲空间占用的百分比NOTRUNCATE-在收缩时,通过数据移动来腾出自由空间DBCC SHRINKDATABASE(-tesf, -要收缩的数据库名称或数据库ID“收缩后,数据库文件中空间空间占用的百分比10.TRUNCATEONLY 一在收缩时,只是耙文件尾部的空闲空间释放••收缩文件DBCC SHRINKFlLE(wc」g& -要收缩的数据文件逻辑坍称7 ••要收缩的目标大小,以MB为单位DBCC SHRINKFILE(wc_fg& 一要收缩的数据文件逻辑名称EMPTYRLE ••淸空文件,淸空文件后•才可以删除文件12、删除文件、删除文件组1・要删除文件,必须要先把文件上的数据删除,或者移动到其他文件或文件组上••删除数据后,必须要淸空文件的内容DBCC SHRINKFILE(WC_FG&EMPTYF1LE)-删除文件,同时也在文件系统底层删除了文件ALTER DATABASE testREMOVE HLE WC FG82•要删除文件组,必须先删除所有文件-最后删除文件组ALTER DATABASE testREMOVE HLEGROUP WC FG813、重新组织索引ALTER INDEX [idxjempjockjd] ON [dbo].[tempjock] REORGANIZEWITH ( LOB_COMPACTION = ON ) use test go select 'DBCC INDEXDEFRAGC+db_name()+7++7+i name + -.db_name().-o.nanie.••Lname.from sysindexes i inner join sysobjecls oon Lid = o.idwhere o.xiypc = Uand Undid >0and charindexCW^_Sys\) = 014、重新生成索引ALTER INDEX [idxjcmpJockJd] ON [dbo].[tempJock]REBUILD PARTITION = ALLWITH ( PAD JNDEX =OFESTATISTICS NORECOMPUTE =OFEALLOW ROW LOCKS = ON,ALLOW PAGE LOCKS = ON.ONLINE = OFF.SORTJN_TEMPDB = OFF)15、更新统计信息-更新表中某个的统计倍息update statistics tempJock(_WA_Sys_0000000 l_07020F21) update statistics tempJock(_WA_Sys_0000000 l_07020F21) with sample 50 percent update statistics tempJock(_WA_Sys_0000000 l_07020F21)with resample. ••使用最近的采样速率更新每个统讣信息norecompute -査询优化器将完成此统计信息更新并禁用将来的更新-更新索引的统计信息up date statistics tempjock(idx_tempjockjd) with fullscan-更新表的所有统计信息update statistics txtwith all16、执行SQLServer代理作业exec msdb・dbo・sp_siart」ob@job_name =N]ob_update_sql';欢迎下载11。
SQL Server“数据库维护计划”“数据库维护计划”功能在SQL Server 2000的“企业管理器”中可以找到。
说明:1.以下操作是在服务器的Windows 2000 Server上进行操作的。
2.由于SQL Server 2000执行备份时将产生许多文件(特别是在进行事务日志备份时),所以建议按数据库名称分别建立独立的备份目录进行存储。
3.以下所有操作过程当中一般不会对数据库的使用产生影响。
第一步:打开SQL Server“企业管理器”窗体用鼠标单击任务栏上的“开始”按钮中的“程序(P)”菜单下的“Microsoft SQL Server”子菜单中的“企业管理器”菜单项,即可打开SQL Server 2000的“企业管理器”窗体。
第二步:找到“数据库维护计划”功能在“企业管理器”窗体中左侧的树型选项卡中,用鼠标单击“+”图标扩展开“控制台根目录”下的“Microsoft SQL Servers”,可以看到其下有一个“SQL Server组”;接着继续扩展开“S QL Server组”,此时可以看到其下出现了服务器的名称(图1中的“JXNC-SERVER”就是我的服务器的名称);再继续扩展开此服务器,可以看到其下列出了诸如“数据库”、“数据转换服务”等项目;最后单击“管理”项目,可以看到其下存在一个“数据库维护计划”(如图1)。
图1单击“数据库维护计划”项目,在“企业管理器”窗口右侧将会显示出已经存在的维护计划项目。
每个维护计划均包括以下项目:1.名称:就是维护计划的名称。
此名称可以自定义,中英文皆可。
2.数据库:就是维护计划所进行维护的数据库的名称。
因为一个维护计划允许同时维护多个数据库,所以此处可以显示出多个数据库的名称(在图1中可以看到名为“系统数据库备份”的数据库维护计划中的“数据库”;就包括三个数据库:master、model和msdb)。
3.服务器:也就是维护计划所维护的数据库所处的服务器的名称。
SQL Server 2005数据库维护计划计算机系统各种软、硬件故障、用户误操作以及恶意破坏是不可避免的,这些影响到数据的正确性甚至造成数据损失、服务器崩溃等致命后果。
数据库的备份对保证系统的可靠性具有重要的作用。
下面会根据执行强度对维护任务及其相应的程序进行分类描述,执行强度用不同的时间间隔定义,包括每天、每周、每月和每季度,能够建立起良好的维护实务,确保SQL Server 数据库性能和安全。
一、每天的例行维护任务需要数据库管理员密切关注的维护任务,最好每天都检查一下,这样可以确保系统的可靠性、可用性、运行性能和安全。
每天的例行维护任务包括:1、检查是不是所有被请求的SQL Server服务都正常运行。
2、检查日常备份日志中成功、警告或者失败记录。
3、检查Windows事件日志有没有错误记录。
4、检查SQL Server日志有没有安全警告记录,例如非法登录。
5、执行完全备份或差异备份。
6、在设置了完全恢复模型或大容量日恢复模型的数据库上执行事务日志备份任务。
7、核实SQL Server作业没有失败。
8、检查所有的数据库文件和事务日志具有合适的磁盘空间大小。
9、至少要监控处理器、内存或者磁盘计数器没有出现瓶颈。
二、每周的例行维护任务关注程度稍逊于每天的例行维护任务,最好每周进行一次例行检查。
每周的例行维护任务包括:1、执行完全备份或差异备份。
2、检查以前执行的维护计划报告。
3、检查数据库完整性。
4、如果需要,执行收缩数据库任务。
5、通过重新组织索引任务压缩聚集和非聚集表和视图。
6、通过重新生成索引任务在数据页和索引页重新组织数据。
7、更新所有用户表和系统表的统计信息8、清除备份、还原、SQL Server代理作业和维护计划等操作的历史数据。
9、如果需要,手动增长数据库或事务日志文件10、清除执行维护计划残留下来的文件。
三、每月或每季度的维护任务有一些维护计划不需要执行得过于频繁,可以每个月或每个季度执行一次。
SQL Server 数据库管理维护规范北京云星宇科技服务有限公司2018年12月第一章目录第二章简介................................ 二-4第二章数据库系统物理与逻辑规划............. 二-42.1数据库系统存储规划......................... 二-42.2数据库系统的CPU和内存规划.................. 二-52.3数据库系统逻辑规划......................... 二-6第三章数据库账户管理....................... 二-73.1 数据库账户规则............................ 二-7第四章数据库的备份与恢复................... 二-74.1数据库的备份............................... 二-7第五章数据库的定期巡检和维护.............. 二-175.1数据库的定期巡检.......................... 二-171 内存压力监控 ................................................................................................ 二-172 CPU压力监控 .................................................................................................. 二-213对数据库IO监控 .............................................................................................. 二-22第6章数据库维护........................... 二-236.1 数据库完整性检查(重要每月)............. 二-236.2 清空数据库日志(重要每月)............... 二-246.3 重组数据库表(重要季度)................. 二-246.4 更新数据库统计信息(重要每月) ........... 二-26第七章数据库故障及标准处置方案............ 二-277.1数据库系统标准化启动与关闭流程............ 二-277.2 人为操作失误造成的数据库故障............ 二-287.3 数据库服务器故障(但磁盘阵列正常) ....... 二-297.4 磁盘阵列故障(数据块故障)............... 二-307.5 磁盘阵列故障(数据库无法访问) ........... 二-327.6 磁盘阵列故障(无法识别) ................... 二-32第八章规范的补充与修改................... 二-34第二章简介数据库管理和维护是指为了保证业务系统的稳定高效运行,而对数据库系统进行全面周密的检查,维护优化。
数据库日常维护(参考)数据库日常维护工作是系统管理员的重要职责。
其内容主要包括以下几个部分:一、备份系统数据SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。
SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。
因此定期备份事务日志和数据库是一项十分重要的日常维护工作。
1、备份数据库每一个数据库都应在创建之后卸出,从而提供一个装入基点。
在此之后按排定的时间周期表卸出。
比如每周五卸出数据库。
对一般数据库系统卸出数据库周期建议为每周一次。
除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。
例如:·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出);·每次用 sp_dboption 允许 select into/bulkcopy 做快速拷贝,或用 SELECT INTO 命令创建一个永久性的表,或使用了 WRITETEXT 命令。
卸出数据库的命令为:DUMP DATABASE database_nameTO dump_devicedatabase_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。
用系统过程sp_helpdevice 可以获得设备的信息。
下面一条命令用来卸出数据库 my_db :DUMP DATABASE my_dbTO db_bk_dev2、备份事务日志如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。
master 数据库和小于 4M 的用户数据库就是这种情况。
一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 DUMP TRAN 命令单独备份日志。
SQLServer2023数据库实践教程—管理与维护篇SQL Server是一种关系型数据库管理系统,被广泛用于企业级的数据管理和应用开发。
为了保证数据库的高效和可靠运行,数据库的管理和维护是至关重要的。
本篇教程将介绍SQL Server 2023数据库管理与维护的一些实践方法。
一、日常运维1. 定期备份和恢复数据库定期备份数据库是保证数据库安全的重要措施。
使用SQL Server自带的备份和还原工具,可以定期创建数据库备份,并将其存储在安全的位置。
在灾难恢复时,可以使用数据库备份文件进行还原操作。
2. 监控数据库性能使用SQL Server的性能监视工具,例如SQL Server Profiler和Performance Monitor,可以实时监控数据库的性能指标,包括CPU利用率、内存利用率、磁盘IO等。
通过监控这些指标,可以及时发现数据库性能的瓶颈,并采取相应的优化措施。
3. 管理数据库连接和事务管理数据库连接和事务是确保数据库正常运行的关键。
及时关闭不必要的数据库连接,避免因连接数过多导致数据库性能下降。
同时,使用事务来确保数据库操作的完整性和一致性。
在事务中,如果出现错误或异常,可以回滚事务,撤销之前的操作。
二、性能优化1. 索引优化数据库索引是提高查询性能的重要手段。
使用适当的索引,可以减少数据库的扫描次数,提高查询的速度。
需要选择合适的索引类型和字段,避免创建过多或不需要的索引。
同时,定期重新生成索引,可以保持索引的有效性。
2. 查询优化通过优化查询语句,可以提高数据库查询的效率。
首先,需要使用合适的查询语句,避免全表扫描和多表连接查询。
其次,需要使用适当的查询条件,减少需要检索的数据量。
另外,可以使用查询提示和索引提示来指定查询的执行计划。
3. 内存管理合理分配和管理数据库的内存是提高数据库性能的关键。
可以通过设置最大内存和最小内存限制,调整SQL Server使用的内存大小。