切换数据库服务器

时间:2013-09-06 16:34:49

标签: c# asp.net sql sql-server database

对于Web应用程序,我们有2个数据库服务器和相同的数据库(在两个服务器中)(当应用程序部署到生产时只有1个)。现在,连接到Web应用程序的服务器中的当前数据库已经生成只读,第二个服务器中的第二个数据库处于活动状态。我们应该在服务器之间切换,因为第一个主要服务器只读。 Web应用程序在asp.net,C#中使用sql后端。我们如何检查数据库的只读并连接到下一个服务器?

4 个答案:

答案 0 :(得分:1)

在Web.config中创建第二个连接字符串,并使用在应用程序中建立连接所需的任何一个。

答案 1 :(得分:1)

您应该能够查询数据库以检查它是否为只读,然后根据查询结果更改连接字符串。

在MSSQL中,我相信这些信息保存在sys.databases表的is_read_only列中

http://technet.microsoft.com/en-us/library/ms178534.aspx

答案 2 :(得分:0)

  

我们如何检查数据库的只读并连接到下一个服务器?

使用T-SQL

SELECT name, is_read_only 
FROM sys.databases 
WHERE name = 'databaseName'
GO

当数据库设置为只读模式时,这将在is_read_only列中返回1。

答案 3 :(得分:0)

您可以在app.config中同时拥有两个连接字符串,并在“非只读”数据库中创建一个包含一行和一列的表。将此行设为布尔值,一旦进行更改,请将此值交换为true。当您的应用程序加载时,它将检查该表的值,如果它是真的,那么它将使用连接字符串到非只读DB。如果它是错误的,它将变为“即将被读取”的数据库。

最终,您需要更改它,以便只有一个连接字符串,除非您需要同时访问这两个字符串。通常我只看到此设置用于报告,通常只有一个应用程序连接到只读/存档数据库。