我有带有镜像的Server。
我试图使用以下命令恢复数据库:
USE [master]
ALTER DATABASE [CentralStorage] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE [CentralStorage] FROM DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\XXX.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5
我只是在主体服务器和镜像服务器之间设置镜像。我在遵循一位同事留给我的一些步骤,因为我以前没有这样做过。
有一次,我不得不备份我使用的主体数据库。
USE MASTER
GO
BACKUP DATABASE MyDB
TO DISK ='D:\Backups\MyDBFullBackup.bak'
GO
BACKUP LOG MyDB
TO DISK='D:\Backups\MyDB_LogBackup.trn'
GO
然后,我将这些文件复制到镜像服务器,并用
USE MASTER
GO
RESTORE DATABASE MyDB
FROM
如果主体数据库变得不可用,我们的应用程序需要使用不同(精简)版本的主体数据库。备份数据库将与主体数据库具有相同的结构和对象,某些表的数据将更少。
是否有一种方法可以设置数据库镜像,使其不发生真正的镜像,但.NET连接字符串的“failover partner”属性仍可用于连接到另一个数据库,而不会出现“database Is not configured for mirroring”错误?
谢谢。
在紧急情况下,当我们不得不从一个数据库中删除一个损坏的数据库镜像( Server 2008)来重建它时,我们的c#网站开始偶尔(不是每个数据库连接)抛出一个异常。
System.Data.SqlClient.SqlInternalConnectionTds.LoginWithFailover函数调用中的"database未配置为数据库镜像“。
我明白为什么它会对缺少的镜像感到不高兴,但是我希望它停止破坏我的web请求--如果数据库镜像关闭,我的最终用户不应该受到影响。