日期:2014-05-17  浏览次数:20642 次

【SQL2005】一段代码,菜鸟求助
Alter DATABASE ZhiGongGuanLi
Modify FILE(NAME=TUSHU_data.mdf,NEWNAME=ZhiGongGuanLi.mdf)
Alter DATABASE ZhiGongGuanLi
MODIFY FILE(NAME=TUSHU_log.ldf,NEWNAME=ZhiGongGuanLi.LDF)
 有错误 不知道怎么解决啊 求帮助 谢谢啊

------解决方案--------------------
NEWNAME new_logical_file_name
指定文件的新逻辑名称。

new_logical_file_name 
用于替换现有逻辑文件名称的名称。该名称在数据库中必须唯一,并应符合标识符规则。该名称可以是字符或 Unicode 常量、常规标识符或分隔标识符。有关详细信息,请参阅使用标识符作为对象名称。


NEWNAME是修改逻辑文件名,你的目的好像是需要修改物理文件名

Alter DATABASE ZhiGongGuanLi
Modify FILE(NAME=TUSHU_data.mdf,FILENAME ='d:\data\ZhiGongGuanLi.mdf')

而且保证d:\data\ZhiGongGuanLi.mdf已经存在




------解决方案--------------------
ZhiGongGuanLi.LDF--加上路径
------解决方案--------------------
改物理文件名应该这样用

ALTER DATABASE ZhiGongGuanLi MODIFY FILE (NAME = 逻辑名, FILENAME = 'ZhiGongGuanLi.mdf');
------解决方案--------------------
SQL code
--如何通过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
*/