SQLServer 自带工具的 附加/分离数据库

前言

我们有个软件,C# + SQLServer2005,在程序中写好了附加/分离(.mdf)数据库文件的功能。
一般我们都指定用户用SQLServer2005, 这次用户自己装的SQLServer2017, 用我们程序自带的附加/分离数据库文件不好使,抛异常。

同事后来在现场解决了,他用SQLServer自带的工具来附加/分离数据库。运维的同事还是办法挺多:) 先膜拜一下。

如果是从研发工程师的角度,我就要从程序实现的角度,逆向单步,看看那个程序为啥附加/分离数据库失败。然后再修补程序。

当时他遇到这问题时,我去查资料,说SQLServer2005只能兼容到SQLServer2008~SQLServer2012.应该是SQL语句用法不一样了。

做个笔记,学习一下同事的解决方法(手工附加/分离数据库)。

实验

我本本上只装了SQLServer2005, 没装SQLServer2017.就拿SQLServer2005自带的工具试试,SQLServer2017也类似。

打开SQLServer自带的工具"SQL Server Management Studio"

SQLServer 自带工具的 附加/分离数据库

附加数据库文件(.mdf)

SQLServer 自带工具的 附加/分离数据库
SQLServer 自带工具的 附加/分离数据库

数据库文件附加完成.
SQLServer 自带工具的 附加/分离数据库

分离数据库

分离数据库是分离,不是删除。
SQLServer 自带工具的 附加/分离数据库
SQLServer 自带工具的 附加/分离数据库
分离完成
SQLServer 自带工具的 附加/分离数据库