一、 准备工作

改名时如果有其他用户会话连接该数据库会报错,必须先杀掉那些用户会话或使数据库处于单用户模式下再执行。

查询当前有哪些会话连接到这个数据库

SELECT SPID FROM master.dbo.sysprocesses WHERE dbid=DB_ID('Test1');

如果有,执行KILL命令杀掉

KILL SPID

也可以将数据库设置为单用户模式。在数据库属性 -> “连接”页面 找到“限制访问”选项,选择SIGLE_USER。

命令行

use master
-- 设置单用户
exec sp_dboption  @dbname='OldDbName', @optname= 'Single User',@optvalue= 'TRUE'
-- 恢复多用户
exec sp_dboption  @dbname='NewDbName', @optname= 'Single User', @optvalue='FALSE'
GO

二、 修改数据库名称

1. 图形界面修改

2. ALTER DATABASE

USE master;
GO
ALTER DATABASE Test1 MODIFY NAME = Test;
GO

或者设置为单用户模式再改

ALTER DATABASE db名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE 旧db名 MODIFY NAME = 新db名;
ALTER DATABASE db名 SET MULTI_USER;

3. SP_RENAMEDB系统存储过程

注意:SQL Server 2008后续版本将删除该功能。

语法: sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'

例子: 将数据库Test_1的名称修改为Test

use master
go
exec sp_renamedb @dbname='Test_1', @newname='Test';
go

直接利用脚本修改

use master
exec sp_dboption  @dbname='OldDbName', @optname= 'Single User',@optvalue= 'TRUE'
exec sp_renamedb  @dbname='OldDbName', @newname= 'NewDbName'
exec sp_dboption  @dbname='NewDbName', @optname= 'Single User', @optvalue='FALSE'
GO

检查修改成功

SELECT name, database_id FROM sys.databases WHERE name = N'DbName';

参考

https://www.cnblogs.com/kerrycode/archive/2013/04/25/3043764.html

SQL Server 修改数据库名称相关推荐

  1. SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)

    刚开始学习SQL SERVER 2005,弄了一个上午修改数据库名,主要是需要修改db.mdf 和db_log.ldf的名字,总算解决了.在这里记下,以后再要修改了就别忘了. 假设原来数据库名为db, ...

  2. sql server修改数据库名称

    USE masterGO----------------修改数据库名称-----------------ALTER DATABASE HROA_i SET SINGLE_USER WITH ROLLB ...

  3. 修改Sql Server 2000数据库名称

    原来的数据库取名叫order,后来测试CRUD的时候,发现一直报错.经过一番查找,发现原因是:使用了Sql Server 2000 的关键字做为数据库名字了.因此CRUD的时候报错就是:order 附 ...

  4. 在SQL中修改数据库名称

    假设SQL Server 2008中有个数据库test,现在要将其改名为zhy 步骤: (1) 分离数据库:打开management studio,找到test数据库-->右键-->任务- ...

  5. SQL脚本修改数据库名称

    USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM ma ...

  6. SQL Server 修改数据库名、修改逻辑文件名、修改数据库物理文件名

    现有数据库为"Test",想要修改"NewTest",并且也修改逻辑文件名称和数据库物理名称. 说明: 1)禁止在生产环境,并且正在使用的数据库进行名称修改. ...

  7. sql server修改索引名称_索引基本知识和索引优化

    " 索引基本知识*哈希索引*组合索引*聚簇索引与非聚簇索引*覆盖索引*索引优化*索引监控*优化案例" 索引这个东西,个人的感觉是:平时大家都不怎么重视他,感觉哪个查询慢了就对那个列 ...

  8. sql server修改索引名称_【索引潜规则】覆盖索引、ICP、MRR详解

    点击上方蓝色字体,关注我们 上篇文章我们说了创建索引的方法,有聚簇索引.辅助索引.前缀索引.联合索引等,也说了如何利用索引的排序功能,接着本篇文章主要来说一说索引的几种优化策略,首先我们先说下回表的概 ...

  9. sql server修改数据库排序规则

    ALTER DATABASE db COLLATE Chinese_PRC_CS_AS

最新文章

  1. 如何去掉latex中默认显示的日期
  2. 纸牌游戏10点半c语言,python10点半纸牌游戏_【Python】Python编的纸牌游戏
  3. Hibernate Tools 学习总结
  4. idea快捷键清楚不相关的引用包
  5. linux hive mysql_Linux下的Hive与Mysql安装
  6. 对‘avformat_find_stream_info’未定义的引用、to the PKG_CONFIG_PATH environment variable
  7. Django 清空数据库的所有表
  8. matlab画直方图
  9. 百度网盘断点续传下载工具IDM
  10. C# 在Word文档中生成条形码
  11. 《深入理解计算机网络》迷你书
  12. 大学计算机课算绩点吗,大学体育成绩算入绩点吗?
  13. 小米一代扫地机器人磨损家具_为了以后的众测 篇二:无差评居家神器——Mi 小米 扫地机器人...
  14. 啪嗒砰2 刷材料 附如何刷高级素材+BOSS弱点
  15. 【Redis】用windows客户端连接服务器上的Redis
  16. Java毕设项目保险公司风险测评管理系统计算机(附源码+系统+数据库+LW)
  17. locust之简介(1)
  18. 会计用计算机很快是,中级会计考试用的计算器是什么样的?
  19. Linux 命令大全(看这一篇就足够)
  20. USB设备驱动之驱动

热门文章

  1. 回归预测 | MATLAB实现PSO-GRNN多输入单输出回归预测
  2. atmega32u4 Linux,arduino整合wifi功能系列arduinoyun介绍(1)
  3. gbdt+LR做推荐
  4. 运用scrapy爬取智联网
  5. 解决启动浏览器显示hao123, 2345等网站首页的问题
  6. 帕金森的药物有哪些?
  7. C语言循环结构和分支
  8. pandas创始人手把手教你利用Python进行数据分析!
  9. SQL清空表(高效)
  10. 最详细的阿里云服务器Centos 安装jdk,tomcat,mysql,redis之jdk安装与卸载