博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql查询与修改数据库逻辑文件名,移动数据库存储路径
阅读量:5887 次
发布时间:2019-06-19

本文共 2144 字,大约阅读时间需要 7 分钟。

USE mydb GO --1.查询当前数据库的逻辑文件名 SELECT FILE_NAME(1) AS 'File Name 1', FILE_NAME(2) AS 'File Name 2'; --或通过以下语句查询: --SELECT name FROM sys.database_files /* File Name 1         File Name 2 ------------------- -------------------- mydb                mydb_log   (1 行受影响) */ --2.修改数据文件或日志文件的逻辑名称 ALTER DATABASE [mydb] MODIFY FILE ( NAME = mydb, NEWNAME = new_mydb ) ALTER DATABASE [mydb] MODIFY FILE ( NAME = mydb_log, NEWNAME = new_mydb_log )   --查询更改后的名称: SELECT FILE_NAME(1) AS 'File Name 1', FILE_NAME(2) AS 'File Name 2'; /* File Name 1         File Name 2 ------------------- -------------------- new_mydb            new_mydb_log   (1 行受影响) */   --3.若要将数据文件或日志文件移至新位置,先OFFLINE把文件MOVE到相应的位置,然后再ONLINE --  详细参考以下步骤 --3.1 查询数据文件或日志文件当前存放路径: SELECT physical_name FROM sys.database_files /* physical_name ------------------------------------------------------------------------------------------- D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/mydb.mdf D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/mydb_log.ldf   (2 行受影响) */ --3.2 移动路径 USE [master] GO --3.2.1 关闭所有进程 DECLARE @str VARCHAR(500); SET @str = ''; SELECT @str = @str + 'KILL '+RTRIM(spid)+';'+CHAR(13)+CHAR(10) FROM master.dbo.sysprocesses WHERE dbid=DB_ID('mydb'); EXEC(@str); GO --3.2.2 设置数据库脱机 ALTER DATABASE [mydb] SET  OFFLINE GO --3.2.3 移动数据文件与日志文件(为确保数据安全,建议改move为copy,复制成功后再删除源文件) EXEC master..xp_cmdshell 'move "D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/mydb.mdf" "E:/DBTEST"',NO_OUTPUT EXEC master..xp_cmdshell 'move "D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/mydb_log.LDF" "E:/DBTEST"',NO_OUTPUT GO --3.2.4 设置新的存储路径 ALTER DATABASE [mydb] MODIFY FILE (NAME = new_mydb,FILENAME = 'E:/DBTEST/mydb.mdf') ALTER DATABASE [mydb] MODIFY FILE (NAME = new_mydb_log,FILENAME = 'E:/DBTEST/mydb_log.ldf') GO --3.2.5 设置数据库联机 ALTER DATABASE [mydb] SET ONLINE GO --3.2.6 查询新的路径 USE mydb GO SELECT physical_name FROM sys.database_files /* physical_name ------------------------------ E:/DBTEST/mydb.mdf E:/DBTEST/mydb_log.ldf   (2 行受影响) */

 

转载于:https://www.cnblogs.com/accumulater/p/6589775.html

你可能感兴趣的文章
php内置函数实例教程
查看>>
为了有利于保护安全性,Internet 已限制网页运行可以访问计算机的脚本……”...
查看>>
设计模式:外观模式(Façade Pattern)
查看>>
VC:画图
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Entity Framework Code First 的用途 和 原理 -摘自网络
查看>>
百度api基本功能与dragging事件的实现
查看>>
iphone开发必知点之--app本地化
查看>>
详细介绍ORACLE sqlplus命令(转)
查看>>
Eclipse SDK更新带来的问题及其总结
查看>>
树莓派使用usb无线适配器
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
C语言字节对齐
查看>>
浅谈Exchange Server邮件存储系统-原理篇(1)
查看>>
Android 使用HTML布局页面
查看>>
[置顶] Java字符编码解析
查看>>
一个最简单的Linux内核模块
查看>>
主域控制器的安装与配置步骤与方法
查看>>
调整Flash与div的位置关系
查看>>
javascript的dom选择器
查看>>