Microsoft SQL Serverのバックアップに぀いお聞いお恥ずかしかったこず

バックアップずSQL Serverデヌタベヌスの埩元に぀いおプレれンテヌションを行う堎合、通垞2皮類の質問がされたす。 最初のものは聎衆からのプレれンテヌション䞭に蚭定され、2番目のものはプラむベヌト䌚話で既に蚭定されおいたす。 これらの「プラむベヌト」な質問はより興味深い堎合が倚く、バックアップを䜜成する方法、バックアップを䜜成する理由、たたはバックアップする理由に぀いお別の蚘事を曞くのではなく、最も耇雑で興味深い質問に答えようずしたす。バックアップを確認したすただし、バックアップを確認する必芁がありたす。



バックアップが䜜成されたバヌゞョン以倖のバヌゞョンのSQL Serverにバックアップを展開できたすか どのような問題が発生する可胜性がありたすか


バックアップを別のバヌゞョンのSQL Serverに埩元できたすが、バックアップを展開するSQL Serverのバヌゞョンが、バックアップを䜜成したバヌゞョンよりも新しい堎合のみです。 ぀たり、SQL Server 2000が䜜成したバックアップをSQL Server 2005に、SQL Server 2005をSQL Server 2008 R2に、たたはSQL Server 2008からSQL Server 2012に展開できたすが、これを逆方向に行うこずはできたせん。 SQL Serverの各バヌゞョンは、デヌタベヌスずそれを保存するファむルに独自の倉曎を加えたす。 Microsoftは、これらの倉曎をサポヌトするために「過去に戻る」こずはなく、SQL Serverの以前のバヌゞョンを曞き換えるこずはありたせん。 本圓に叀いバヌゞョンのSQL Serverにアップグレヌドする必芁がある堎合は、スキヌマずデヌタ自䜓のスクリプトを䜜成する必芁がありたすたずえば、 この移行に関する蚘事はこちらです 



バックアップが䜜成されたSQL Serverのバヌゞョンを刀断するには、バックアップファむルのヘッダヌを確認する必芁がありたす。



RESTORE HEADERONLY FROM DISK = 'd:\bu\mm.bak';
      
      





その結果、バックアップが䜜成されたSQL Serverのむンスタンスのメゞャヌバヌゞョン、マむナヌバヌゞョン、およびビルドバヌゞョンが衚瀺されたす䞋のスクリヌンショットを参照。 これにより、このバックアップを埩元するためのSQL Serverの適切なバヌゞョンを決定できたす。







デヌタベヌスを新しいバヌゞョンのSQL Serverに埩元するず、このバヌゞョンのSQL Serverず互換性のないものがあるこずが刀明する堎合がありたす。 SQL Serverの新しいバヌゞョンにアップグレヌドする最も安党な方法は、転送するベヌスでMicrosoft Upgrade AdvisorSQL Serverの各バヌゞョンで利甚可胜な無料のナヌティリティを起動し、準備が敎っおいるこずを確認しおから、新しいむンスタンスでバックアップず埩元を行うこずですただし、最初にバックアップを転送しおからアシスタントを開始するのではなく、この順序でのみ。



回埩埌、デヌタベヌスは移行元のSQL Serverのバヌゞョンずの互換モヌドになりたす。 これは、バックアップが䜜成されたSQL Serverのバヌゞョンでサポヌトされおいた機胜のみが利甚できるこずを意味したす。 SQL Serverの新しいバヌゞョンのすべおの利点を埗るには、デヌタベヌスの互換性レベルを倉曎する必芁がありたす。 これは、GUIを䜿甚しお実行するか、スクリプトを䜿甚できたす。



 ALTER DATABASE MyDB SET COMPATIBILITY_LEVEL = 110;
      
      





異なる番号は、SQL Serverの異なるバヌゞョンを瀺したす。SQLServer 2005の堎合は90、SQL Server 2008および2008 R2の堎合は100、SQL Server 2012の堎合は110です SQL Serverバヌゞョンの詳现に぀いおは、 こちらをご芧ください -翻蚳者のメモ 。



すべおの「遷移」が可胜ずいうわけではないこずを付け加える䟡倀がありたす。 SQL Serverでは、2぀のバヌゞョンでのみ「ゞャンプフォワヌド」できたす。 たずえば、SQL Server 2000によっお䜜成されたバックアップをSQL Server 2012に展開するこずはできたせん。最初に、SQL Server 2008に展開し、適切な互換性レベルを確立し、新しいバックアップを䜜成しおから、SQL Server 2012に展開する必芁がありたす。



埩元操䜜を䜿甚しおデヌタベヌスのコピヌを䜜成できたすか 䜕がおかしいのでしょうか


はい、できたす。 バックアップを別のサヌバヌに展開する堎合は、新しいサヌバヌに「叀い」サヌバヌず同じ論理ドラむブがあるこずを確認するか、WITH MOVEオプションを䜿甚しおデヌタベヌスファむルの正しいパスを手動で登録する必芁がありたす。デヌタベヌスの埩元



 RESTORE DATABASE NewDBName FROM DISK = 'c:\bu\mm.bak' WITH MOVE 'OldDB' TO 'c:\data\new_mm.mdf', MOVE 'OldDB_Log' TO 'c:\data\new_mm_log.ldf';
      
      





デヌタベヌスファむルには、論理名ず物理ファむル名の䞡方がありたす。 必芁なのは、すべおの論理ファむル名を登録し、それぞれに぀いお新しい物理的な堎所を決定するだけです。



発生する可胜性のある䞻な問題は、デヌタベヌスの埩元先のディスクに空き領域がないこずに関連する゚ラヌです。デヌタベヌスの新しい名前を指定し忘れるず、SQL Serverは既存のデヌタベヌスの䞊にデヌタベヌスを埩元しようずしたす。



デヌタベヌスナヌザヌが新しいサヌバヌに衚瀺されおいないアカりントに関連付けられおいる堎合、デヌタベヌスを新しいサヌバヌに埩元するず、「孀立ナヌザヌ」問題 msdnぞの翻蚳によるずアカりントずの連絡を倱ったナヌザヌ-箄Translator が発生する堎合がありたす。 この゚ラヌを修正する必芁がありたす。



トランザクションログファむルがない堎合、MDFファむルをデヌタベヌスずしお添付できたすか


これが受け入れられる唯䞀のオプションは、デヌタベヌス操䜜が正しく完了した埌にトランザクションログが倱われた堎合です。 いずれにせよ、これは良い考えではありたせん。 デヌタベヌスを接続する堎合、デヌタベヌス回埩プロセスを実行するには、トランザクションログファむルずデヌタファむルが必芁です ここでは、デヌタベヌス回埩はRESTORE DATABASE操䜜ずしお理解されおいたせんが、回埩はSQL Serverが開始するたびに発生するプロセスであり、SQL Serverは»トランザクションログによるず、デヌタファむルを䞀貫した状態にしたす-およそTranslator 。 ただし、トランザクションログファむルなしでデヌタファむルを添付できる堎合もありたすが、この機胜は、ハヌドりェアの問題やバックアップがないためにトランザクションログファむルが砎損たたは倱われた堎合のみを察象ずしおいたす。 もちろん、デヌタベヌスはトランザクションログなしでは存圚できず、トランザクションログファむルなしでデヌタベヌスをアタッチするず、SQL Serverは単にそれを再䜜成したす。



トランザクションログファむルなしでデヌタファむルを添付するず、ログのチェヌンが砎壊され、さらに、デヌタベヌスでトランザクションたたは構造の敎合性が䟵害されるこずが刀明する堎合がありたすトランザクションログの「損倱」時のデヌタベヌスの状態によっお異なりたす。 このようなデヌタベヌスをアタッチする操䜜は、実行されるアクションの皮類に関係なく倱敗する堎合がありたす。



デヌタファむルずトランザクションログファむルのコピヌは、デタッチ操䜜が完了した埌、たたはSQL Serverプロセスが正しく完了した埌にのみ蚱可されたす。これにより、すべおのトランザクションが正しく完了したす。 デヌタベヌスファむルを別のサヌバヌにコピヌ/移動するこずは、バックアップを䜜成/展開するよりも別のサヌバヌにデヌタベヌスを転送するより速い方法ですが、それほど安党ではありたせんコピヌなしでデヌタベヌスファむルを盎接移動する堎合。 たた、同じバヌゞョンたたは新しいバヌゞョンのSQL Serverのデヌタベヌスにしか参加できないこずを芚えおおく必芁がありたす。



私のDBはSAN䞊にありたす。 SANバックアップで十分だず聞きたした。 本圓ですか


それは本圓かもしれたせん。 䞻なこずは、SAN ストレヌゞ、ネットワヌク/デヌタストレヌゞシステム-箄Translator がSQL Serverトランザクションをサポヌトしおいるこずです。 もしそうなら、圌女はデヌタベヌスにトランザクションがあり、これらのトランザクションの存圚はデヌタファむルのデヌタが完党でないかもしれないこずを知っおいるでしょう、なぜならこれらのトランザクションで倉曎されたデヌタをハヌドディスクに曞き蟌むプロセスはバックアップ時に完了しおいたせん。 SQL Server自䜓が行うバックアップでは、圓然これらの点が考慮されたす。



たずえば、EMC Data Domainは、他のベンダヌの補品ず同様に、トランザクションサポヌトを提䟛する゜フトりェアずSANの組み合わせですが、SANのドキュメントを確認する必芁がありたす。 「トランザクションの䞀貫性」、「トランザクション察応」などのフレヌズに泚意しおください。 それらが芋぀からなかった堎合、すべおのバックアップ芁件を満たすのに十分なSANバックアップが必芁であるず刀断する前に、デヌタベヌスの回埩を確認するこずをお勧めしたす。 ただし、SANバックアップが正垞に実行されおいるこずを確認した埌でも、ネむティブSQL Serverバックアップが䞍芁になったわけではありたせん。 たずえば、ある時点でデヌタベヌスを埩元する必芁がある堎合、SQL Serverを䜿甚しおトランザクションログのバックアップを䜜成する必芁がありたす。



通垞、バックアップを䜜成するずき、SQL Server察応のSANはSQL Server VDIむンタヌフェむスを䜿甚し、バックアップ䞭はデヌタベヌスをフリヌズしたす。 このようなバックアップを䜜成するメカニズムを実行し、SQL Server゚ラヌログを芋るず、IO操䜜が凍結されおいるずいうメッセヌゞが衚瀺されたす。



SANによっお䜜成されたバックアップに䟝存しおいる堎合、ラむブデヌタベヌスたたはSANバックアップから埩元されたコピヌのいずれかでデヌタベヌスの敎合性チェックを実行する必芁がありたす。 それ以倖の堎合は、砎損したデヌタベヌスのバックアップを長期間䜜成し、それを知るこずさえできたせん。



Windowsで䜜成されたデヌタファむルのコピヌをバックアップずしお䜿甚できないのはなぜですか 任意の時点で回埩する機胜は必芁ありたせん。


SQL Serverは通垞のデスクトップアプリケヌションではありたせん。 圌は、すべおのACIDプロパティAtomic、Consistency、Isolated、Durable- もう少し詳现 -箄Translator が満たされるようにファむルを管理したす。 芁するに、トランザクションの正垞な完了を保蚌するために、SQL Serverはファむルぞのアクセスを誰にも䞎えないようにし、必芁に応じおそれらを倉曎したす。



珟圚実行䞭のロックずトランザクションを無芖しおデヌタファむルをコピヌするだけの堎合、埌でこのファむルを添付しようずするず、䞀貫性のない状態になり、゚ラヌが発生したす。



デヌタベヌスが完党に倉曎されおいない堎合にのみ、ファむルをコピヌしお埌で添付できたす。 ファむルのコピヌ時に少なくずも1぀のトランザクションが開かれた可胜性が少なくずも最小限であれば、バックアップが倱敗する可胜性が高くなりたす。 バックアップずしお䜿甚するデヌタファむルずトランザクションログをコピヌする唯䞀の安党な方法は、コピヌする前にデヌタベヌスをオフラむンにするこずです。



組み蟌みのSQL Server゚ンゞンを䜿甚する方がはるかに安党で簡単です。

バックアップを䜜成したす。 このようなバックアップはデヌタベヌスの完党なコピヌであり、すべおのACIDプロパティが実行されたす。



私は非垞に小さなデヌタベヌスを持っおいたす。 各テヌブルをディスクに「アンロヌド」しおバックアップを䜜成できないのはなぜですか


SQLCMDのようなものを䜿甚しおテヌブルを単玔なテキストファむルにアップロヌドできたすが、デヌタベヌスを1぀のコマンドだけで埩元する代わりに、いく぀かのコマンドを実行する必芁がありたす。 最初に、空のデヌタベヌスを䜜成する必芁がありたす。 次に、ファむルから各テヌブルを䜜成しおロヌドする必芁がありたす。 テヌブルにIDENTITY列が含たれおいる堎合、これらの各テヌブルでSET IDENTITY_INSERTを実行する必芁がありたす。 たた、敎合性を確保するために、テヌブルにデヌタをロヌドする順序を慎重に決定する必芁がありたす。



さらに、すべおのテヌブルは異なる時間にディスクにアップロヌドされるため、アンロヌド䞭にデヌタが䜕らかの圢で倉曎された堎合、リカバリ埌にデヌタベヌスを䞀貫した状態にできず、゚ラヌを手動で探しお修正する必芁がありたす。



もちろん、あなたにはそうする暩利がありたす。 䞀方、BACKUP DATABASEコマンドを実行するだけで、必芁に応じおこのバックアップを埩元できたす。



SQL Server自䜓がこれを行うこずができるのに、なぜバックアップナヌティリティにお金を払うのですか


サヌドパヌティのバックアッププログラムを䜿甚する䞻な理由は、リヌダヌシップ、自動化、および機胜の3぀です。 あなたが初心者のデヌタベヌス管理者であるか、デヌタベヌス管理者ではないが、メむンゞョブの远加ずしおDBMSを維持するこずを䜙儀なくされおいる堎合、SQL Serverでバックアップを構成する方法、堎所、および理由がわからない堎合がありたす。 優れたナヌティリティSQL Backup Proなどは、バックアップを䜿甚しおデヌタベヌスの安党性を確保するために必芁な皮類のマニュアルを提䟛したす。



SQL Server自䜓によっお䜜成されたバックアップは正垞に機胜したすが、それらを構成するために、さらに自動化するためにさらに倚くの䜜業を行う必芁がありたす。 優れたサヌドパヌティのナヌティリティを䜿甚するず、自動化プロセスが非垞に簡単になりたす。 さらに、ログのミラヌリング/配信やバックアップの敎合性チェックなど、バックアップに関連する他のプロセスを自動化できたす。



最埌に、SQL Serverバックアップは必芁なこずを実行したすが、最良の方法では実行しない堎合がありたす。 たずえば、䞀郚のナヌティリティはバックアップをより効率的に圧瞮するため、ディスクスペヌスを節玄し、バックアップ時間を短瞮したす。 たた、バックアップファむルの暗号化などの機胜も远加したすデヌタベヌス自䜓が暗号化されおいる堎合にのみ、組み蟌みのSQL Serverツヌルでこのようなこずが可胜です。



バックアップがネットワヌク共有にある堎合、誰かがそれを読むこずができたすか


バックアップファむル自䜓を盎接暗号化するたで-はい-これは最も䞀般的なファむルです。 誰かがこのボヌルにアクセスできるようになったら、任意のテキスト゚ディタヌでそれを読むか、単にコピヌしおSQL Serverの別のむンスタンスから回埩を開始できたす。



さらに、バックアップから、デヌタベヌススキヌマたたはデヌタを埩元するこずなく取埗できたす。 SQL Data Compareナヌティリティを䜿甚しおいる堎合、/ Exportスむッチを䜿甚しお実行するず、バックアップからすべおのデヌタをCSV圢匏で抜出し、このバックアップを空のデヌタベヌスず比范し、パスワヌドを芁求するこずなく比范できたす。 たた、同じSQLデヌタ比范により、デヌタベヌススキヌマを䜜成するスクリプトを䜜成できたす。



バックアップぞの䞍正アクセスを防ぐために、いく぀かのこずを行う必芁がありたす。 たず、バックアップが保存されおいるボヌルが限られた人たちにアクセスできるこずを確認しおください。 次に、本圓に必芁なバックアップのみを保存する必芁がありたす。 最埌に、サヌドパヌティのバックアップナヌティリティSQL Backup Proなどを䜿甚しおいる堎合、バックアップを暗号化できるため、誰かがファむルに盎接アクセスするず、そこから䜕も読み取れなくなりたす。



サヌドパヌティのナヌティリティがなくおも、Transparent Data EncryptionTDEを䜿甚しおこれを実珟できたす。



最高レベルのセキュリティを確保するには、䞊蚘のすべおのアクションを実行する必芁がありたす。



誰でもバックアップの内容を倉曎できたすか


バックアップファむルの内容を倉曎する機胜は提䟛されおいたせん。 バックアップはバックアップ時に存圚した圢匏のデヌタベヌスのペヌゞコピヌであるため、このデヌタベヌスの埩元されたコピヌは、バックアップ時に元のコピヌずたったく同じ状態になりたす。

SQL Serverは、デヌタベヌスの回埩䞭に各ペヌゞを読み取るずき、その内容に応じおチェックサムを蚈算し、バックアップの䜜成時に元のペヌゞから読み取られた倀ず比范したす䜜成時にWITH CHECKSUMパラメヌタヌを䜿甚したこずが理解されたすバックアップコピヌ。 誰かがバックアップファむルに倉曎を加えた堎合、これらの倀は䞀臎せず、SQL Serverはペヌゞを砎損ずしおマヌクしたす。



バックアップを䜜成するずきに、垞にそれから回埩できるず確信できるように蚭定するこずでフラグがありたすか


このフラグにより​​、バックアッププロセスがバックアップの䜜成埌にRESTORE VERIFYONLY操䜜の実行を䌎うこずを意味する堎合、いいえ、このバックアップからデヌタベヌスを埩元できるこずを確認できたせん。 RESTORE VERIFYONLYは、2぀のチェックのセットを実行できたす。



たず、バックアップヘッダヌをチェックしお、゚ラヌがないこずを確認したす。 ヘッダヌが砎損しおいる堎合、このバックアップからデヌタベヌスを埩元できたせん。



 RESTORE VERIFYONLY FROM DISK= '<Backup_location>'
      
      





2番目のチェックは、WITH CHECKSUMパラメヌタヌを䜿甚しおバックアップ手順を開始した堎合にのみ可胜です。 ぀たり、バックアッププロセス䞭に、SQL Serverは読み取られたすべおのペヌゞのチェックサムを再カりントしお怜蚌したす。 これらの量が収束しないペヌゞを芋぀けた堎合、バックアップ操䜜は倱敗したす。 チェックが成功するず、BACKUP WITH CHECKSUMは䜜成されたコピヌのチェックサムを蚈算しお曞き蟌みたす。



したがっお、RESTORE VERIFYONLYを䜿甚しおチェックサムを再蚈算し、保存䞭にバックアップコピヌが砎損しおいないこずを確認できたす。



 RESTORE VERIFYONLY FROM DISK= '<Backup_location>' WITH CHECKSUM
      
      





問題は2぀の堎所で発生する可胜性がありたす。 たず、実行時にVERIFYONLYでヘッダヌをチェックしおも、リカバリプロセスに圱響する可胜性のあるものはチェックされたせん。 ぀たり、RESTORE VERIFYONLYぱラヌなしで完了できたすが、「怜蚌枈み」コピヌからデヌタベヌスを埩元するこずはできたせん。



第二に、CHECKSUMはメモリで発生した損傷を怜出できたせん。 メモリ内でデヌタペヌゞが曎新され、ディスクおよび、それに応じおバックアップに曞き蟌たれる前に砎損した堎合、チェックサムの蚈算でぱラヌは衚瀺されず、単に同じものがバックアップに曞き蟌たれたこずを確認したすバックアップ時にデヌタベヌスに含たれおいたペヌゞ。 ぀たり バックアップ時にペヌゞがすでに砎損しおいる堎合、チェックサムを䜿甚しお゚ラヌを芋぀けるこずができず、このバックアップからの埩元が倱敗する可胜性がありたす。



バックアップから回埩でき、結果のデヌタベヌスが砎損しおいないこずを確実に知る唯䞀の方法は、それを埩元し、できれば埩元されたコピヌに察しおデヌタベヌスの敎合性チェックを実行するこずです。



バックアップにはデヌタ以倖のものが含たれおいたすか 誰でもそこからパスワヌドを読むこずができたすか


バックアップにはデヌタだけが含たれたす。 デヌタベヌス構造党䜓が含たれおいたす。 すべおのデヌタ、プロシヌゞャ、衚珟、関数、およびその他のすべおのコヌドが含たれたす。 たた、すべおのデヌタベヌス蚭定が含たれおいたす。 最埌に、デヌタベヌスナヌザヌに関するすべおの情報が含たれおいたす。 通垞のデヌタベヌスの堎合、各デヌタベヌスナヌザヌはSQL Serverアカりントに関連付けられたす。 そのようなナヌザヌのパスワヌドはアカりントずずもに保存されるため、バックアップにはそのようなパスワヌドはありたせん。



ただし、スタンドアロンデヌタベヌス 包含デヌタベヌス -箄Translator には、USER WITH PASSWORDずいう抂念がありたす。スタンドアロンデヌタベヌスの抂念は、そのようなデヌタベヌスずサヌバヌずの最小限の接続を意味するためです。 この堎合、パスワヌドはバックアップに含たれおいるため、そこからパスワヌドを取埗しようずする可胜性がありたす。 パスワヌドは平文ではなく、アカりントパスワヌドマスタヌシステムデヌタベヌスに保存され、圓然そのバックアップに入りたすず同様にハッシュされたす。



Microsoftは、自埋型デヌタベヌスをセキュリティで保護するためのいく぀かのベストプラクティスを提䟛しおいたす。



なぜバックアップむンデックス、統蚈、その他の再䜜成が簡単なのですか それは時間の無駄ですか


そしお私の意芋では、時間の損倱は、このように物事を分離し、1぀の郚分のみのバックアップを䜜成しようずする詊みです。 たず、それを行う方法は たずえば、クラスタヌむンデックスをバックアップせずにデヌタをバックアップする方法は クラスタ化むンデックスのリヌフレベルはデヌタペヌゞであるため、これは䞍可胜です。぀たり、クラスタヌむンデックスはテヌブル自䜓であるず蚀えたす。したがっお、クラスタヌむンデックスをバックアップに含める必芁がありたす。もちろん、非クラスタヌ化むンデックスを個別のファむルグルヌプに分けおバックアップするこずはできたせんが、バックアップを埩元した埌、このファむルグルヌプを元の状態に戻し、すべおのむンデックスを再構築する必芁がありたす。では、䜕を達成するのでしょうか



統蚈に関する問題もありたす。 SQL Serverは、デヌタベヌスず䞀緒に統蚈をバックアップし統蚈ず呌ばれるヒストグラムは200行のみで構築されるため、スペヌスをほずんど消費したせん、デヌタベヌスず䞀緒に埩元したす。ただし、回埩埌にむンデックスの再䜜成を開始した堎合、むンデックスをバックアップしなかったため、統蚈を再䜜成する必芁がありたす。たた、远加の時間が必芁になり、デヌタベヌスはアクセス䞍胜のたたになりたす。



結局、緊急時にプロセス党䜓が非垞に混乱する可胜性があり、このデヌタベヌスで䜜業しおいる人々はそれ以䞊アクセスできないずいう事実に぀ながるため、「再䜜成が簡単」ずいう蚀葉で議論したすバックアップからの単玔な回埩の堎合よりも時間がかかりたす。



バックアップを䜜成するたさにその考えは、デヌタベヌスを可胜な限り迅速か぀効率的に埩元できるようにするこずです。リカバリプロセスが耇雑になるほど、バックアップの効率は䜎䞋したす。はい、むンデックス、ナヌザヌ、ストアドプロシヌゞャ、その他すべおを保存するには、远加のスペヌスが必芁ですが、すべおが1か所にあるずいう事実により、この远加スペヌスの䟡倀があるため、リカバリの速床が向䞊したす。



OMGテヌブルを削陀したしたこれがトランザクションログにあるこずを知っおいたす。圌女を取り戻すにはどうすればいいですか


トランザクションがコミットされた埌、SQL Serverはそれをロヌルバックできたせん。 DELETEおよびTRUNCATE操䜜は、たったく異なる方法でデヌタを削陀したす。 DELETE操䜜は、各行を削陀するトランザクションを䜿甚しおデヌタを削陀したす。 TRUNCATE操䜜は、削陀されたデヌタが存圚しおいたデヌタペヌゞを単に䜿甚されおいないずしおマヌクしたす。ただし、トランザクションログを衚瀺するずきに、これらの操䜜の結果を手動で排陀するこずはできたせん。代わりに、ポむントむンタむムリカバリず呌ばれるプロセスを実行する必芁がありたす。テヌブルから必芁なデヌタを誀っお削陀するたでのすべおの倉曎を保存するために、デヌタベヌスのトランザクションログのバックアップをすぐに䜜成する必芁がありたす。次に、このマニュアルの第6章の手順に埓う必芁がありたす。ある時点での回埩のためにMSDNにはすべおがありたす -玄翻蚳者。



もう1぀のオプションは、SQL Backup Proなどのサヌドパヌティナヌティリティを䜿甚するこずです。これにより、既存のバックアップから個々のデヌタベヌスオブゞェクトをオンラむンで埩元できたす。



たた、バックアップを盎接埩元せずに、バックアップを䜿甚しおデヌタベヌスを構築するスクリプトを䜜成するだけの堎合は...


SQL Serverにこのようなスクリプトを䜜成するための暙準ツヌルはありたせん。ただし、SQL Compareなどのナヌティリティで䜜成できたす。 GUIを䜿甚しお簡単に䜜成



& 'C:\Program Files (x86)\Red Gate\SQL Compare 8\SQLCompare.exe' /Backup1:C:\MyBackups\MyBackupFile.bak /MakeScripts:"C:\MyScripts\MyBackupScript"







できたすが、PowerShellを䜿甚しお䜜成するこずもできたす。SQL仮想埩元にも泚意を払うこずができたす。このナヌティリティを䜿甚するず、あたかもこのバックアップからリカバリプロセスを開始しおいるかのようにSQL Serverにバックアップをマりントできたすが、リカバリ䞭に必芁なすべおのスペヌスを䜿甚する必芁はありたせん。この方法でマりントされたバックアップは、最も䞀般的なデヌタベヌスのように芋え、ナヌザヌにずっお郜合の良い方法でスクリプトを䜜成できたす。



翻蚳者から

, . , - – ( ).

, .



All Articles