問題タブ [transaction-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL 2005 以降でトランザクション ログ ファイルに使用された最後のバックアップの場所を見つけることは可能ですか?
データベースを使用する製品があり、メジャー リリースが行われるたびに、データベースで使用されるアップグレード スクリプトの 1 つがストアド プロシージャの 1 つを呼び出します。このストアド プロシージャのジョブは、フルテキスト インデックスを削除してから再作成することで、すべての変更 (つまり、新しいリリースでは、インストールされます。
問題は、クライアントがデータベースを完全復旧モードに設定している場合、フルテキスト インデックスを再作成しようとした時点で失敗することです。
アップグレード手順をできる限りシンプルにするために、IT 担当者がファイル名に従って一連のスクリプトを実行する以外に何もする必要がないようにしたいと思います (つまり、001 - xxx.sql を実行し、次に 002 xxx を実行します)。 .sqlなど...)。
したがって、私が試してみようと思ったのは、最後のトランザクション ログ バックアップが行われたのと同じ場所にバックアップすることによって、データベースが完全復旧モードに設定されている場合に、削除/再作成する SP がトランザクション ログのバックアップを行うことでした。問題は、最後の場所をどのように見つけるかです。
sys.sysdatabases と msdb..backupset の使用を示すスクリプトを検索して見つけましたが、これらのテーブルには必要な情報がないようです。
何か案は?それは可能ですか?
sql-server-2008 - 更新ステートメントの後に変更された値を表示する
それが起こった後、テーブルの更新コマンドの変更を表示することが可能かどうか疑問に思っていますか?
トランザクションログにはこの種の情報が保存されますか。つまり、これは以前の値/現在の値です。これは新しい値/変更された値です。
これが可能かどうかわからない。サーバーはmssql2008です
sql-server - トランザクション ログなしで SQL Server DB を復元する
SQL Server 2008 ファイルが与えられた場合、トランザクション ログなしでファイルからのみデータ ファイル.bak
を復元する方法はありますか?.bak
私が尋ねている理由は、このデータベースのトランザクション ログ ファイルのサイズが非常に大きく、私がすぐに利用できるディスク容量を超えているからです。
私はトランザクション ログには関心がなく、未完了のトランザクションには関心がありません。通常、データベースを復元したら、ログをゼロに縮小します。しかし、そもそもログを作成するための十分なディスク容量がない場合、それは役に立ちません。
私が必要としているの.bak
は、トランザクション ログではなく、ファイルからデータのみを復元するように SQL Server に指示する方法です。それを行う方法はありますか?
私はファイルの生成を制御できないことに注意してください.bak
-それは外部ソースからのものです。.bak
ファイルを生成する前にトランザクション ログを圧縮することはできません。
sqlite - iCloud 全体での SQLite 更新の伝播の遅延
Recipes サンプル アプリのコードを使用してライブラリ スタイルの SQLite iOS アプリを作成しましたが、動作します。1 つのデバイスの更新は、(最終的に) 同じアプリを実行している他のすべてのデバイスに確実に伝達されます。私は 1 時間に 1 時間に複数のイベントでそれをテストしてきましたが、すべてのログ トランザクションはすべてのデバイスに到達します。ただし、更新が反映されるまでの時間は大きく異なります。アプリを立ち上げてそのままにしておくと、クラウドが更新トランザクションをアプリに送信するまでに比較的長い時間がかかる可能性があるため、画面に表示されているものは同じ長い間古いデータのままです。さらに悪いことに、データが古くなっている兆候はありません。
ただし、アプリに変更をクラウドに投稿させると、クラウドからの更新は比較的すぐに反映されます。これは、無意味な変更を定期的にデータベースに投稿するハックを組み込むことができることを示唆していますが、それでもすべての変更を受け取ったかどうかはわかりません。
最初の質問: トランザクションを強制的に伝播させるメソッドは存在しますか? このスレッドはそうではないことを示唆しています。
2 番目の質問: ローカル データベースが古くなっているかどうかを検出する方法はありますか? クラウド コピーを絶え間なくくすぐりたくはありませんが、データベースが最新になるまでときどきそうするのは、それほど悪い考えではないかもしれません。
sql-server - SSIS ETL プロセスのトランザクション ログ サイズを減らす方法は?
約 10 GB の SQL Server 2008 データベースの場合、トランザクション ログのサイズが約 70 GB に増大するという問題があります。これは、SSIS 2008 で実行される ETL プロセスのステージング データベースで発生します。このプロセスは完了するまでに約 8 時間かかり、毎週実行されます。
70 GB はシステムの物理的限界に近づいており、IO だけでパフォーマンスが低下します。
ETL は実行のたびに最初からやり直し、プロセスの失敗時に以前のデータベース バックアップを復元するため、ステージング データベースの復旧にログを使用することはありません。この時点で、増分 ETL プロセスを実装するのは困難です。これは、実行ごとに構成が変更され、計算の多くまたはすべてが変更される可能性があるためです。
データベースの復旧モデルはシンプルに設定されています。SISS には、ステージング データベースへの排他的アクセスを許可できます。
SISS を微調整することで何が期待できるのだろうか。
いくつかの考慮事項:
- SISS によってデータベースへの複数の接続が確立されているようです。これは、パッケージのトランザクション分離レベルとトランザクションの「長さ」を調整すること、つまり特定のステップが完了した後にコミットすることをどのように妨げる可能性がありますか?
- シングル ユーザー モードで実行すると、プロセスのパフォーマンスが向上しますか? SISSはそれに対処できますか?
- Transaction = Unsupported を設定して実行するようにパッケージを構成するのが賢明でしょうか?
この問題に関する経験、考え、または推奨事項はありますか?
core-data - iCloud Core Data エラーの処理
ライブラリ スタイルの iCloud + Core Data セットアップがあります。私が取り組んでいるアプリには、ログイン画面の背後にあるユーザー データが含まれています。ユーザーがログインすると、Persistent Store Coordinator がインスタンス化され、iCloud ストアが追加されます。
これが私のユースケースと問題です:
1) アプリの使用を開始します。データは iCloud に保存されます。2) アプリを削除します。3) デバイスに再度ビルドし、アプリにログインします。トランザクション ログが呼び出され、ローカル ストアにデータが再作成されることを期待します。4) 低速の接続を使用すると、ファイルのダウンロードが失敗したことを示すエラーがデバッグ ログに何度も表示されます... 5) アプリが空で、バックアップの復元に失敗したように表示されます。
私の設定は確かに正しく、降下接続で 100% 動作します。
iCloudにこれらのファイルのダウンロードをすぐに再試行させる方法はありますか? ユーザーがアプリにアクセスできるようにする前に、これらのファイルが正常にダウンロードされたことを確認するために使用できるコールバックはありますか?
アドバイスをいただければ幸いです。ありがとう。
sql - SQL Server: 1 回のトランザクションで大量のデータを操作する
SQL Server に最大 10 億行の非常に巨大なテーブルがあります。次のような単純なコードを使用して、このテーブルから別のテーブルにデータを移行する必要があります。
1回の取引で大丈夫でしょうか?この状況であなたならどうしますか?
sql-server - SQL-インデックスとトランザクションログに対するパーティション化の影響
質問:トランザクションログに入力せずにテーブルにインデックスを適用できるかどうか疑問に思っています。
詳細:800GBのテーブルがあります。数か月前、私はそれにインデックスを適用しに行き、トランザクションログがいっぱいになりました(明らかな理由で-それを試みることすら馬鹿でした)。代わりに、テーブルをもう一度作成し、必要なインデックスを適用してから、レコードをコピーする必要がありました。
次に、このテーブルにパーティションを設定します。クラスター化インデックスを削除し、新しいクラスター化インデックスをパーティション化レイアウトに適用しても、トランザクションログがいっぱいになるかどうか疑問に思っています(パーティションごとに1,000万行あると仮定します)。または、SQLサーバーがインデックスをより速く終了し、チェックポイントを実行できるようにするインデックスもパーティション化されるため、tlogはいっぱいになりませんか?
誰かが何か考えを持っていますか?それ以外の場合は、テーブルを再作成し、パーティションを適用して再入力するだけですが、明らかにそれははるかに複雑です。
ありがとう!
sql - クエリを使用して SQL Server 2005 のステートメントを監視する
最後の再起動以降、特定のデータベースでユーザーが実行したステートメントを取得するクエリを作成する必要があります。
まず、トランザクション ログを返す ::fn_dblog(NULL,NULL) からすべてのトランザクションを抽出します。この後、次の 2 つのクエリを使用して、キャッシュされたクエリを取得しようとしました。
私の考えは、トランザクションを生成できるステートメントをそのトランザクションと結合し、他のステートメントも表示することです。問題は、クエリの情報を取得しようとする最初のクエリがデータベースを識別する情報を提供せず、他のクエリがそれをトランザクション ログに結合するために使用できる情報を提供しないことです。
この特定の DBMS についての事前の知識がなくても、このクエリを作成しようとしているので、概念上の誤りをお許しください。前もって感謝します。
database-backups - データベースのバックアップ、トランザクションログの削除、縮小、非クラスター化インデックスの削除、テーブルの再構築フィルファクター100%、圧縮
まず、私は開発者であり、バグのテスト/修正のためにデータベースのバックアップを取っているところです。
削除するバックアップのサイズを取得したいのは、現時点では、バックアップをイントラネット経由で転送するよりも高速に投稿できるためです。開発システムでバックアップを復元した後、最初に行うことはドロップです。とにかくトランザクションログを縮小します。
SQL Server Managment Studio 2005を使用して、トランザクションログまたは非クラスター化インデックステーブルを含まないバックアップを作成し、バックアップ内のテーブルを再構築してフィルファクターを100%にしてから、圧縮する方法はありますか?バックアップファイル?
または、少なくとも、トランザクションログを含まないバックアップを取る方法はありますか?