タグ付けされた質問 「sql-server-2005」

SQL Server 2005(メジャービルドバージョン9.00.xxxx)。sql-serverにもタグを付けてください。

6
同一の(?)SQL Server 2005マシン。クエリは一方で2秒、他方で15分かかります
環境: SQL Server 2005を実行している2つの32ビットWindows Server 2003 R2マシンがあります。ハードウェア構成は、Xeon 5160 CPU、4GB RAM、13GB RAID0を備えた同一サーバーです。AWEおよび/ 3GBフラグは有効ではありません。 サーバーは、事前に定義されたインストールチェックリストを使用して並列にセットアップされ、インストールされたすべてのソフトウェアは両方のマシンで同じです。 確認する必要があるSQLサーバーのインストール設定とパッチレベルはすべて同じです。1つの違いは、TEMPDBが高速マシンで400MB、低速マシンで1.2GBであることです。ただし、どちらの場合も、TEMPDBの割り当ては行われていません。 問題: 一方では2秒、もう一方では15分で実行されるストアドプロシージャがあります。追加の15分間、ディスクアクティビティはほとんどないか、メモリ使用量は変化しませんが、1つのCPUコアが常に100%に固定されます。 この動作は、データベースが一方からバックアップされ、他方に復元された場合でも持続します。 これはストアドプロシージャであるため、アクティビティモニタとプロファイラは、ストアドプロシージャのどこでこの高CPUアクティビティが発生しているかについての詳細を表示しません。 質問: 他に何を見るべきでしょうか? ファローアップ: スローは、次のカーソル定義のFETCH NEXTステートメントで発生します。 DECLARE C CURSOR FOR SELECT X, Y FROM dbo.A WHERE X NOT IN (SELECT X FROM dbo.B) AND Z <=0 ... <snip> ... FETCH NEXT FROM C …

2
SQL Server 2005のNullable列の一意の制約
私が取り組んでいるこの1つのプロジェクトでは、特定のフィールドを一意に設定する必要があります(問題ではありません!)が、フィールドがnullの場合、制約を無視する必要があります。Sql Server 2008では、以下に示すようにフィルター選択されたインデックスを使用しますが、これは以前のバージョンのSQLでは使用できません! CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC ON [User] (pinNr) WHERE UserName IS NOT NULL しかし、これはSQL Server 2005で利用できるとは思いません。実際、このブログ投稿では、トリガーを使用して一意性を確認する回避策があることを示しています。誰もこれの例を持っていますか?または多分代替案? 残念ながら、SQl Server 2008へのアップグレードは、この特定のクライアントのオプションではありません!!

6
誰かが実際にsqlcmdモードを使用しましたか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 SQLServer 2005は、SQLCMD Mode msdn linkと呼ばれるものを導入しました 。 一見すると、このモードは、コマンドラインバッチファイルからの変数置換と、OSコマンドへのエスケープを追加します。 この機能は、環境、実稼働、またはテストで使用されていますか?

3
トリガーの発火順序を変更するには?
本当にトリガーを使用することはめったにありません。だから私は初めて問題に遭遇した。トリガーを持つテーブルがたくさんあります(すべてのテーブルに2つ以上)。すべてのテーブルのトリガーを起動する順序を知り、変更したいと思います。この情報を取得することは可能ですか? 追加: ここに私が見つけたmssqltips に関する良い記事があります。



1
この逆さ銀色の鍵のアイコンは何ですか
SQL Server 2005のサードパーティサーバーとデータベースを継承して、レポートとダッシュボードを生成できるかどうかを調べました。 あるテーブルで、新しいアイコンを見つけました。他の主キーと外部キーと並んで、青銀の逆さまのキーです。 右クリックすると、コンテキストメニューに[スクリプト制約]のオプションが表示されますが、[変更]しようとすると、列のデザインフォーム(主キーなど)が開きますが、制約ではなく「インデックス」セクション。 誰かがそれが何と呼ばれ、何に使用されているか知っていますか?

2
ビット列にインデックスを追加すると、挿入が大幅に遅くなりますか?
約100万から500万レコードのテーブルがあります。そのレコードのごく一部では、ビット列の1つが「TRUE」に設定されています。そのレコードをすばやく見つける必要があります。インデックスはこの列の検索を高速化できると思いますが、INSERTを恐れています。したがって、私の質問です。 データベースは一種のデータウェアハウスのように機能するため、多くのSELECTがあり、小さい(1日あたり最大10〜20)が、非常に大きいINSERT(一度に最大20万レコード)があります。データベースへのインポートの時間が長くなるのではないかと心配です。

1
プロシージャキャッシュヒット率を向上させる方法は?
プロシージャキャッシュヒット率が95%未満であると私が知ることができることは問題です。私のボックスでは、値は85から95%に移動します。 この問題を解決するにはどうすればよいですか?サーバーには十分なRAMがあるようですので、問題にはなりません。他に何ができますか?

2
1つのデータベースをフェイルオーバーした場合、同じミラーエンドポイントを共有する他のデータベースもフェイルオーバーしますか?
単一のSQL Serverインスタンスでミラーリングするための2つのデータベースセットアップがあります。テストデータベースと本番データベースです。どちらも、まったく同じエンドポイントを使用して別のサーバーにミラーリングされます。 テストデータベースのデータベースプロパティに移動して[フェールオーバー]ボタンをクリックすると、両方のデータベースがミラーエンドポイントを共有し、それらのサーバーネットワークアドレスプロパティが同じであるため、本番データベースもフェールオーバーしますか? 2番目のデータベースのミラーリングをセットアップするときに、何も新しく構成する必要がなかったので心配です。既存の情報をすべて使用しただけです。 データベースプロパティの[フェールオーバー]ボタンを使用すると、そのエンドポイントを使用するすべてのデータベース、またはプロパティを表示している特定のデータベースのみがフェールオーバーされますか?

2
SQL Serverバックアップが失敗しました。エラー:3041、重大度:16、状態:1
まず、私はstackexchangeに非常に慣れていないので、ご容赦ください。 SQL Server 9.0.4060を実行しています。 私の問題は、SQL Serverのバックアップが多くのデータベースで失敗し続けることです。 メンテナンスプランは、さまざまなバックアップジョブに対して実行されます。 DIFFバックアップは毎日20:30に、フルバックアップは毎週日曜日の20:30に。 バックアップを完了できないデータベースごとに次の2つのエラーが発生します。 Date 06-11-2012 20:31:06 Log SQL Server (Current - 07-11-2012 11:43:00) Source Backup Message BACKUP failed to complete the command BACKUP DATABASE (dbname) WITH DIFFERENTIAL. Check the backup application log for detailed messages. Date 06-11-2012 20:31:06 Log SQL Server (Current - 07-11-2012 …

2
公開された複製DBのDB互換性レベルを90から100に変更した場合の影響
現在、互換性レベル90(2005)で動作している一連の公開データベースを備えたSQL Server 2008 R2サーバーがあります。 サブスクリプションデータベースもSQL Server 2008 R2ですが、宛先データベースは互換性レベル100に設定されており、レプリケーションは正常に機能しています。 パブリッシュされたデータベースの互換性レベルを変更した場合、レプリケーションに何らかの影響がありますか、それともすべてのサブスクリプションを再初期化してレプリケーションを再開した場合だけでしょうか? パブリッシュされたデータベースの互換性レベルを変更すると、レプリケーションストアドプロシージャの機能が少し変わる可能性があると思いますが、100%確実ではありません。 これは事実ですか?

1
解放されないIOCPリスナー
「Non-yielding IOCP Listener」が何を示しているか誰か知っていますか? 私たちのSQL Serverにはバグチェックダンプがありました。 ===================================================================== BugCheck Dump ===================================================================== This file is generated by Microsoft SQL Server version 9.00.5292.00 upon detection of fatal unexpected error. Please return this file, the query or program that produced the bugcheck, the database and the error log, and any other pertinent information with a …

2
ファイル(BLOB)が多すぎるSQL Server DBを処理する方法は?
シナリオ: ASP.NETアプリケーションにサービスを提供するSQL Server 2005データベース(別のWebサーバー上)。 データベース: DBには、約5GBの「通常の」データと約15GBの「ファイル」があります(例:画像(BLOB)として保存された200k PDFなど)。より多くのファイルがユーザーによってアップロードされており、急速に多くのディスク領域を消費しています(DBは、今後数か月で50GBに増加する可能性があり、ほとんどがファイルです)。 懸念事項: DBに非常に多くのファイルを保存すると、既に問題が発生しています(例:データベースの合計サイズが大きいと、DB全体のバックアップと展開が時々難しくなります。)。 そして、さらに問題が発生するのではないかと心配しています。(例:パフォーマンスの問題-おそらく、DB全体をRAMに保持できないことが原因でしょうか?) 質問: この問題に対してどのような技術的解決策を提案しますか?ファイルをファイルシステムに保存しますか?データベースを2つに分割し、ファイル用に大きくて遅いファイルを持っていますか? 必要に応じてさらに詳細: これらのファイルはそれほど重要ではなく、非常に高速なアクセス時間を必要としません。現在、数秒で十分ですが、現在1時間あたり数十の選択があります。DBの他の「通常の」データには、毎秒何回も必要な情報が含まれています。

2
「Insert Query」の前に「Begin Transaction」がテーブル全体をロックするのはなぜですか?
SQL Server 2005 Expressを使用しています。 シナリオでは、ストアドプロシージャのステートメントのBegin Transaction直前にコマンドを追加しましたINSERT。このストアドプロシージャを実行すると、テーブル全体がロックされ、これがINSERT完了するまで、すべての同時接続でハングした表示が表示されました。 テーブル全体がロックされるのはなぜですか。また、SQL Server 2005 Expressでこの問題を解決するにはどうすればよいですか。 編集済み クエリは次のとおりです。 INSERT INTO <table2> SELECT * FROM <table1> WHERE table1.workCompleted = 'NO'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.