作者:dym0080
来源:CSDN
原文:https://blog.csdn.net/dym0080/article/details/81017777
版权声明:本文为博主原创文章,转载请附上博文链接!

最近在一个项目上遇到需要修改数据库名称、物理文件名和逻辑名称。如下图所示,数据库ty_cms_lz的物理文件名是ty_cms_lz.mdf和ty_cms_lz_0.ldf,逻辑文件名是lhc_cms和lhc_cms_log。

这样看上去很别扭,而且数据库一多很容易混淆。一般新建一个数据库的话,逻辑名称和物理文件名是跟数据库名称对应起来的。如下图新建的ty_test数据库。

为了让这些名称对应起来,接下来我会按以下步骤进行操作:

修改数据库名称
ty_cms_lz => ty_cms_mc
修改逻辑名称
lhc_cms=> ty_cms_mc
lhc_cms_log =>ty_cms_mc_log
修改物理文件名
ty_cms_lz.mdf =>ty_cms_mc.mdf
ty_cms_lz_0.mdf =>ty_cms_mc_log_mdf
修改数据库名
这个最简单,只需要右击数据库ty_cms_lz选择重命名即可。修改成ty_cms_mc后,后面的步骤都是要对ty_cms_mc进行操作。

修改逻辑名称
脚本语句如下:

use ty_cms_mc
go

-- 查看当前数据库逻辑名称
select name from sys.database_files;

-- 修改数据库逻辑名称
-- mdf(旧逻辑名:lhc_cms 新逻辑名:ty_cms_mc)
alter database ty_cms_mc modify file(name=lhc_cms, newname=ty_cms_mc)
-- log(旧逻辑名:lhc_cms_log 新逻辑名:ty_cms_mc_log))
alter database ty_cms_mc modify file(name=lhc_cms_log, newname=ty_cms_mc_log)
1
2
3
4
5
6
7
8
9
10
11
修改完成后我们再查看数据库属性,就看到逻辑名称已经修改过来了,如下图:

修改物理文件名
物理文件一般是存在sqlserver默认安装的路径,如下图所示:

分三个步骤来进行操作:

分离数据库
因为数据库在占用状态是不可以修改物理文件名称的,所以先必须分离数据库。
use master
go
-- 分离数据库
exec sp_detach_db ty_cms_mc
1
2
3
4
手动修改物理文件名
找到物理文件名的路径,右击重命名进行修改。

如果没有分离数据库,则直接重命名会报以下错误:

附加数据库
exec sp_attach_db ty_cms_mc,N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ty_cms_mc.mdf',N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ty_cms_mc_log.ldf'
1
最后我们再查看数据库ty_cms_mc的属性,可以看到已经全部修改过来了。

---------------------
作者:dym0080
来源:CSDN
原文:https://blog.csdn.net/dym0080/article/details/81017777
版权声明:本文为博主原创文章,转载请附上博文链接!

修改sqlserver的数据库名、物理名称和逻辑文件名的更多相关文章

  1. [转] 修改sqlserver的数据库名、物理名称和逻辑文件名

    转载: https://blog.csdn.net/dym0080/article/details/81017777

  2. 修改 计算机名后,修改SQLserver 注册服务器对象的名称,及登陆名

    select @@ServerName --查看当前所有数据库服务器名称select * from Sys.SysServers --修改数据库服务器名称sp_dropserver 'old_serv ...

  3. sqlserver数据库的物理存储格式和逻辑存储格式

    物理存储结构: 数据库文件在磁盘上的存储形式: 主数据文件:*.mdf.用来存储数据库的启动信息.存储部分或全部的数据.整个的数据库只能有一个主数据文件 辅助数据文件:*.ndf.用于存储主数据文件未 ...

  4. 批量修改Sqlserver中数据库对象的所属架构

    执行以下SQL,将执行结果拷贝出来,批量执行既可. SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name FROM sys.Proce ...

  5. 修改sqlserver的数据库排序规则语句

    alter database SOETMS collate Chinese_PRC_CI_AS

  6. ORACLE数据库的备份分为物理备份和逻辑备份两种。

    物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带.可以使用 Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命令进行数据库的物 ...

  7. 修改sql数据库文件 物理文件名称

    -- 允许配置高级选项 EXEC sp_configure 'show advanced options', 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell ...

  8. 如何修改SQL Server 2000的数据库逻辑与物理名称

    在项目中使用SQL Server 2000创建了一个数据库,发现名称与另一个数据库太相似,于是决定更改名称,包括: 在企业管理器中看到的数据库名,也是实际应用程序中连接用的数据库名称: 在磁盘上看的物 ...

  9. T-sql语句修改数据库逻辑名、数据库名、物理名(sql2000)

    --更改MSSQL数据库物理文件名Sql语句的写法 --注意:要在活动监视器里面确保没有进程连接你要改名的数据库!!!!!!!!!!!!!!!!!!!! -- Sql语句如下 USE master - ...

随机推荐

  1. [转]Angular 4 *ngIf/Else

    本文转自:http://tylerscode.com/2017/03/angular-4-ngifelse/ As you may know it wasn’t that many months ag ...

  2. C# 性能优化 之 秒表 Stopwatch。

    生词解释:Diagnostics[,daɪəg'nɑstɪks] n.诊断学 using System.Diagnostics; Stopwatch sw = new Stopwatch (); sw ...

  3. Linux NFS存储服务部署

    什么是NFS 中文意思是网络文件系统,主要功能是通过网络(一般是局域网)让不同主机之间可以共享文件或目录 NFS属于本地文件存储服务 缺点1: 1 2 3 4 5 6 7 windows上无法使用   ...

  4. MVC 获取控制器名称和Action名称(转载)

    MVC在filter中如何获取控制器名称和Action名称   使用ActionExecutingContext对象可以获取控制器名称.Action名称.参数名称以及参数值.路由和Action返回值不 ...

  5. 【Core】创建简单的Core MVC项目

    创建项目: 首先:打开vs选中新建项目- >选中.NET Core - >ASP.NET Core Web应用程序: 然后:在选择web应用程序,注意上面要选中.net Core 别选错了 ...

  6. [android] 手机卫士关闭自动更新

    保存数据的四种方式,网络,广播提供者,SharedPreferences,数据库 获取SharedPreferences对象,通过getSharedPreferences()方法,参数:名称,模式 例 ...

  7. 以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组

    学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简 ...

  8. LSApplicationQueriesSchemes--关于info.plist 第三方登录 添加URL Schemes白名单

    近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 当你的应用在iOS 9 ...

  9. HDU6201

    transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/1 ...

  10. 如何判断页面是pc端还是移动端,进入不同的页面

    vue判断是pc端还是移动端分别进入不同的页面 判断移动端代码如下: function IsPC(){ var userAgentInfo = navigator.userAgent; var Age ...