
如果是修改数据库文件存储的目录,在SSMS中,点右键,属性,在属性界面上,选择“数据库设置”,有个“数据库默认位置”,可以设置这个地方。
如果要把应用程序的目录也改了,就需要重新安装了
use
master;
go
alter
database
master
modify
file
(name
=
master,filename='J:\data\mastermdf');
go
alter
database
master
modify
file
(name
=
mastlog,filename='J:\data\mastlogldf');
go
alter
database
tempdb
modify
file
(name
=
tempdev,filename='J:\data\tempdbmdf');
go
alter
database
tempdb
modify
file
(name
=
templog,filename='J:\data\templogldf');
go
alter
database
msdb
modify
file
(name
=
msdbData,filename='J:\data\MSDBDatamdf');
go
alter
database
msdb
modify
file
(name
=
MSDBlog,filename='J:\data\MSDBLogldf');
go
alter
database
model
modify
file
(name
=
modeldev,filename='J:\data\modelmdf');
go
alter
database
model
modify
file
(name
=
modellog,filename='J:\data\modellogldf');
go
msdb、model、tempdb都可以移到我定义的目录,数据库可以启动,起来以后到数据库属性-文件看到的路径就是修改后的路径。但是master的语句也执行成功了,执行结果如下:
文件
'master'
在系统目录中已修改。新路径将在数据库下次启动时使用。
文件
'mastlog'
在系统目录中已修改。新路径将在数据库下次启动时使用。
但是将master的2个文件移动到j:\data目录下,数据库启动失败,从日志看,还是找原来的启动路径。
最近遇到一个服务器的数据库文件增长很快,情况属于正常,磁盘空间很快就要满了,但是另一个分区还有大把的空间,所以寻思着怎么把数据库文件,放过去,代码如下:
DECLARE @DBNAME VARCHAR(255)
DECLARE @TargetPath VARCHAR(255)
DECLARE @CmdCommand VARCHAR(2000)
SET @DBNAME='TEST'
SET @TargetPath='D:\Program Files\Microsoft SQL Server\MSSQL10_50MSSQLSERVER\MSSQL\DATA'
--第一步:设置数据库脱机
SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET OFFLINE'
EXEC(@CmdCommand)
--第二步:物理拷贝数据库文件到新目录
DECLARE @FileName VARCHAR(255)
DECLARE @SourceFullName VARCHAR(255)
DECLARE FileCur CURSOR for SELECT name,physical_name from sysmaster_files where database_id=db_id(@DBNAME)
OPEN FileCur
FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName
WHILE @@FETCH_STATUS=0
BEGIN
SET @CmdCommand= 'copy "'+@SourceFullName+'" "'+@TargetPath+'"'
EXEC masterxp_cmdshell @CmdCommand
--修改数据库文件的路径指向新目录
SET @CmdCommand='ALTER DATABASE '+@DBNAME+' MODIFY FILE(FILENAME='''+@TargetPath+CASE WHEN RIGHT(@TargetPath,1)='\'THEN'' ELSE'\' END+
RIGHT(@SourceFullName, CHARINDEX('\', REVERSE(@SourceFullName))-1)+''',name='''+@FileName+''')'
EXEC(@CmdCommand)
FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName
END
CLOSE FileCur
DEALLOCATE FileCur
--第三步:设置数据库联机
SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET ONLINE'
EXEC(@CmdCommand)
也可以把这个做成一个过程,就不在这里修改了。
到数据库里企业管理里,找到那个数据库,右击-任务--分离。然后把到sql 安装目录下的数据文件夹中把那个数据文件剪出来(两个文件),然后粘贴到另一个磁盘里。再在企业管理器里右击数据库服务器,点附加数据库,通过浏览找到你刚才粘贴到盘里的数据库。保存即可。
以上说明,是根据印象写的。具体名称可能不准确。你可以对比看看。
如果在安装到功能选择的这个步骤的时候,如果选择更改共享功能目录的话,就会出现如下报错未指定 INSTANCESHAREDWOWDIR 命令行值。如果指定INSTANCESHAREDDIR 值,则必须指定该值
第一种,刚刚下载玩SQL SERVER 2008,还没有进行任何 *** 作(任何 *** 作的意思就是根本没打开过安装文件);
第二种,已经尝试过安装,并且按照向导进行了支持文件的安装。第一种,这种情况我没试,因为我自己不符合这种情况……不过看样子很简单,按键盘WIN+Rd出运行对话框,输入CMD运行,打开命令行对话框,进入到SQL SERVER 2008的安装根目录的路径,然后输入setupexe /INSTALLSHAREDDIR="D:\\Program Files\\Microsoft SQL Server\\" /INSTALLSHAREDWOWDIR="D:\\Program Files (x86)\\Microsoft SQL Server\\"
然后按照向导安装就可以,在以上命令行中,有两个路径,分别是64位部件的安装路径和32位部件的安装路径,根据个人实际情况进行更改。第二种,也简单,不过麻烦,根据向导正常安装就可以了,安装到功能选择的时候,不要更改路径,这样就不会报错,直接下一步,然后继续根据向导安装,直到“准备安装”这个步骤的时候,在对话框下面会有个一个配置文件的路径,在资源管理器中找到这个文件,复制出来,比如放到D盘根目录,新的配置文件路径就是D:\ConfigurationFileini,将复制出来的新配置文件用记事本打开编辑,将要更改路径的内容修改好保存,然后WIN+R运行CMD命令行,输入setupexe /action=Install /configurationfile=D:\ConfigurationFileini
然后重新根据安装向导进行安装就OK啦,以上命令行中最后的“D:\ConfigurationFileini”就是新配置文件的路径,这个需要根据个人实际情况进行更改。转载,仅供参考。
以上就是关于怎么修改mssql 数据库位置全部的内容,包括:怎么修改mssql 数据库位置、如何修改SQL 2008的数据文件目录、SQL数据库怎么用查询来设置文件路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)