扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
数据库为原名称为DB_BEIJING,需要修改成DB_SHANGHAI
创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为六安企业提供专业的做网站、成都网站设计,六安网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
nzperfect 2012.12.19*/
--判断是否存在同名的数据库,以防止误删除USE masterGOIF EXISTS (SELECT name FROM sys.databases WHERE name = N'DB_BEIJING')BEGINRAISERROR('请注意:数据库已存在!',15,1)RETURN--DROP DATABASE DB_BEIJINGENDGOUSE masterGO--创建测试数库
CREATE DATABASE [DB_BEIJING]ON PRIMARY(NAME = N'DB_BEIJING',
FILENAME = N'X:\DATA\DB_BEIJING.mdf' ,
SIZE = 3072KB ,
FILEGROWTH = 1024KB)LOG ON(NAME = N'DB_BEIJING_log',
FILENAME = N'W:\Log\DB_BEIJING_log.ldf' ,
SIZE = 1024KB ,
FILEGROWTH = 1024KB)GO
--以下为修改过程
--step 1 : 修改数据库名称USE masterGOALTER DATABASE DB_BEIJING SET SINGLE_USER WITH ROLLBACK IMMEDIATEGOEXEC master..sp_renamedb 'DB_BEIJING','DB_SHANGHAI'GOALTER DATABASE DB_SHANGHAI SET MULTI_USERGO
--step 2 : 查看修改名称后的数据库逻辑名及物理文件名USE masterGOSELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DB_SHANGHAI')GO/*Logical Name DB File Path File Type State
DB_BEIJING X:\DATA\DB_BEIJING.mdf ROWS ONLINE
DB_BEIJING_log W:\Log\DB_BEIJING_log.ldf LOG ONLINE*/
--step 3 : 修改数据库逻辑文件名称USE masterGOALTER DATABASE DB_SHANGHAI SET SINGLE_USER WITH ROLLBACK IMMEDIATEGOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING', NEWNAME=N'DB_SHANGHAI')GOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME=N'DB_BEIJING_log', NEWNAME=N'DB_SHANGHAI_log')GOALTER DATABASE DB_SHANGHAI SET MULTI_USERGO
--step 4 : 修改数据库物理文件名称之前先打开xp_cmdshell支持USE masterGOsp_configure 'show advanced options',1GORECONFIGURE WITH OVERRIDEGOsp_configure 'xp_cmdshell', 1GORECONFIGURE WITH OVERRIDEGO
--step 5 : 重命名数据库物理文件名称
USE [master]GOALTER DATABASE DB_SHANGHAI SET OFFLINE WITH ROLLBACK IMMEDIATEGOEXEC xp_cmdshell 'RENAME X:\DATA\DB_BEIJING.mdf, DB_SHANGHAI.mdf'GOEXEC xp_cmdshell 'RENAME W:\Log\DB_BEIJING_log.ldf, DB_SHANGHAI_log.ldf'GO
--step 6 : 将数据库逻辑名称指向新的物理文件,并将数据库online
USE [master]GOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI, FILENAME = 'X:\DATA\DB_SHANGHAI.mdf')GOALTER DATABASE DB_SHANGHAI MODIFY FILE (NAME =DB_SHANGHAI_log, FILENAME = 'W:\LOG\DB_SHANGHAI_log.ldf')GOALTER DATABASE DB_SHANGHAI SET ONLINE
--step 7 : 查看全部修改完成后的数据库情况USE masterGOSELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [File Type],
state_desc AS [State] FROM sys.master_files
WHERE database_id = DB_ID(N'DB_SHANGHAI')GO/*Logical Name DB File Path File Type State
DB_SHANGHAI X:\DATA\DB_SHANGHAI.mdf ROWS ONLINE
企业管理器中没有改数据库名的功能,如果一定要用企业管理器来实现,你可以备份数据库,然后还原,在还原时候可以指定另一个库名,然后再删除旧库就行了。
这里以
SQLServer
20000
为例,旧数据库名字为
Admin10000,
新数据库名字为
jb51.net。
第一步、备份数据库
打开企业管理器
--
右键一个数据库
--
所有任务
--
备份数据库
--
目的--备份到中选择添加
--
输入一个备份的文件名(注意,如果原来有文件名,要删除它)
--
确定
第二步、还原数据库,并指定一个新库名,并且修改物理文件名。
企业管理器--右键
"数据库
"--所有任务--还原数据库
--
"还原为数据库库"
中输入还原后的数据库名
jb51.net
--
还原选择
"从设备
"--选择设备--添加--添加你的备份文件--确定,回到数据库还原的界面
--
备份号--选择内容--选择你要恢复那次备份的内容
--
选项--将
"移至物理文件名
"中的物理文件名修改为你的数据文件要存放的文件名,这里修改为
jb51.net_Data.MDF(数据库文件)
和
jb51.net_Log.LDF(日志文件)
--
如果要还原的数据库已经存在,选择
"在现有数据库上强制还原
"
--
确定
第三步、修改逻辑文件名
如果想修改逻辑文件名,可以查询分析器里输入
alter
database
[jb51.net]
modify
file
(
name='Admin10000_Data',
newname='jb51.net_Data')
alter
database
[jb51.net]
modify
file
(
name='Admin10000_log',
newname='jb51.net_log')
第四步、最后删除旧的数据库 jb51
1、获得所有数据库名
选择master数据库,查询表sysdatabases;
2、获得所有数据表名
选择你要查询的数据库,查询表sysobjects,并且xtype为'U';
3、获得所有字段名和字段类型
选择你要查询的数据库,查询表syscolumns,语句如下:
select
b.name, a.name, c.name
from syscolumns a
inner join sysobjects b on a.id = b.id
inner join systypes c on a.xtype = c.xtype
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流