绿色SQL Server原理(2)数据库文件路径

来源:互联网 发布:iphone真假辨别软件 编辑:程序博客网 时间:2024/05/08 19:28

一般情况下,正常安装sql server之后,master等系统数据库的路径都是被设置为绝对路径,这样拷贝到别的路径或机器可能就不行了。

使用相对路径的好处是可以让你的绿色Sql server随时copy到任意目录或是任意其它机器上启动,并且原来的数据库全部可以使用。

 

首先,设置服务器属性允许对系统目录直接进行修改。数据库路径存储在master数据库的sysaltfilessysdatabases系统表中,使用相对路径就是修改这两个表中的涉及文件路径的数据。但是默认是不可以直接修改表中数据的。

 

第一种方法可以通过SQLServer企业管理器设置。

SQL Server属性->服务器设置->服务器行为。

允许对系统目录直接修改打勾。

 

第二种方法可以通过SQL语句执行来设置。

use master

go

sp_configure 'allow updates',1

go

reconfigure with override

go

 

然后修改数据库的路径为相对路径。

 

第一种方法,通过企业管理器打开sysaltfilessysdatabases,直接修改filename字段值

譬如针对master数据库。

打开mastersysaltfiles表,原来master库数据文件filename值为 C:/Program Files/Microsoft SQL Server/MSSQL/Data/master.mdf”,改为 ./../data/master.mdf” 原来日志文件filename值为 C:/Program Files/Microsoft SQL Server/MSSQL/Data/data/mastlog.ldf”,改为 ./../data/mastlog.ldf”

打开mastersysdatabases表,原来master库的filename值为 C:/Program Files/Microsoft SQL Server/MSSQL/Data/master.mdf”,改为 ./../data/master.mdf”

其它数据库同理修改为相对路径。

 

第二种方法,使用SQL语句。

譬如针对master数据库。

use master

Go

update sysaltfiles set [filename]=' ./../data/master.mdf ' where [name]='master’

update sysaltfiles set [filename]='./../data/mastlog.ldf ' where [name]='mastlog’

update sysdatabases set [filename]=' ./../data/master.mdf ' where [name]='master’

go

 

其它数据库同理写SQL语句修改为相对路径。

 
原创粉丝点击