Bog*_*nov 9 sql-server mirroring partitioning vmware
我的环境如下: VMWare 5.5激活服务器MS Windows Server 2008R2 Enterprise域和SQL Server 2008 R2 Enterprise。具有光纤通道连接的集中存储。
我的SQL Server DB
. 我有 2 个file groups
:一个带有实时数据 (FG1),第二个带有历史数据 (HDG)。
第二个文件组是read-only
. 每个月我都会在分区中移动 - 我将新数据(来自上个月)添加到历史数据中。这个过程是自动的。
我们将数据库移至新服务器。最初,我必须手动完成该过程。在此操作期间,我的镜像出现故障(在操作 3 之后 - 请参阅下面的流程流程)并出现以下错误:
在主服务器上:
日志中的第 0 行:
Date 15.6.2015 20:54:11
Log SQL Server (Current - 16.6.2015 07:55:00)
Source spid84
Message
Setting database option MULTI_USER to ON for database MYDB.
Run Code Online (Sandbox Code Playgroud)
日志中的第 1 行:
Date 15.6.2015 20:54:11
Log SQL Server (Current - 16.6.2015 07:55:00)
Source spid18s
Message
Error: 1453, Severity: 16, State: 1.
Run Code Online (Sandbox Code Playgroud)
日志中的第 2 行:
Date 15.6.2015 20:54:11
Log SQL Server (Current - 16.6.2015 07:55:00)
Source spid18s
Message
'TCP://10.201.27.154:5022', the remote mirroring partner for database 'MYDB', encountered error 823, status 3, severity 24. Database mirroring has been suspended. Resolve the error on the remote server and resume mirroring, or remove mirroring and re-establish the mirror server instance.
Run Code Online (Sandbox Code Playgroud)
备注:我在旧服务器上多次自动执行此操作,我从未遇到过此类错误。
在镜像服务器上:
日志中的第 1 行:
Date 15.6.2015 20:54:11
Log SQL Server (Archive #3 - 15.6.2015 21:33:00)
Source spid17s
Message
Error: 823, Severity: 24, State: 3.
Run Code Online (Sandbox Code Playgroud)
日志中的第 2 行:
Date 15.6.2015 20:54:11
Log SQL Server (Archive #3 - 15.6.2015 21:33:00)
Source spid17s
Message
The operating system returned error 5(Access is denied.) to SQL Server during a write at offset 0000000000000000 in file 'e:\Databases\MYDB_HISTRICAL.ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Run Code Online (Sandbox Code Playgroud)
我的过程如下:
1.我对数据库进行了多次备份(完整、文件组和 TLog 备份)。
2.我将DB设置为RESTRICTED_USER
(以允许通过脚本删除历史文件组标志的只读)。
2a. 我删除READ-ONLY
了我的历史文件组的标志。
3.我将DB设置MULTI_USER
为允许我们的软件正常运行。
4.我更新分区,以便将数据移动到历史文件组中。
5.我重复步骤2、2a和3以便我可以再次将历史文件组设置为只读。
6.我再次备份。
有谁知道为什么我会收到那个错误?
编辑:我们在程序的不同阶段收到相同的问题。这是镜像损坏的唯一情况,所以我想问题出在程序内部,但我不知道为什么!
我们发现了问题。这是 SQL Server 中的一个错误。当我们设置READ_WRITE
命令时,命令未正确传输到mirror
数据库中。当镜像服务器上的脚本启动更改时partitions
发生错误。之后,同步被破坏,镜像上的数据库被锁定(处于suspended
状态)。
我们通过将 SQL Server 更新到最新版本来解决该问题(我们的初始版本没有 SP)。
归档时间: |
|
查看次数: |
1066 次 |
最近记录: |