select spidfrom masterdbosysprocesseswhere dbid=db_id('OldDbName')结果集中显示的是当前连接到数据库OldDbName的连接比如结果是7981当然,实际值应该不是这两个然后执行kill 79kill 81关闭已建立的连接,之后再执行EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'EXEC sp_renamedb 'OldDbName', 'NewDbName'EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'上述语句最好都在master数据库中执行。另外也可以这样:先分离数据库,然后附加的时候再修改就可以了
方法一:使用SP_RENAMEDB系统存储过程实现。
语法:sp_renamedb[@dbname=]'old_name',[@newname=]'new_name'
例子:我需要将数据库Test_1的名称修改为Testusemastergoexecsp_renamedb@dbname='Test_1',@
newname='Test';go
有时候执行该脚本,会报如下错误:
消息5030,级别16,状态2,第1行
无法用排他锁锁定该数据库,以执行该 *** 作。
出现这种情况,主要是还有其它程序或用户连接数据库,你必须确保没有任何用户正在使用数据库可以通过将数据库设置为单用户模式。在数据库属性》连接选择里面找到限制访问选项,选择SIGLE_USER选项。然后执行上面语句,即可修改数据库名称。
SELECTSPIDFROMmasterdbosysprocessesWWHEREdbid=DB_ID('Test1');
否则执行KILL命令杀掉这些会话进程。KILLSPID
下面这个脚本可以比较好的处理上面问题,不需要你做过多额外 *** 作,直接用脚本完成任务。
usemasterexecsp_dboption@dbname='OldDbName',@
optname='SingleUser',@
optvalue='TRUE'
execsp_renamedb@dbname='OldDbName',@
newname='NewDbName'
execsp_dboption@dbname='NewDbName',@
optname='SingleUser',@
optvalue='FALSE'GO
检查修改成功。
SELECTname,database_id
FROMsysdatabasesWHEREname=N'DbName';
注意:SQLServer2008后续版本的MicrosoftSQLServer将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。
方法二:使用ALTERDATABASE语句修改数据库名称。
USEmaster;GO
1、传统的数据库文本参数 PfileShutdown数据库修改数据库文本参数Startup数据库2、服务器参数 SpfileAlter System Set Parameter_Name = Value Scope=(Spfile、Menory、Both)参数 取值 结果 动态参数 静态参数SCOPE Spfile 表示该修改只对服务器参数有效 数据库重启时有效,永久有效 同动态参数,静态参数只适于这种情况 Menory 表示该修改只对内存有效 立即有效,但不产生永久效果,因为没有修改服务器参数 不允许使用 Both 表示该修改对上述两种都有效 立即有效,永久有效 不允许使用使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句
1、首先需要从开始菜单中找到SQL Server 配置管理器。
2、然后会看到SQL Server(MSSQLSERVER)正处于运行的状态。
3、右击它然后重新启动任务进程。
4、然后打开sql2012选择一个数据库右击重命名。
5、然后输入新的数据库名称就重命名完毕了。
以上就是关于SQL Server数据库里面怎么修改数据库的名字全部的内容,包括:SQL Server数据库里面怎么修改数据库的名字、求问怎么修改MS SQL数据库名称、sql2000的数据库名字怎么改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)