私の環境は次のとおりです:VMWare 5.5活性化されたサーバーMS Windows Server 2008R2 EnterpriseドメインおよびSQL Server 2008 R2 Enterprise。ファイバーチャネル接続による集中型ストレージ。
SQL Server DB
にパーティションがあります。私には2つのfile groups
があります。1つはライブデータ(FG1)で、もう1つは履歴データ(HDG)です。
2番目のファイルグループはread-only
です。毎月パーティションで移動を行います前月の)新しいデータを履歴データに追加します。このプロセスはautomaticです。
データベースを新しいサーバーに移動しました。最初は、プロセスを手動で行う必要がありました手動。この操作中に、次のエラーでミラーが故障します(操作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.
ログの行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.
ログの行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.
REMARK:この操作を古いサーバーで何度も自動的に実行しましたが、そのようなエラーは発生しません。
ミラーサーバー上:
ログの行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.
ログの行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.
私のプロセスIS以下:
1。データベースのバックアップをいくつか作成します(完全、ファイルグループ、およびTLogバックアップ)。
2。DBをRESTRICTED_USER
に設定します(スクリプトによる履歴ファイルグループフラグの読み取り専用の削除を許可するため)。
2a。履歴ファイルグループのREAD-ONLY
フラグを削除します。
3。DBをMULTI_USER
に設定して、ソフトウェアを正常に動作させます。
4。パーティションを更新して、データが履歴ファイルグループに移動されるようにします。
5。手順を繰り返します2、2aと3で、過去のファイルグループを再度読み取り専用に設定できます。
6。バックアップを再度作成します。
私がそのエラーを受け取る理由を誰かが知っていますか?
編集:手順のさまざまな段階で同じ問題が発生します。これはミラーが故障する唯一の状況なので、問題は手順の中にあると思いますが、理由がわかりません!
問題が見つかりました。 SQL Serverのバグです。 READ_WRITE
コマンドがmirror
DBに適切に転送されていません。スクリプトの開始時にミラーサーバーで変更partitions
を実行すると、エラーが発生しました。その後、同期が破壊され、ミラー上のDBがロックされます(suspended
状態)。
SQL Serverを最新バージョンに更新することで問題を修正します(最初のバージョンはwiout SPでした)。