如果是SQL Server 2005可以直接右键重命名,但是SQL Server 2000中不能直接改,可以用sp_renamedb。
 
1.方法一(物理法):
       把Old数据库改为New数据库
打开“企业管理器”
找到 Old数据库--》右键--》所有任务--》分离数据库
然后到C:\Program Files\Microsoft SQL Server\MSSQL\Data下找到Old_Data.mdf和
Old_log.ldf
把Old_Data换成你想要的名字例如New.mdf、New.ldf
然后到企业管理器,找到 数据库 --》右键--》所有任务--》附加数据库--》在弹出的对话框里找到刚才你改名的文件New.mdf
这 时您可以看到“原数据库文件名”“当前文件位置”,在“当前文件位置”前会有大红X,然后手动修改“当前文件位置”的路径里的文件名,改为 New.MDF,New.LDF,大红X消失,“在附加为:”里边写上你想使用的数据库名New,"指定数据库所有者:"里写上这个数据库的所有者,这个 如果写错了,以后很难改的(至少一般人觉得很难改)。
OK搞定。
以前就写到上面这一点,好像客户也没说什么,感觉应该是可以的,不过今天发现这个问题:
虽 然现在的数据库文件名显示的是我们想要的“New”,但此时的逻辑文件名还没有修改,还是原来的那个“Old_Date”,打开企业管理器--》在这个数 据库上点右键属性--》数据文件 下的当前数据库的位置路径前的 文件名 还是原来那个,事物日志文件 下的 文件名也还是以前的文件名,也就是说还没有 彻底成功,所以我们还得按如下方法操作--》
工具--》SQL 查询分析器--》然后输入:
Alter DataBASE New
MODIFY FILE(NAME='Old_Data',NEWNAME='New_Data')
Alter DataBASE New
MODIFY FILE(NAME='Old_Log',NEWNAME='New_Log')
--》按F5运行便可。
OK,一般还要给用户设置空间大小,设一下就可以了。
 
 
2.方法二(存储过程法):
sp_renamedb  
  更改数据库的名称。  
   
  语法  
  sp_renamedb   [   @dbname   =   ]   'old_name'   ,  
          [   @newname   =   ]   'new_name'  
   
  参数  
  [@dbname   =]   'old_name'  
   
  是数据库的当前名称。old_name   为   sysname   类型,无默认值。  
   
  [@newname   =]   'new_name'  
   
  是数据库的新名称。new_name   必须遵循标识符规则。new_name   为   sysname   类型,无默认值。  
   
  返回代码值  
  0(成功)或非零数字(失败)  
   
  权限  
  只有   sysadmin   和   dbcreator   固定服务器角色的成员才能执行   sp_renamedb。  
   
  示例  
  下例将数据库   accounting   改名为   financial。  
   
  EXEC   sp_renamedb   'accounting',   'financial'


 
Trackback: [url]http://tb.blog.csdn.net/TrackBack.aspx?PostId=2055391[/url]
———————————————————————————————————————
 
显示数据库名:sp_helpdb