日期:2014-05-18  浏览次数:20409 次

问一个弱弱的问题:怎么修改数据库物理文件名?
问一个弱弱的问题:怎么修改数据库物理文件名?
在SQL SERVER 2000的查询分析器下,使用:

alter database testDB
modify file
(
name=OldTestDB_data,
newname=NewTestDB_data,
filename=NewTestDB_data.mdf,--试图使用该语句修改物理文件名,但不允许操作,报错
)

1、在不使用企业管理器进行分离附加的情况下,在查询分析器使用SQL语句完成操作;
2、在查询分析器下,是否可以不使用分离再附加的SQL语句完成直接修改物理文件名。

------解决方案--------------------
http://topic.csdn.net/u/20101014/10/a0a1411c-af42-47cc-a391-9b8db90daf60.html?81747问题6
------解决方案--------------------
更改SQLserver数据库的逻辑文件名及物理文件名
------解决方案--------------------
http://topic.csdn.net/u/20101014/10/a0a1411c-af42-47cc-a391-9b8db90daf60.html?81747问题6
------解决方案--------------------
引用小爱大侠的
SQL code

6.如何通过SQL脚本來,变更某一个数据库文件名(物理文件)? --修改数据库名称 sp_renamedb '老名字','新名字' --or alter database 老数据库名字 modify name=新数据库名字 --修改文件名称以及文件位置,大小等使用 alter database 语句 alter database 数据库名称modify file(name='旧文件名',newname='新文件名',filename='新路径') --写一个例子 use master go create database db go sp_renamedb 'db','new_db' go use new_db go --这时候文件名是 select name from sysfiles /* db db_log */ --只是数据库名字被修改了,如果想要修改.mdf和.ldf文件名则需要使用下面的语句 alter database new_db modify file(name='db',newname='new_db') alter database new_db modify file(name='db_log',newname='new_db_log') select name from sysfiles /* new_db new_db_log */

------解决方案--------------------
我记得在企业管理器中可改,用代码不知道能不能改?
------解决方案--------------------
SQL code

--3L大侠的........

6.如何通过SQL脚本來,变更某一个数据库文件名(物理文件)?
--修改数据库名称
sp_renamedb '老名字','新名字'
--or
alter database 老数据库名字 modify name=新数据库名字
--修改文件名称以及文件位置,大小等使用 alter database 语句
alter database 数据库名称modify file(name='旧文件名',newname='新文件名',filename='新路径')
--写一个例子
use master
go
create database db
go
sp_renamedb 'db','new_db'
go
use new_db
go
--这时候文件名是
select name from  sysfiles
/*
db
db_log
*/
--只是数据库名字被修改了,如果想要修改.mdf和.ldf文件名则需要使用下面的语句
alter database new_db modify file(name='db',newname='new_db')
alter database new_db modify file(name='db_log',newname='new_db_log')
select name from  sysfiles
/*
new_db
new_db_log
*/

------解决方案--------------------
探讨
谢谢楼上各位
SQL SERVER 2000中企业管理器下进行分离附加等方法肯定是能改的。想用代码完成。
其次,楼上们所说的都只是给了数据库中数据文件或日志文件中的name(逻辑文件名),这个在原来的代码上已经可以实现。
用select name from sysfiles 执行的只能看到数据库中的name(逻辑文件名),
但是sp_helpdb 下查看,就发现name(逻辑文件名)是更改……