SQL Server 2005 系统数据库--及其还原的方法
2011-08-08 14:50
351 查看
Master
Master数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂。由于如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管理好这个数据库。因此,对这个数据库进行常规备份是十分必要的。
这个数据库包括了诸如系统登录、配置设置、已连接的SERVER等信息,以及用于该实体的其他系统和用户数据库的一般信息。主数据库还存有扩展存储过程,它能够访问外部进程,从而让你能够与磁盘子系统和系统API调用等特性交互。这些过程一般都用像C++这样的现代编程语言。
如果不幸碰到系统崩溃而必须恢复主数据库的情况,你可以参看MCSE/MCDBA Steven Warren在TechRepublic上发表的文章。这篇文章讲得十分透彻,它解释了恢复这一重要数据库所需要的一些特殊步骤。
Model
Model是一个用来在实体上创建新用户数据库的模版数据库。你可以把任何存储过程、视图、用户等放在模型数据库里,这样在创建新数据库的时候,新数据库就会包含你放在模型数据库里的所有对象了。
Tempdb
正如其名字所提示的,tempdb存有临时对象,例如全局和本地临时表格和存储过程。
这个数据库在SQLSERVER每次重启的时候都会被重新创建,而其中包含的对象是依据模型数据库里定义的对象被创建的。除了这些对象,tempdb还存有其他对象,例如表格变量、来自表格值函数的结果集,以及临时表格变量。由于tempdb会保留SQLSERVER实体上所有数据库的这些对象类型,所以对数据库进行优化配置是非常重要的。
在SQL Server 2005里,tempdb数据库还有一项额外的任务;它还被用作一些特性的版本库,例如新的快照隔离层和在线索引操作等。关于新的隔离层的简要说明,请参考我关于SQL Server 2005高级特性的文章。
Distribution
当你的SQLSERVER实体被配置为复制分发SERVER时,这个数据库就会被添加到你的系统里。在默认情况下,数据库的名字就是distribution,但是你可以更改它的名字。这个数据库用来保存历史和快照、合并和事务复制等的元数据。
Msdb
Msdb数据库用来保存于数据库备份、SQL Agent信息、DTS程序包、SQLSERVER任务等信息,以及诸如日志转移这样的复制信息。
Resource 数据库:
只读数据库,包含了 SQL Server 2005 中的所有系统对象
---------------------------------------------------------------------------------------------
系统数据库搬家 1.master数据库搬家 (1)由于SQL Server每次启动的时候都需要读取master数据库,因此必须在企业管理器中改变SQL Server启动参数中master数据文件和日志文件的路径。 在 SQL Server属性的“常规”选项卡下面有一个叫做“启动参数”的按钮,单击后可以看到所示的界面。其中,-d用来指定master数据库文件的路径,而–l用来指定master数据库日志文件的路径。删除旧的master数据库文件和日志文件的路径,添加新的master数据文件和日志文件所在的路径,如: -dE:\ SQLDataNew \master.mdf -lE:\ SQLDataNew \mastlog.ldf (2)停止SQL Server服务,将master.mdf文件和mastlog.ldf文件拷贝到新的位置,如E:\ SQLDataNew文件夹中。 (3)重新启动服务即可。 小技巧:如果在“启动参数”添加的master数据库文件和日志文件的路径或文件名有误,就会造成SQL Server启动不起来。而此时想改正错误又因SQL Server启动不了而重设不了“启动参数”。其实这两个文件路径和文件名是放置在注册表HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Miccrosoft SQL Server\你安装SQL服务器的名\MSSQLServer\Parrmeters下的参数SQLArg1和SQLArg2中,修改这两个参数的值即可。 2.msdb数据库和model数据库搬家 (1)对于msdb数据库和model数据库,我们不能在企业管理器中实现分离和附加,只能用sp_detach_db和sp_attach_db存储过程来分离和附加这两个数据库。 其中,对于msdb数据库,还应确保SQL Server代理当前没有运行,否则sp_detach_db存储过程将运行失败,并返回如下消息: “无法除去数据库 'msdb' ,因为它当前正在使用。” (2)调出如图4所示的“启动参数”对话框,添加新参数-T3608。这样,启动SQL Server,它就不会恢复除master之外的任何数据库。 (3)重新启动SQL Server,再用下面命令分离msdb或者model数据库: EXEC sp_detach_db'msdb' GO (4)将数据文件和日志文件移到新的位置,然后再用下面命令重新附加msdb数据库或者model数据库: USE master GO EXEC sp_attach_db 'msdb', ‘E:\SQLDataNew\msdbdata.mdf',' E:\SQLDataNew\msdblog.ldf' GO (5)在企业管理器中,从“启动参数”框中删除-T3608跟踪标记,再停止并重新启动SQL Server。 3. tempdb数据库搬家 对于tempdb数据库,则可以直接使用ALTER DATABASE语句来为数据文件和日志文件指定新的存放位置,如下所示: USE master GOALTER DATABASE tempdb MODIF Y FILE (NAME=tempdev, FILENAME ='E:\SQLDataNew \tempdb.mdf') GO ALTER DATABASE tempdb MODIF Y FILE(NAME=templog, FILENAME= ' E:\SQLDataNew \templog.ldf') GO
相关文章推荐
- SQL Server 2005 还原数据库错误解决方法
- SQL SERVER 2005数据库还原的方法
- SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作……错误:3219……”的解决方法
- SQL Server 2005 还原数据库错误解决方法
- SQL Server 2005数据库备份还原错误及解决方法
- SQL SERVER 2005 使用命令备份数据库的方法(还原)
- SQL SERVER 2005 使用命令备份数据库的方法(还原)
- SQL Server 2005还原数据库时出现“备份集中的数据库备份与现有的数据库不同”解决方法 (转载)
- SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作……错误:3219……”的解决方法
- SQL server 2005数据库的另类还原方法
- sql server 2005数据库备份还原图文教程
- 用数据库备份文件来还原Sql Server 2005中的数据库
- sql Server 2008 R2还原或删除数据库时总是出错的解决方法
- sql server 2005数据库的备份及还原
- 如何将sql server 2000的数据库还原到sql server 2005里使用?
- 转:SQL Server 2005 Express附加数据库为“只读”的解决方法!
- SQL SERVER 2005 数据库状态为“可疑”的解决方法
- [原创]SQL Server 2005 附加数据库,“只读”的解决方法
- Sql Server 2008/2005 数据库还原出现 3154错误
- 两种方法安装SQL Server 2005中的 AdventureWorks 数据库