8 个解决方案
#1
应该不能实现.
#2
use master
exec sp_renamedb '旧库名','新库名'
exec sp_renamedb '旧库名','新库名'
#3
正在使用的库不能改名
#4
建哥,我试了一下,好像不可以的。系统提示:已经锁定
#5
已经锁定说明有人在使用数据库,当前有人在用的数据库不不能改名的.
#6
--你可以强制断开用户连接来改名,用下面的
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
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
#7
谢谢建哥,已经OK,但不知在SYSBASE里是否可以这样写呢?
#8
sybase不会,应该不可以吧.
#1
应该不能实现.
#2
use master
exec sp_renamedb '旧库名','新库名'
exec sp_renamedb '旧库名','新库名'
#3
正在使用的库不能改名
#4
建哥,我试了一下,好像不可以的。系统提示:已经锁定
#5
已经锁定说明有人在使用数据库,当前有人在用的数据库不不能改名的.
#6
--你可以强制断开用户连接来改名,用下面的
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
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
#7
谢谢建哥,已经OK,但不知在SYSBASE里是否可以这样写呢?
#8
sybase不会,应该不可以吧.