SQL Server修改数据库名称的常用方法

 更新时间:2025年10月16日 10:12:25   作者:Hehuyi_In  
本文详细介绍如何在SOLServer中更改数据库名称,包括通过图形界面、ALTER DATABASE命令及使用SP RENAMEDB系统存储过程的方法,并提供确保操作成功的前置步骤如杀死会话或设置单用户模式,需要的朋友可以参考下

一、 准备工作

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

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

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

如果有,执行KILL命令杀掉

KILL SPID

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

clip_image002[4]

命令行

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

二、 修改数据库名称

1. 图形界面修改

clip_image002

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';

到此这篇关于SQL Server修改数据库名称的常用方法的文章就介绍到这了,更多相关SQL Server修改数据库名称内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解SQL Server 中的 ACID 属性

    详解SQL Server 中的 ACID 属性

    SQL Server 中的事务是一组被视为一个单元的 SQL 语句,它们按照“做所有事或不做任何事”的原则执行,成功的事务必须通过 ACID 测试,这篇文章主要介绍了SQL Server 中的 ACID 属性,需要的朋友可以参考下
    2022-07-07
  • mysql与mssql的md5加密语句

    mysql与mssql的md5加密语句

    mysql与mssql的md5加密语句,需要的朋友可以参考一下
    2013-03-03
  • sql中的 where 、group by 和 having 用法解析

    sql中的 where 、group by 和 having 用法解析

    这篇文章主要介绍了sql中的 where 、group by 和 having 用法解析,需要的朋友可以参考下
    2017-04-04
  • SQL Server 2019自定义安装教程

    SQL Server 2019自定义安装教程

    这篇文章介绍了SQL Server 2019的安装教程,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 解析SQLServer获取Excel中所有Sheet的方法

    解析SQLServer获取Excel中所有Sheet的方法

    本篇文章是对SQLServer获取Excel中所有Sheet的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • SQLServer中排查死锁及死锁问题解决

    SQLServer中排查死锁及死锁问题解决

    在并发访问数据库的环境中,死锁是一个常见的问题,本文主要介绍了SQLServer中排查死锁及死锁问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • SQL Server STUFF函数的用法及应用场景

    SQL Server STUFF函数的用法及应用场景

    SQLServer中的STUFF函数用于删除指定位置的字符并插入新的字符,本文主要介绍了SQL Server STUFF函数的用法及应用场景,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • SQL Server高可用的常见问题分析

    SQL Server高可用的常见问题分析

    SQL Server高可用不就是微软的那几个技术吗,如Replication, Failover Clustering,本文将详细介绍,有需求的朋友可以参考下
    2012-11-11
  • sql语句中数据库别名命名和查询问题解析

    sql语句中数据库别名命名和查询问题解析

    本文分析了SQL查询中常见的两个错误,首先指出sql语句的执行顺序,其次解释了子查询中表别名导致的问题,内层查询应避免使用外层别名或统一使用,感兴趣的朋友一起看看吧
    2025-07-07
  • Mybatis4 之Mybatis动态sql的实现代码

    Mybatis4 之Mybatis动态sql的实现代码

    这篇文章主要介绍了Mybatis4 之Mybatis动态sql的实现代码,本文给大家提到了静态sql与动态sql有什么区别,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论