我在两台不同的 SQL Server 机器上为我的数据库设置了 SQL Server 2005 的数据库镜像。这里没有使用见证服务器。我还在我的数据库的主服务器和镜像服务器上分别看到状态“主体/同步”和“镜像、同步/恢复”。
现在我想测试到镜像服务器的故障转移是否正常工作。所以我写了一个像下面这样的小型控制台应用程序。
try
{
SqlConnection cn = new SqlConnection("data source=PRIMARYSQL1;Failover Partner=MIRRORSQL1;initial catalog=TESTDB;Integrated Security=SSPI;");
SqlCommand cm = new SqlCommand("insert into department(name) values('Dept10')", cn);
cn.Open();
cm.ExecuteNonQuery();
}
然后我关闭了主服务器上的 hSQL Server 和 SQL Agent 服务,我希望我的控制台应用程序仍然可以正常工作,但我得到了以下错误。
“与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问该服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)”
此外,一旦主服务器出现故障,我就无法将镜像数据库设为主服务器,因为它不允许我从镜像服务器执行此操作。
我确定我做错了什么。谁能帮我?