問題タブ [tempdb]
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-2008-r2 - TempDB には 2 つのデータ ファイルがありますが、SQL Server はそれを認識していませんか?
私は SQL Server 2008 R2 ボックスを使用しています。
SQL Serverによると、私のTempDB
見た目は次のようになります。
Tempdb
これで問題ありません... と の 2 つのファイルがあることを除いTempdb.mdf
てTempdb2.mdf
。
のどこにも見つからずsys.masterdatafiles
、Windows で削除できません。Windows が使用していると表示され、最初のtempdb
ファイルが大きくなると、それも大きくなるため、SQL Server が使用していることがわかります。
SQL Server でこのファイルを見つけて使用しないようにするにはどうすればよいですか?
sql-server - tempdb.mdfファイルを手動で削除しても安全ですか?
SQL Server 2008で、サイズが約1GBのCSVを一括挿入しようとしています。私がそうしている間、それは巨大なtempdb.mdfファイルを作成しています。現在、この1GBのCSVファイルは35GBです。
Microsoftが提供するさまざまなソリューションを試しましたが、機能していないようです。
非本番システムでtempdb.mdfファイルを「縮小」する最も簡単な方法は、SQLサービスがダウンしているときにファイルを削除することだと思います。
それは何か問題を引き起こすだろうか?もしそうなら、どのような問題が予想されますか?
編集
1)これがCSVの行です(約400万行あります):
2) DB記述テーブル情報は次のとおりです(エキゾチックなものはなく、トリガーもありません):https ://gist.github.com/mlissner/4cd13db5a1bbae91dd50
3)データベースをSimpleRecoveryモデルに設定しました。
sql-server - 一時ストレージ上の Azure VM SQL Server Tempdb
VM を使用して Azure クラウドに SQL サーバーをセットアップしています。data/logs/tempdb の最適なセットアップを決定していたとき、Azure が提供する一時ストレージ ドライブに tempdb を配置することを推奨する多くのブログ投稿に出くわしました。ただし、より詳細な調査により、これを行うべきではないと言われているMicrosoft からのこの情報が明らかになりました。
したがって、次の質問が残ります。
- tempdb を一時ストレージに配置する必要があるかどうかについて、現在の最終的な回答を提供できる人はいますか?
- この件に関して、明確なパフォーマンス結果を持っている人はいますか?
- tempdb を一時ストレージに配置すると、どのような副作用が生じる可能性がありますか?
sql - 待機タイプとして IO_Completition を使用したサスペンド モードでクエリがスタックする
SQL Server 2008r2 でクエリを実行しています。
タスクの状態: 一時停止中 (実行中に変更されることもありますが、ほとんどが一時停止中です)
待機タイプ: IO_Completion。
tempdb で同時に実行されている別のクエリがあります。
この問題を解決する方法はありますか?
ありがとう
optimization - tempdb ログ ファイルを最適化する
16 コアと 200 GB 以上のメモリを備えた専用の DB サーバーを用意します。
tempdb を頻繁に使用しますが、通常は 4 GB 未満のままです
最近tempdb専用のSSDストライプを追加
このページに基づいて、複数のファイルを作成する必要があります
複数行ファイルを理解する。
これが私の質問
です。複数の tempdb ログ ファイルも作成する必要がありますか?
「CPUごとに1つのデータファイルを作成する」と言っています。
だから私の考えでは、データは行(ログではない)ファイルを意味します。
sql-server - サービスを開始してから初めてこのクエリが遅くなるのはなぜですか?
Ok。これが私が実行しようとしているものです:
これは、「数値表を作成する」クエリの 1 つです。
これが問題です。SQL Server サービスが (再) 開始された直後にこれを実行すると、永遠に時間がかかります。10秒のように永遠ではなく、もっと速くしたい. 永遠に、偶然に2時間以上放置したことがあり、それでも殺さなければなりませんでした。私はそれが二度と戻ってこないことを考えています。通常、私のマシンではこれを実行するのに 2 秒もかかりません。
ただし、代わりにこれを行うと:
その後、期待どおりに動作します。最初のSELECT
実行は 2 秒未満で実行され、2 番目の実行も同様です。3 テーブル バージョンを使用しないのはなぜですか? sys.objects
100 万の結果行に等しくなるようにその数を 3 乗するのに十分なエントリがないためです。しかし、それはもはや重要なことではありません。
とにかく、ここからはその秒を繰り返しても構いませんDROP
/SELECT…INTO
好きなだけ、問題ありません。どういうわけか、その最初の 3 つのテーブルのバージョンは永遠に問題ありませんでした。少なくとも、次回サービスが再起動されるまで、および/またはマシンが再起動されるまで。その時点で、最後SELECT
にもう一度実行すると、元に戻ることはありません。また。
ここからさらに奇妙になり始めます。最初SELECT
に 2 つのテーブルのバージョンに戻すと、次のようになります。
これにより、2回目のSELECT
実行も永遠になります。 1 テーブル バージョンと同様です。どういうわけか、その 3 テーブル バージョンは魔法のようです!
ここで何が起こっているのですか?なぜこれが遅いのですか?
(そして、私が で永続的なテーブルを作成していると誰かが指摘する前にtempdb
、はい、知っています。実際の一時テーブルに変更しても違いはありません。)
追加情報:
- これは SQL Server 2012 開発者版です
EXEC sp_WhoIsActive @find_block_leaders = 1, @sort_order = '[blocked_session_count] DESC'
(XMLとしてスクリプト化されているため、ここで読むことができます)の出力は次のとおりです。
追加情報:
これを tempdb に入れる理由は、それが未使用のインストールで実行されることを意図したスクリプトの一部であり、tempdb がそこにあることが保証されているためです。前述したように、グローバル一時テーブルに変更しても違いはありません。