在SQL SERVER中如何更改一个正在运行的数据库的名字(不能删除数据库)?

aichangfeng 2004-09-17 12:08:11
在SQL SERVER中如何更改一个正在运行的数据库的名字(不能删除数据库)?
...全文
172 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
aichangfeng 2004-09-17
  • 打赏
  • 举报
回复
建哥,我试了一下,好像不可以的。系统提示:已经锁定
WangZWang 2004-09-17
  • 打赏
  • 举报
回复
正在使用的库不能改名
zjcxc 元老 2004-09-17
  • 打赏
  • 举报
回复
use master
exec sp_renamedb '旧库名','新库名'
WangZWang 2004-09-17
  • 打赏
  • 举报
回复
应该不能实现.
zjcxc 元老 2004-09-17
  • 打赏
  • 举报
回复
sybase不会,应该不可以吧.
aichangfeng 2004-09-17
  • 打赏
  • 举报
回复
谢谢建哥,已经OK,但不知在SYSBASE里是否可以这样写呢?
zjcxc 元老 2004-09-17
  • 打赏
  • 举报
回复
--你可以强制断开用户连接来改名,用下面的

use master
go

declare @dbname sysname,@newname sysname
select @dbname='pubs' --要改名的数据库
,@newname='test' --修改后的数据库名

declare @s nvarchar(1000)
declare tb cursor local for
select s='kill '+cast(spid as varchar)
from master..sysprocesses
where dbid=db_id(@dbname)

open tb
fetch next from tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch next from tb into @s
end
close tb
deallocate tb

exec sp_renamedb @dbname,@newname
zjcxc 元老 2004-09-17
  • 打赏
  • 举报
回复
已经锁定说明有人在使用数据库,当前有人在用的数据库不不能改名的.

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧