SQL server数据库操作规范.doc
《SQL server数据库操作规范.doc》由会员分享,可在线阅读,更多相关《SQL server数据库操作规范.doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、海航集团IT运维手册SQL Server数据库操作规范操作规范(V0.1)版本记录版本号日期修改人描述0.12008-4-10林珊SQL Server数据库操作规范0.22008-4-24林珊SQL Server数据库操作规范文档名称约定如下:海航集团IT运维手册xx(服务名)xx(文档名) 文档简介本文档规范海南海航航空信息有限公司IT运维人员的数据库日常操作,提高IT系统和服务的质量,向业务人员和相关用户提供更优质的IT服务。SQL server数据库操作规范操作规范1(V0.1)1文档名称约定如下:2文档简介21.第一部分 SQL Server2000数据库51.1数据库和事务日志备份5
2、1.2数据库完整性检查121.2.1使用SQL Server2000企业管理中的数据库维护计划向导实施121.3数据库和事务日志恢复171.3.1数据库恢复(不恢复事务日志)171.3.1.1方法一:使用SQL Server2000企业管理恢复171.3.1.2方法二:使用SQL语句恢复数据库191.3.2数据库+事务日志恢复191.3.3方法一:使用SQL Server2000企业管理恢复。191.3.4方法二:使用SQL语句恢复数据库231.4数据库迁移241.4.1方法一:利用备份和恢复迁移数据库241.4.2方法二:使用分离和附加数据库文件迁移数据库241.5数据库对象和数据导入导出2
3、51.5.1通过工具DTS的设计器进行导入或导出251.6收缩数据库日志文件311.6.1方法一:通过SQL2000企业管理器收缩日志文件311.6.2方法二:使用以下SQL语句收缩数据库日志文件321.7数据库JOB迁移321.8迁移数据库帐号和密码331.8.1方法一:手工在目的数据库中新建数据库帐号和设置密码331.8.2方法二:使用脚本迁移(在 SQL Server2000 实例之间传输登录和密码)331.9重建数据库索引361.9.1方法一:使用数据库维护向导来执行索引重建,创建维护计划来完成。361.9.2方法二:选择性的重建索引382.第二部分 SQL Server2005数据库
4、402.1数据库迁移402.1.1方法一:利用备份和恢复迁移数据库402.1.2方法二:使用分离和附加数据库文件迁移数据库(与SQL Server2000有所不同)402.2数据导入导出412.3数据库对象的复制422.3.1方法一:使用“复制数据库”功能复制全部的数据库对象422.3.2方法二:“生成脚本”数据库对象(表、存储过程)脚本422.4迁移数据库帐号和密码432.4.1方法一:手工在目的数据库中新建数据库帐号和设置密码432.4.2方法二:使用脚本迁移(在 SQL Server2005 实例之间传输登录和密码)431. 第一部分 SQL Server2000数据库源服务器和目的服务
5、器SQL数据库的排序规则必须一致,否则可能会产生数据错误,请在安装SQL Server数据库时注意检查SQL数据库排序规则。1.1 数据库和事务日志备份方法:使用SQL Server2000企业管理中的数据库维护计划向导实施1、 打开SQL Server2000企业管理器,在“管理”“数据库维护计划”中点击“新建维护计划”2、 在欢迎页面点击“下一步”3、 选择要备份的数据库,点击“下一步”4、 在“更新数据优化信息页面”不要做任何选择,点击“下一步”5、 在“检查数据库完整性页面”不做选择,点击“下一步”6、 在“指定数据库备份计划”页面,选择如下图点击上图中的“更改”,在作业调度页面编辑调
6、度7、 指定数据库备份存放目录和数据库备份保留的时间(也可以选择“为每个数据库创建子目录”)8、 选择事务日志备份编辑事务日志作业调度9、 指定事务日志备份存放目录和事务日志备份保留的时间(也可以选择“为每个数据库创建子目录”)10、 记录维护计划报表、记录11、 点击“完成”后维护计划就创建完成了。12、 在数据库维护计划列表中可以查看、编辑该维护计划13、 在作业中可以查看该维护计划作业的执行情况注意:收缩数据库或执行其他截断事务日志操作后,必须马上做一次数据库全备,以免事务日志备份不连续而失效。1.2 数据库完整性检查1.2.1 使用SQL Server2000企业管理中的数据库维护计划
7、向导实施1、 打开SQL Server2000企业管理器,在“管理”“数据库维护计划”中点击“新建维护计划”2、 在欢迎页面点击“下一步”3、 选择要检查的数据库,点击“下一步”4、 在“更新数据优化信息页面”不要做任何选择,点击“下一步”5、 在“检查数据库完整性”和“尝试修复所有小问题”前打钩,点击“更改”编辑作业调度时间,编完成后点击“下一步”6、 在指定数据库和事务日志备份计划页面不做选择,如下图7、将报表写入文件8、将历史记录写入表中9、最后点击“完成”后维护计划就创建完成了。10、在数据库维护计划列表中可以查看、编辑该维护计划注意:数据库备份和完整性检查维护计划可以在同一个维护计划
8、中创建,不过为了更直观的看到数据库备份和完整性检查计划的执行成功与否,建议分开创建。1.3 数据库和事务日志恢复1.3.1 数据库恢复(不恢复事务日志)1.3.1.1 方法一:使用SQL Server2000企业管理恢复1、 右键点击要还原的数据库,点击“所有任务”中的“还原数据库”(如服务器实例中没有该数据库,需要新建一个同名数据库,)2、 在“常规”选项卡中选择要还原的数据库备份文件,以及“还原备份集”中的“数据库-完全”选项3、 在“选项”选项卡中,按图中红圈内容选择,数据库物理路径注意要选择正确4、 点击“确定”后即可开始还原数据库注意:如要还原的数据库正被使用,则无法还原成功,需要断
9、开所有数据库连接或重启数据库服务后,再重新执行数据库还原操作。1.3.1.2 方法二:使用SQL语句恢复数据库1、 恢复数据库(完全恢复)SQL语法:restore database 数据库名 from disk=数据库备份文件物理路径 with recovery例:恢复dbhnaoa3_2007数据库restore database dbhnaoa3_2007 from disk=e:/databackup/dbhnaoa3_2007/dbhnaoa3_2007.bak with recovery1.3.2 数据库+事务日志恢复1.3.3 方法一:使用SQL Server2000企业管理恢复
10、。1、 还原数据库完全备份:右键点击要还原的数据库,点击“所有任务”中的“还原数据库”(如服务器实例中没有该数据库,需要新建一个同名数据库,)2、 在“常规”选项卡中选择要还原的数据库备份文件,以及“还原备份集”中的“数据库-完全”选项3、在“选项”选项卡中,恢复完成状态选择“使数据库不再运行,但能还原其它事务日志”3、 还原事务日志:右键点击要还原的数据库,点击“所有任务”中的“还原数据库”4、 在“常规”选项卡中选择要还原的数据库日志文件,以及“还原备份集”中的“事务日志”选项5、 在“选项”选项卡中,选择恢复完成状态:(1) 如还原中间事务日志,请选择“使数据库不再运行,但能还原其它事务
11、日志”;(2) 如还原最后一个事务日志,请选择“使数据库可以继续运行,但无法还原其他事务日志”;1.3.4 方法二:使用SQL语句恢复数据库1、恢复数据库完全备份:restore database 数据库名 from disk=数据库备份文件物理路径 with norecovery 2、恢复中间事务日志:restore log 数据库名 from disk=数据库事务日志文件物理路径 with norecovery3、 恢复最后一个事务日志:restore log 数据库名 from disk=数据库事务日志文件物理路径 with recovery例:恢复dbhnaoa3_2007数据库+事务
12、日志,步骤如下:1、 restore database dbhnaoa3_2007 from disk=e:/databackup/dbhnaoa3_2007/dbhnaoa3_2007.bak with recovery ;2、 restore log dbhnaoa3_2007 from disk=e:/sql_日志备份/dbhnaoa3_2007/DBHNAOA3_2007_tlog_2120.TRN with norecovery ;3、restore log dbhnaoa3_2007 from disk=e:/sql_日志备份/dbhnaoa3_2007/DBHNAOA3_2007
13、_tlog_2120.TRN with recovery ;a)1.4 数据库迁移1.4.1 方法一:利用备份和恢复迁移数据库 先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上,进行数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了。这种方法可以完全恢复数据库,包括外键,主键,索引。 1.4.2 方法二:使用分离和附加数据库文件迁移数据库停止sql server数据库服务或者分离某数据库后,拷贝该数据库文件(包括.mdf 和.ldf)到
14、目标数据库服务器后,再重新附加该数据库1.5 数据库对象和数据导入导出1.5.1 通过工具DTS的设计器进行导入或导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data.(或All tasks/Export Data.),进入向导模式,按提示一步一步走就行了,里面分得很细,可以灵活的在不同数据源之间复制数据,很方便的。而且可以另存成DT
15、S包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力。如果只是复制表和表数据,不复制表对象,选择“从源数据库复制表和视图”,接着选择要复制的表和视图。如果复制表、表对象和表数据,选择“在Sql server数据库之前复制对象和数据”如果想复制扩展属性,在“包括扩展属性”前打钩。如果不想复制所有对象,取消“复制所有对象”前的钩,点击“选择对象”在选择对象选择卡中选择要复制的对象接下来的步骤按提示继续往下就可以了。注意:使用DTS向导在SQL SERVER之间或两个数据库之间进行数据导入导出按默认值配置,则只导入导出表对象连同视图对象,象其他的比如默认值、存储过程等对象可能丢失,假如希
16、望任何的数据库对象都在导入导出之列,请在DTS向导过程中选择“在SQL SERVER数据库复制对象和数据”,接下来就能够选择各个对象进行导入导出了。在导的过程中容易出错,可能是由于对象创键的顺序造成的,假如出错建议分多次导,导的顺序能够为:自定义数据类型,表,视图,默认值,约束,自定义函数,存储过程等1.6 收缩数据库日志文件1.6.1 方法一:通过SQL2000企业管理器收缩日志文件一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Micros
17、oft SQL Server-SQL Server组-双击打开你的服务器-双击打开数据库目录-选择你的数据库名称(如论坛数据库Forum)-然后点击右键选择属性-选择选项-在故障还原的模式中选择“简单”,然后按确定保存2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点“确定”3、收缩数据库完成后,将数据库故障还原模式重新设置为“完全”,操作方法参考第一步。1.6.2 方法二:使用以下SQL语句收缩数据库日志文件BACKUP LOG 数据库文件名 WITH TRUNCATE_ONLY DBCC SHRINKFILE (该数据库日志文件名)例:BACKUP LO
18、G hnair_oa WITH TRUNCATE_ONLY DBCC SHRINKFILE (hnair_oa_log)注意:定期做数据库日志备份,或使用SQL语句截断事务日志BACKUP LOG 库名 WITH NO_LOG,可以截断事务日志,以便重复利用已有的事务日志空间。1.7 数据库JOB迁移备份源数据库服务器上的msdb数据库,将msdb备份拷贝到目标服务器,在目标服务器上恢复msdb数据库后, 将msdb库sysjobs表的originating_server列的机器名改为目标服务器机器名,这样JOB就迁移成功了。1.8 迁移数据库帐号和密码1.8.1 方法一:手工在目的数据库中新
19、建数据库帐号和设置密码1.8.2 方法二:使用脚本迁移(在 SQL Server2000 实例之间传输登录和密码)此方法用于将源数据库服务器的登录和密码传输到目的服务器,而不必手工在目的服务器上建立登录和授予帐号权限,非常方便;在不知道数据库帐号密码的情况下此方法更加安全方便。注意:必须将源服务器上的数据库全部迁移到目的服务器后,才能开始传输数据库登录和密码,否则可能会造成数据库帐号权限的丢失。请执行以下操作:(1)在 Master 数据库中创建和运行存储过程在源 SQL Server服务器上运行以下脚本。此脚本在 master 数据库中创建名为 sp_hexadecimal 和 sp_hel
20、p_revlogin 的两个存储过程。请在完成存储过程的创建之后继续执行第 2 步。- Begin Script, Create sp_help_revlogin procedure -USE masterGOIF OBJECT_ID (sp_hexadecimal) IS NOT NULL DROP PROCEDURE sp_hexadecimalGOCREATE PROCEDURE sp_hexadecimal binvalue varbinary(256), hexvalue varchar(256) OUTPUTASDECLARE charvalue varchar(256)DECLA
21、RE i intDECLARE length intDECLARE hexstring char(16)SELECT charvalue = 0xSELECT i = 1SELECT length = DATALENGTH (binvalue)SELECT hexstring = ABCDEF WHILE (i = length) BEGIN DECLARE tempint int DECLARE firstint int DECLARE secondint int SELECT tempint = CONVERT(int, SUBSTRING(binvalue,i,1) SELECT fir
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL server数据库操作规范 server 数据库 操作 规范
限制150内