web-dev-qa-db-ja.com

SQL Server-スナップショットは運用環境で役立ちますか?

私はSQL Serverの高可用性ソリューションと災害復旧について、そしてSQL Serverがスナップショット機能を持っている利用可能なリソースの中で読んでいます。理論的にはすべてが美しいようです。

また、スナップショットはある時点でデータベースをコピーし、これを使用してデータベースを復元できることも読みました。

この回答では SQL Serverスナップショットがサポートされていないことについてのコメント(Peter Schofield著、2013年)があり、迅速なロールバックのための開発環境で役立ちます。

[...]おそらく採用の最大の障害は、Management Studioがサポートを提供しなかったことです[...]

[...]迅速なスクリプトの導入と迅速なロールバックのためだけに、開発環境でスナップショットを理想的に使用しているように見えます。[...]

スナップショットが本番環境で本当に役立つかどうか知りたいのですが。本番環境での使用例として、スナップショットを使用して本番システムでソリューションを提供したときの個人的な例を挙げてください。

主な目的は、実際の使用法のいくつかの例を提供することであり、これらの例を通して、私やこの投稿を読むすべての人にとって役立つアイデアが得られます。

私の場合、運用環境でSQL Server 2017 Enterprise Editionを使用しています。

4

[...]おそらく採用の最大の障害は、Management Studioがサポートを提供しなかったことです[...]

つまり、SSMSにはデータベースのスナップショットを作成する機能がないため、TSQLコマンドを使用してデータベースのスナップショットを作成する必要があります。これは Create Database Snapshotの公式ドキュメントにも記載されています

SQL Serverデータベースのスナップショットを作成する唯一の方法は、Transact-SQLを使用することです。 SQL Server Management Studioは、データベーススナップショットの作成をサポートしていません。

Wordの「サポート」の使用が完全に明確ではないことに同意します。 SSMSではデータベーススナップショットの作成が許可されていない必要があります。

データベースのスナップショットは本番環境で「使用する可能性があります」。それはすべて、必要なものと要件にどのように適合するかによって異なります。先に進む前に、 データベーススナップショットの制限 をお読みください。 Paul Randalは、 データベーススナップショットで何がうまくいかない可能性があるかについて、もう少し指摘しています

5
Shanky

意見に基づく質問と回答として、これは締め切られると思いますが、ここでは2セントです。

まれではありますが、運用環境でデータベーススナップショットを使用して確認しました。

シナリオA)データベーススナップショットを使用して、レポート(データウェアハウスへのETL)の目的でデータベースの静的イメージを提供しました。スクリプトは毎日指定された時間に実行され、レポートが使用するスナップショットを作成します。このデータベースは、作成日現在、トランザクション的に一貫しており、非常に便利でした。

シナリオB)非常に深いテーブルを実行して分析を行い、その後適切なエントリの削除を開始する恐ろしいメンテナンスジョブ。このプロセスの開始時にスナップショットを作成して、ブロッキングが発生しないようにしました。そのため、スナップショットから「必要な作業」のリストを取得し、スナップショットを削除してから、ライブデータベースに「作業を行う」ようにメンテナンスジョブが変更されました。

データベーススナップショットの使用例は、CHECKDB以外のすべてのニッチです。 SQL Serverは、バックグラウンドでいくつかのロック分離トリックを実行します。これにより、特定のクラスの操作に対して迅速でダーティな修正が必要な場合に、これが適切な選択になります。

6
Jonathan Fite

静止データベースの運用スナップショットは、フルサイズのシステム保証または「運用サポート」データベースを準備するのに役立ちます。おそらく、これらはプロダクションではありませんが、プロダクションのような飛び地に存在する必要があります。処理中のトランザクションや参照整合性の問題は回避されます。たとえば、表Bの1時間後の表Aのアンロードによって発生した問題。

極端な場合、それらは実装またはアップグレードのフォールバックポジションを提供できます。スナップショットの「キューブ」を提供する研究、メトリック、分析に使用されるデータベースは、「ビジネスWeb」の例と同じ規則に従う必要はありません。

0
mckenzm