最近遇到一个服务器的数据库文件增长很快,情况属于正常,磁盘空间很快就要满了,但是另一个分区还有大把的空间,所以寻思着怎么把数据库文件,放过去,代码如下:
DECLARE @DBNAME VARCHAR(255)
DECLARE @TargetPath VARCHAR(255)
DECLARE @CmdCommand VARCHAR(2000)
SET @DBNAME='TEST'
SET @TargetPath='D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\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 sys.master_files where database_id=db_id(@DBNAME)
OPEN FileCur
FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName
WHILE @@FETCH_STATUS=0
BEGIN
SET @CmdCommand= ' "'+@SourceFullName+'" "'+@TargetPath+'"'
EXEC master..xp_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 server默认数据库路径
1、首先打开sql server管理工具,使用账号和密码进行登录,如图,版
⑶ sql server 2008已经创建的数据库可以更改路径吗
sql server 2008已经创建的数据库可以更改路径,更改方法为:
1、首先打开已安装的回数据库软件SQL Server Management Studio,弹答出一个连接到服务器对话框。
⑷ 如何更改SQL Server MDF,LDF文件的存储路径
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
⑸ 如何修改sqlserver默认创建数据库的路径
在ssms里面,点击数据库引擎,右击选属性properties,选择选项卡database
settings,在里面您就会看到专database
default路径,在它的右属侧,您可以选择您要改变的路径。希望能够帮到您
⑹ 如何更改SQL Server2008默认数据库的存储路径
1.安装SQl Server过程中,修改路径(因为我安装的时候,忘记改路径了,所以没截下图来,黄色部分是真正的标注):
2.打开SQL Server2008,在图形界面里修改数据库的存储路径:
右击“对象资源管理器”,然后单击“属性”,在单击“数据库设置”,修改下面的“数据库默认位置”中的“数据”,“日志”里面的存储位置为你想放的位置即可。
3.用SQL语句修改数据库的存储路径,将“E:\YourData”,“E:\YourLogs”改为你想放的位置即可(这个我没试过,也是看大神写的,就总结在这里了):
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData', REG_SZ, N'E:\YourData'
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', REG_SZ, N'E:\YourLogs'
GO
4.这个我也没试过,大家可以试一下。
Windows Server 2008 Standard Version 64-bit
SQL Server 2005 Standard Version 64-bit
查询用户库Data文件默认路径:
DECLARE @DefaultData VARCHAR(100)
EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer',
@value_name='DefaultData',
@DefaultData=@DefaultData OUTPUT
SELECT @DefaultData
查询用户库Log文件默认路径:
DECLARE @DefaultLog VARCHAR(100)
EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer',
@value_name='DefaultLog',
@DefaultLog=@DefaultLog OUTPUT
SELECT @DefaultLog
查询用户库备份文件默认路径:
DECLARE @BackupDirectory VARCHAR(100)
EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer',
@value_name='BackupDirectory',
@BackupDirectory=@BackupDirectory OUTPUT
SELECT @BackupDirectory
修改用户库Data文件默认路径:
EXEC master..xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer',
@value_name='DefaultData',
@type='REG_SZ',
@value='D:\SQL2005\Data'
修改用户库Log文件默认路径:
EXEC master..xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer',
@value_name='DefaultLog',
@type='REG_SZ',
@value='D:\SQL2005\Log'
修改用户库备份文件默认路径:
EXEC master..xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer',
@value_name='BackupDirectory',
@type='REG_SZ',
@value='D:\SQL2005\DBBak'
5.(这个也没试过,嘿嘿)
-- 更改数据文件存放目录
EXEC xp_instance_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\MSSQLServer\MSSQLServer',
@value_name='DefaultData',
@type=REG_SZ,
@value='E:\Data'
GO
-- 更改日志文件存放目录
EXEC master..xp_instance_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\MSSQLServer\MSSQLServer',
@value_name='DefaultLog',
@type=REG_SZ,
@value='E:\Data'
GO
⑺ 如何更改SQL Server2008默认数据库的存储路径
更改SQL Server数据库文件默认位置步骤:
在SQL Server数据库实例上单击鼠标右键,选择右键菜单项【属性】,在【服务器属性】窗口的【数据库设置】选项卡更改【数据库默认位置】,最后点击【确定】即可。