zoukankan      html  css  js  c++  java
  • 如何修改SQL Server 2000的数据库逻辑与物理名称

    在项目中使用SQL Server 2000创建了一个数据库,发现名称与另一个数据库太相似,于是决定更改名称,包括:

    1. 在企业管理器中看到的数据库名,也是实际应用程序中连接用的数据库名称;
    2. 在磁盘上看的物理名称。

    根据国内外找到的技术资料,给出完整的SQL脚本代码如下(原库名为abc、修改为abc2):

    use master  
    Go 

    --1) 创建数据库(原始数据库abc)
    create database abc on(name='abc', filename='d:/abc_data.mdf')  
    go 

    --2) 重命名数据库(新数据库名abc2)
    exec sp_renamedb abc, abc2
    go 

    --3) 修改数据库的逻辑名称
    alter database abc2 modify file(name='abc_data', newname='abc2_data')
    alter database abc2 modify file(name='abc_log',  newname='abc2_log')
    --go

    --4) 分离数据库
    exec sp_detach_db abc2
    go 

    --5) 重命名数据库物理文件

    exec xp_cmdshell 'rename  d:/abc_data.mdf abc2_data.mdf'  
    exec xp_cmdshell 'rename  d:/abc_log.ldf  abc2_log.ldf'  
    go 

    --6) 附加数据库
    exec sp_attach_db 'abc2', 'd:/abc2_data.mdf', 'd:/abc2_log.ldf'
    go

    上述代码中,需要注意如下几点: 

      1. 完整的6个步骤中,可以不用脚本的步骤为:第1)、4)步可以在企业管理器中实现,第5)步可以在Windows资源管理器中修改。
      2. 如果省略第3)步,整个脚本仍然可以运行,但在企业管理器中查看数据库的“属性”时(右键点击该库,弹出菜单中),其“数据文件”、“事物日志”名仍然为库创建时的原名称。
      3. 如果第6)部不使用存储过程,而是在企业管理器中直接“附加”(数据库的“任务”菜单中的“附加”功能),因“原文件名”与当前名不一致,不允许附加操作(“确定”按钮为灰色的)。
  • 相关阅读:
    Java数组
    Java单例设计模式
    Java 14 祭出代码简化大器,Lombok 要被干掉了?
    来,教你去掉了烦人的 !=null
    Java 最坑爹的 10 大功能点!
    高级 Java 必须突破的 10 个知识点!
    不用找了,基于 Redis 的分布式锁实战来了!
    Spring 常犯的十大错误,打死都不要犯!
    JVM 与 Linux 的内存关系详解
    Java 中的 T,E,K,V, 别傻傻分不清楚!
  • 原文地址:https://www.cnblogs.com/accumulater/p/6589188.html
Copyright © 2011-2022 走看看