sql数据库如何重命名

[复制链接]
查看11 | 回复3 | 2019-9-5 18:37:32 | 显示全部楼层 |阅读模式
一、未使用的数据库 改名方法如下:1、未使用的数据库改名比较方便,找到你要更改的数据库,右键选择【重命名】。

2、然后将你想要更改的名字写好,然后点击一下旁边的空白栏。

3、然后你就发现数据库的名称已经改好了。

二、使用中的数据库改名方法如下:1、使用中的数据库你在使用这种方法显然是不合适,你用这种方法更改数据库的名字之后会提示你无法重命名数据库。

2、这时还是同样的右键你要改名的数据库,选择【属性】按钮。

3、然后在数据库属性左侧菜单栏中选择【选项】按钮。

4、然后在【状态】栏目下有一项限制访问选项,默认的是MULTI_USER,意为多用户模式,然后你将其更改为【SINGLE_USER】单用户模式,点击确定即可。

5、然后你在使用上面的方法更改数据库的名称会发现数据库改名成功了。


回复

使用道具 举报

千问 | 2019-9-5 18:37:32 | 显示全部楼层
EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE' EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'这两条语句的意思是将数据库转换为单用户模式和非单用户模式,这样可以避免在重命名数据库的时候有其它用户对数据库进行操作,造成死锁。所以楼主问问的要不要改的回答应该是否定的,不能改,这是设置数据库选项的关键字。其实在修改数据库名称之前,如果有用户连接到数据库的话会造成数据库重命名失败,可以先执行select spidfrom master.dbo.sysprocesseswhere 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数据库中执行。
回复

使用道具 举报

千问 | 2019-9-5 18:37:32 | 显示全部楼层
先分离数据库,然后附加的时候再修改就可以了SQL Server不支持直接修改数据库名称
回复

使用道具 举报

千问 | 2019-9-5 18:37:32 | 显示全部楼层
mysqlalter table abc rename to abcd表名中间可以有空格吗?我忘了是不是这个问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行