怎么修改mssql 数据库位置

怎么修改mssql 数据库位置,第1张

如果是修改数据库文件存储的目录,在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数据库怎么用查询来设置文件路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9782706.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存