重命名数据库,我做错了什么

时间:2014-03-07 22:47:14

标签: sql sql-server-2008 tsql

我正在尝试在SQL Server 2008中重命名数据库。

我已经通过多种方式完成了这项工作,使用对象资源管理器,脚本,物理重命名文件,分离数据库并将其作为数据库附加回我想要的名称。

我想将我的数据库重命名为Counter,所以当我说

Use Counter
GO

运行正常。

但是,从我的程序访问数据库而不是查看Counter数据库并使用它,它会看到Countercounter_a)的旧名称并抛出错误。反正有没有阻止这种情况发生并彻底根除这个旧名字?

我在使用

附加数据库和日志(这是旧名称)之后更改了文件名
USE Counter 

ALTER DATABASE Counter 
MODIFY FILE (NAME = N'Counter_a', NEWNAME = N'Counter')

ALTER DATABASE Dpac 
MODIFY FILE (NAME = N'Counter_a_log', NEWNAME = N'Counter_log')

现在物理名称是正确的。

但是在我的连接字符串中,如果我将数据库重命名为

中的counter_a
<DatabasePath value="Data Source=127.0.0.1;initial catalog=counter_a;Integrated Security = TRUE" />

我在SQL Server中将我的数据库重命名为counter_a程序正常。

但是。如果我使用

<DatabasePath value="Data Source=127.0.0.1;initial catalog=counter;Integrated Security = TRUE" />
在配置中

我将SAME数据库从counter_a重命名为counter我无法连接。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

听起来与您连接的用户有一个旧数据库名称的默认数据库。您可以在SSMS中更改默认数据库,只需将其设置为新数据库名称或master。

另一种可能性是在应用程序的连接字符串中或在应用程序本身内引用旧名称。