对于开发人员测试,我从Visual Studio 2013运行我的SQLServer数据库的LocalDB版本。我想测试当这个数据库无法访问在同一台机器上运行的C#应用程序时会发生什么 - 最好从VS调试。具体来说,在应用程序运行时变得无法访问,所以我可以“打开它”而无需重新启动我的应用程序并检查它是否正常处理。
我无法在VS中看到明显的“停止数据库”选项。我也不知道如何管理LocalDB实例...如果它仅在VS运行时存在?
如果数据库和应用程序在同一台计算机上运行,并且数据库作为LocalDB托管,而不是通过SQLServer(我没有安装),那么有什么方法可以做我想做的事情?
答案 0 :(得分:0)
您可以将配置更改为连接字符串中的某个虚拟IP /主机或端口,而不是停止数据库。
答案 1 :(得分:0)
LocalDB 不适合测试这种情况。最好在实物上进行测试。
但是,如果您只是在制作原型,您可以:
sqllocaldb stop <instancename> -k
(它可能会看到错误代码 904 或 109;这是一个糟糕的测试,因为 localdb 几乎会立即自动重新启动)。虽然我列出了一些我看到的错误代码,因为您正在测试的应用程序(或其库)可能会做类似的事情,但我真的不建议针对单个错误代码进行编码。断开连接最好检测为严重性为 20 或更高的错误。
不要忘记在与您的生产条件相似的条件下进行最终测试。