SQL Server数据库重命名
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
在企业管理器中我们无法对数据库进行重命名,下边介绍两种方法来实现对SQL Server数据库重命名。
方法一:使用系统存储过程sp_renamedb 在使用sp_renamedb对数据库进行重命名前必须确保所有使用数据库的连接都已关闭,打开"所有任务→分离数据库",点击清除按钮即可关闭数据库所有连接,然后在查询分析器中执行如下语句即可完成数据库重命名: 程序代码 exec sp_renamedb 'olddbname','newdbname' 方法二:新建存储过程对数据库重命名 本存储过程可自动关闭数据库所有连接,然后再调用sp_renamedb进行重命名,代码如下: 程序代码 /* 数据库重命名 */ Create procedure sp_renamedbnew ( @dbname varchar(30), @newdbname varchar(30) ) as /* 清除数据库的所有连接 */ declare @spid int declare @sqlforclear nvarchar(100) declare curid cursor forward_only read_only for (select spid from master.dbo.sysprocesses where db_name(dbid)=@dbname) open curid fetch next from curid into @spid while @@fetch_status = 0 begin set @sqlforclear = N'kill ' + cast(@spid as nvarchar(10)) exec sp_executesql @sqlforclear --if @@error = 0 print 'clear:' + cast(@spid as nvarchar(10)) fetch next from curid into @spid end close curid deallocate curid /* 重命名 */ exec sp_renamedb @dbname,@newdbname GO 其他说明 1.如果提示:"未能排它地锁定数据库以执行该操作",应确保关闭了数据库所有连接再执行sp_renamedb; 2.如果提示:"不能用 KILL 来取消您自己的进程",则将查询分析器中的当前数据库设置为非重命名数据库再执行sp_renamedbnew。 该文章在 2011/3/14 15:10:12 编辑过 |
关键字查询
相关文章
正在查询... |