MSSQL数据库逻辑文件名修改与查看
逻辑文件名是什么
你用的程序连接的时候使用的是数据库名,然后你在你的数据库右击属性的时候,左上角单击"文件",可以看到,数据库名和逻辑文件名是不一样的,你可以看自己的数据库的路径下的数据库文件
例,SQL查询与修改数据库逻辑文件名,移动数据库存储路径示例 .
代码如下 复制代码
----------------------------------------------------------------------------------
-- Author : htl258(Tony)
-- Date : 2010-06-26 21:51:30
-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 2)
-- Blog : http://www.111cn.net (转载保留此信息)
-- Subject: SQL查询与修改数据库逻辑文件名,移动数据库存储路径示例
----------------------------------------------------------------------------------
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 行受影响)
*/
更多详细内容请查看:http://www.111cn.net/database/mssqlserver/56801.htm
MSSQL数据库逻辑文件名修改与查看的更多相关文章
- SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名
--查询数据库逻辑文件名 USE 数据库名 SELECT FILE_NAME(1) --查询数据库逻辑文件名(日志) USE 数据库名 SELECT FILE_NAME(2) --附加数据库 sp_a ...
- sql查询与修改数据库逻辑文件名,移动数据库存储路径
USE mydb GO --1.查询当前数据库的逻辑文件名 ) ) AS 'File Name 2'; --或通过以下语句查询: --SELECT name FROM sys.database_fil ...
- mssql数据库添加,修改,删除字段
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smalli ...
- T-sql语句修改数据库逻辑名、数据库名、物理名(sql2000)
--更改MSSQL数据库物理文件名Sql语句的写法 --注意:要在活动监视器里面确保没有进程连接你要改名的数据库!!!!!!!!!!!!!!!!!!!! -- Sql语句如下 USE master - ...
- T-sql语句修改数据库逻辑名、数据库名、物理名
--更改MSSQL数据库物理文件名Sql语句的写法 --注意:要在活动监视器里面确保没有进程连接你要改名的数据库!!!!!!!!!!!!!!!!!!!! -- Sql语句如下 USE master - ...
- 修改sqlserver的数据库名、物理名称和逻辑文件名
作者:dym0080 来源:CSDN 原文:https://blog.csdn.net/dym0080/article/details/81017777 版权声明:本文为博主原创文章,转载请附上博文链 ...
- 文件 "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\ttt.mdf" 已压缩,但未驻留在只读数据库或文件组中。必须将此文件解压缩。 CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。 (.Net SqlClient Data Provider)
问题: 文件 "c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\ttt.mdf" 已压缩,但 ...
- Sql Server 逻辑文件 '' 不是数据库 '' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
当使用语句还原数据库时,报如下错误: 消息 3234,级别 16,状态 2,第 29 行逻辑文件 'LenborMealOrder_Base_2017' 不是数据库 'Members_01' 的一部分 ...
- 使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响?
使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响? 1.问题:各操作间或者性能上会不会有影响? 如果有该如何解决? 多用户操作的影响主要是回锁定记录,oracl ...
随机推荐
- Swift学习笔记十一
类与结构体 Swift中,并不要求把自定义类或结构的接口和实现写在不同的文件中.你在一个文件中定义类或结构体,那么这个类或结构体的外部接口就自动可以在其他代码中使用了. 类和结构有很多相似和区别,相同 ...
- GLSL实现HDR Rendering 【转】
http://blog.csdn.net/a3070173/archive/2008/11/29/3408573.aspx HDR - 全称High dynamic rang,是目前流行的3D特效技术 ...
- HTML目录
1. 表格标记 2. HTML常用标记 3. 博客园添加访问人数统计 4. 如何快速掌握CSS(各种CSS工具) 5. HTTP协议状态码详解(HTTP Status Code)(转)
- Spark SQL - DataFrame
1 Overview Spark SQL is a Spark module for structured data processing. It provides a programming abs ...
- jq实现搜索引擎的提示效果
(function ($) { $.fn.Search = function (options) { var defaults = { inputid: "search", div ...
- sqlserver 行转列 语文,数学,物理,化学
数据库查询行转列 1.原数据库值 stdname stdsubject result 张三 语文 张三 数学 张三 物理 李四 语文 李四 数学 李四 物理 李四 化学 李四 化学 2.要得到如下表 ...
- 适配iOS9遇到的一些问题_Scheme白名单_ Bitcode及解决办法
升级Xcode7 运行项目发现报错如下: 1.Scheme白名单问题 -canOpenURL: failed for URL: “weixin://app/wxdaae92a9cfe5d54c/” - ...
- Sum of divisors
Problem Description mmm is learning division, she's so proud of herself that she can figure out the ...
- python获取每颗cpu使用率
以下是关于python来获取服务器每颗CPU使用率的使用脚本. #!/usr/bin/env python # -*- coding: utf-8 -*- import re,time def _re ...
- 02.Java多线程并发库API使用
1. 传统线程技术回顾 继承线程与实现Runnable的差异?为什么那么多人都采取第二种方式? 因为第二种方式更符合面向对象的思维方式.创建一个线程,线程要运行代码,而运行的代码都封装到 ...