请教各位:
在sql server 2000的查询分析器中用 reate database cluna 建立了一个数据库
然后用 exec sp_renamedb 'cluna','company' 改名数据库
之后,在\Microsoft SQL Server\MSSQL\Data文件夹里面仍然是这两个文件:
cluna.mdf 和 cluna_log.LDF 文件!这时候我再用create database cluna 建立数据库,就会报错:
服务器: 消息 5170,级别 16,状态 1,行 1
无法创建文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\cluna.mdf',因为该文件已存在。
服务器: 消息 1802,级别 16,状态 1,行 1
CREATE DATABASE 失败。未能创建所列出的某些文件名。请检查前面的错误信息。请问在用 exec sp_renamedb 'cluna','company' 改名数据库的时候,能不能增加个什么语句把
cluna.mdf 和 cluna_log.LDF 文件也改名?
怎么改 mdf 和 _log.LDF 的名字?

解决方案 »

  1.   

    sp_renamedb只是改数据库名你可以将新的cluna数据库文件放在新的文件夹。
      

  2.   

    /*
    改物理文件名的方法,用你的例子:
    */--1、先把company改回cluna
    exec sp_renamedb 'company','cluna'--2、完整备份cluna--3、还原为company--4、修改company的逻辑名 --> sysfiles.name
    --select * from company.dbo.sysfiles
    alter database company modify file (name=cluna_Data, newname=company_Data)
    alter database company modify file (name=cluna_Log, newname=company_Log)--5、现在cluna已经有了一个复本company,删除cluna就可以建新的cluna了。
      

  3.   


    BACKUP DATABASE Northwind 
       TO DISK = 'c:\Northwind.bak'RESTORE DATABASE TestDB 
       FROM DISK = 'c:\Northwind.bak'
       WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', -- new file
       MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
    GO
      

  4.   

    不过,要求不要删除的好
    因为在最开始 reate   database   cluna  新建立了一个数据库的时候
    里面又同时增加了一些表的情况下,就不想删除它。
      

  5.   

    detach your database
    rename cluna.mdf, cluna.ldf
    attach database again
      

  6.   

    我现在总是输入  exec sp_renamedb 'company','cluna' 
    总出现
    服务器: 消息 5030,级别 16,状态 2,行 1
    未能排它地锁定数据库以执行该操作。
    (还有啊,这个帖子每一个好心人给我的回答管理要求要给分还是自动给分之类的吗?是需要像baidu那样比较麻烦的的有什么期限规定之类的找最佳答案吗?)
      

  7.   

    exec sp_renamedb 'company','cluna'
    现在遇到服务器: 消息 15225,级别 11,状态 1,过程 sp_rename,行 273
    未能找到名为 'computer' 的项(在当前数据库 'company' 中,假定输入的 @itemtype 为 '(null)')。