web-dev-qa-db-ja.com

ファイルグループの設定をRESTRICTED_USERからMULTI_USERに変更すると、データベースミラーが機能しなくなるのはなぜですか?

私の環境は次のとおりです: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。手順を繰り返します22a3で、過去のファイルグループを再度読み取り専用に設定できます。

6。バックアップを再度作成します。

私がそのエラーを受け取る理由を誰かが知っていますか?

編集:手順のさまざまな段階で同じ問題が発生します。これはミラーが故障する唯一の状況なので、問題は手順の中にあると思いますが、理由がわかりません!

9
Bogdan Bogdanov

問題が見つかりました。 SQL Serverのバグです。 READ_WRITEコマンドがmirror DBに適切に転送されていません。スクリプトの開始時にミラーサーバーで変更partitionsを実行すると、エラーが発生しました。その後、同期が破壊され、ミラー上のDBがロックされます(suspended状態)。

SQL Serverを最新バージョンに更新することで問題を修正します(最初のバージョンはwiout SPでした)。

0
Bogdan Bogdanov