您的位置:首页 > 数据库

sql server 2005系统数据库移动

2011-10-28 21:12 267 查看
系统数据库的用途:
master:

这个数据库是全局数据库,它包含一些系统表,权限分配,用户帐号设置,当前数据库配置信息以及关于磁盘空间,文件分配等信息。所以在执行诸如用户帐号设置,权限分配和改变系统配置信息后都要备份此数据。所以在这里强烈建议,不仅要经常备份自己的数据库,还有备份此数据库,虽然不像备份自己数据库那样那么频繁。至少半个月或一个月备份一次此数据库。

model:

这个数据库只是一个模板数据库,我们在创建任意的一个数据库的时候,都是复制此数据库为新数据库的基础,如果希望每一个新的数据库都含有某些对象或者权限,可以把这个对象或权限放在此数据库中,新创建的新数据库都会继承此数据的新对象或权限,并且拥有这些对象或权限。

msdb:

SQL Server代理服务器会使用该数据库,它会执行一些列如备份和复制任务的计划好的活动。Service Borker也会用到该数据库,他为SQL Sever提供队列和可靠消息传递。当我们不在该数据库执行备份或维护任务时,通常可以忽略该数据库。在SQL Server2005之前,实际上是可以删除该数据库的,只后SQL Server仍然可用,但不能在维护任何备份历史了,并且不能够在定义任务,警告,工作或者建立复制,不过因为默认的msdb数据库非常小,建议即使用不到也不要删除它。

tempdb:

该数据库说白了,就是一个中转站或数据寄存站,用户显示创建的临时表,在查询处理和排序时内部所产生的中间结果的工作表,维护用的快照等,都会用到此数据库,与其他数据库所不同的是,在每次SQL Server实例重启之后,都会重建而不是恢复. 所以我们在其中创建的所有对象和权限在下次重启SQL Server时都会全部丢失。

但是我们也不能忽略此数据库,因为tempdb的大小和配置,对优化SQL Server的功能和性能来说很重要.tempdb数据库,还要多说几句,虽然在tempdb每次被重建时,它会从model数据库继承大多数的数据库选项,但是tempdb却不会从modeldb数据库中复制其恢复模式,因为它总是使用简单恢复模式。另外,tempdb是无法删除的,也不用备份。

系统数据库的移动
Mssql程序安装的时候装到了C盘,由于C盘空间不够大,故想把系统库转移到其他盘内。

查看一下SQL Server默认存储这些系统数据库的路径:
SELECT name,physical_name,state_desc FROM sys.master_files

移动tempdb,model,msdb数据库:
ALTER DATABASE tempdb MODIFY FILE(NAME='tempdev',FILENAME='D:\Data\tempdb.mdf')
ALTER DATABASE tempdb MODIFY FILE(NAME = 'templog',FILENAME='D:\Data\templog.ldf')

ALTER DATABASE model MODIFY FILE(NAME='modeldev',FILENAME='D:\Data\model.mdf')
ALTER DATABASE model MODIFY FILE(NAME='modellog',FILENAME='D:\Data\modellog.ldf')

ALTER DATABASE msdb MODIFY
FILE(NAME='MSDBData',FILENAME='D:\Data\msdbdata.mdf')
ALTER DATABASE msdb MODIFY FILE(NAME='MSDBLog',FILENAME='D:\Data\msdb_log.ldf')

该操作完成后需关闭mssql主服务,然后去默认存储这些系统数据库文件的路径里找到
这三个系统库的数据文件,copy至自定义的路径内(我的是D:\Data)。然后开启服务后,
一切正常证明这三个系统库成功移至到自定义的盘内。

移动master数据库:

移动master数据库的位置和其他的系统数据库不同是,只能用SQL Server 配置管理器来更改master的位置。 首先打开SQL Server配置管理器,右击目标SQL Server实例,选择属性,然后点击高级标签,如图所示:
更改启动参数一项,
-dD:\DATA\master.mdf;
-eC:\ProgramFiles(x86)\MicrosoftSQLServer\MSSQL.1\MSSQL\LOG\ERRORLOG;-lD:\DATA\mastlog.ldf
mdf和ldf改掉就可以了,error信息就扔到C盘吧。
更改完毕后,关闭mssql的主服务,然后去默认存储这些系统数据库文件的路径里找到
master系统库的数据文件,copy至自定义的路径内(我的是D:\Data)。
此时还有 一个只读数据库,包含 SQL Server 包括的系统对象。系统对象在物理上保留在 Resource 数据库中,但在逻辑上显示在每个数据库的
sys 架构中。
数据文件Mssqlsystemresource.mdf

日志文件Mssqlsystemresource.ldf

也随master一块copy至自定义的文件夹中。
然后开启服务后,
一切正常证明master系统库成功移至到自定义的盘内。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: