問題タブ [sql-server-2000]

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.

0 投票する
8 に答える
10203 参照

sql-server - 参照するテーブルが多すぎるために SQL Server が実行できなかったクエリに遭遇したことがありますか?

エラーメッセージを見たことがありますか?

-- SQL Server 2000

ビューまたは関数の解決のために補助テーブルを割り当てることができませんでした。
クエリ内のテーブルの最大数 (256) を超えました。

-- SQL Server 2005

クエリ内のテーブル名が多すぎます。許容される最大値は 256 です。

はいの場合、何をしましたか?

あきらめた?顧客の要求を簡素化するよう説得しましたか? データベースを非正規化しましたか?


@(クエリの投稿を希望するすべての人):

  1. 回答編集ウィンドウに 70 キロバイトのコードを貼り付けられるかどうかわかりません。
  2. これができたとしても、この 70 キロバイトのコードは 20 または 30 のビューを参照するため、これは役に立ちません。

ここで自慢しているように聞こえたくありませんが、問題はクエリにありません。クエリは最適 (または少なくともほぼ最適) です。削除できるすべての列とすべてのテーブルを探して、それらを最適化するのに数え切れないほどの時間を費やしました。1 つの SELECT ステートメントで入力する必要がある 200 列または 300 列のレポートを想像してみてください (数年前、まだ小さなレポートであったときに、そのように設計されたためです)。

0 投票する
11 に答える
24305 参照

c# - SqlConnection でトランスポート レベルのエラーをどのように処理しますか?

大容量の .NET アプリケーションでは、クエリを実行しようとすると、次の例外が表示されることがあります。

System.Data.SqlClient.SqlException: サーバーに要求を送信するときに、トランスポート レベルのエラーが発生しました。

私の調査によると、これは「ただ起こる」ものであり、それを防ぐためにできることはあまりありません。これは不適切なクエリの結果として発生するものではなく、通常、複製することはできません。データベースへの TCP 接続が何らかの理由で悪くなると、ビジーな OLTP システムで数日に 1 回発生する可能性があります。

例外メッセージを解析し、新しい接続の使用を含めるために、操作全体を最初から再試行することで、このエラーを検出する必要があります。それはどれもきれいではありません。

誰かが代替ソリューションを持っていますか?

0 投票する
1 に答える
732 参照

sql-server-2005 - SharePoint 3.0 を SQL 2005 バックエンドにアップグレードしますか?

SQL Server 2000 データベースをすべて取り除き、古い DB サーバーの用途を変更しようとしています... Sharepoint 3.0 は目を見張るものがあります。

私は Microsoft からの多くのガイドを見て、それらの指示を試しました。また、古き良き exec sp_detach_db / sp_attach_db を試してみましたが、うまくいきませんでした。誰かが実際にこれをやったことがありますか?

0 投票する
3 に答える
10739 参照

sql-server-2000 - SQL Server 2000 に、システム ビューではなくユーザー ビューを取得する sysobjects クエリはありますか?

そのようなクエリが存在すると仮定すると、助けていただければ幸いです。

データベース内のユーザー テーブルとビューに対する "select" および "references" 権限を付与する権限スクリプトを開発しようとしています。このようなセットの各要素に対して「grant」コマンドを実行することで、新しいテーブルやビューがデータベースに追加されたときにアクセス許可を最新に保つことが容易になることを願っています。

0 投票する
7 に答える
1451 参照

sql - SQL Server 2000 で未使用のテーブルを特定するための戦略は?

私は SQL Server 2000 データベースを使用しています。このデータベースには、アクセスされなくなったテーブルが数十ある可能性があります。維持する必要がなくなったデータを消去したいのですが、削除するテーブルを特定する方法がわかりません。

データベースはいくつかの異なるアプリケーションで共有されているため、これらを確認しても、使用されているオブジェクトの完全なリストが得られるとは 100% 確信できません。

可能であれば、私がやりたいことは、一定期間まったくアクセスされていないテーブルのリストを取得することです。読み取りも書き込みもありません。これにどのようにアプローチすればよいですか?

0 投票する
3 に答える
3355 参照

sql-server - SQL Server 2000 - デッドロックのデバッグ

SQL Server 2000 データベースのデッドロックの問題をデバッグして追跡する方法についての提案を探しています。トレース フラグ 1024 と 3605 を使用するように勧められました。

1024 - このトレース フラグは、デッドロックに関与しているロックの種類と影響を受ける現在のコマンドを返します。

3605 - このトレース フラグは、トレース出力をエラー ログに送信します。

特定のストアド プロシージャ、テーブル、およびインデックスは引き続き明らかにする必要があるため、これらのトレース フラグを使用して明らかにすることが目標です。そしてそこから、チューニングが必要なインデックス、クエリをチューニングするためのヒントのロック、および修正が必要な潜在的な sproc バグをよりよく知ることができます。

これをすべて共通の問題に追い込むための他の提案やハッピーエンドの戦争の話はありますか?

0 投票する
12 に答える
44711 参照

sql-server - データベースのログ ファイルがいっぱいです

そのため、SQL Server 2000 で「データベースのログ ファイルがいっぱいです。データベースのトランザクション ログをバックアップして、ログ領域を解放してください。」というエラーが表示されます。

他のサイトで言及されているように、ログを削除せずにこれを修正するにはどうすればよいですか?

追加情報: AutoGrowth を有効にすると、10% の拡張が有効になり、40MB に制限されます。

0 投票する
4 に答える
46204 参照

sql-server - オブジェクトの最終変更日

MS SQL Server 2000 オブジェクトが最後に変更された日付を確認するにはどうすればよいですか?

8 月 15 日以降に変更されたすべてのビュー、プロシージャ、関数などのリストを取得する必要があります。sysObjects では、オブジェクトが作成された日付を確認できますが、最後にいつ変更されたかを知る必要があります。

注意: これは SQL 2000 データベースです。

0 投票する
6 に答える
175 参照

sql-server - どのような状況で、さまざまなユーザーに SQL Server のテーブル内のさまざまな行が表示されるでしょうか?

SQL Server バージョン 2000。

MSSQL Server と通信するデスクトップが多数あります。特定のレコードを検索する場合、正しいデータを返すデスクトップと返さないデスクトップがあります。

SQL コマンドは "SELECT * FROM PODORDH WHERE ([NO]=6141)" です。1 つまたは 2 つのデスクトップで、これはレコードを返します。サーバーおよび他のすべてのデスクトップでは、レコードは返されません。

どの領域を確認する必要がありますか? これが起こる原因は何ですか?

0 投票する
6 に答える
5280 参照

sql-server - レプリケーション用にマークされた SQL テーブルからの行の削除

マージ レプリケーションで使用される MS SQL 2000 テーブルからすべての行を誤って削除してしまいました (テーブルはパブリッシャにあります)。次に、DTS 操作を使用してバックアップ データベースから行を取得し、テーブルを再作成することで、問題を悪化させました。

これにより、次の問題が発生しました。削除操作はクライアントで行を削除するようにマークしますが、DTS 操作はレプリケーション トリガーをバイパスするため、インポートされた行はサブスクライバーで挿入するようにマークされません。パブリッシャー上にあるデータであっても、実際にはサブスクライバーはデータを失います。

したがって、「心配する必要はありません」と思ったので、行をもう一度削除してから、挿入ステートメントを介して正しく追加すると、サブスクライバーに挿入するようにマークされます。

これは私の問題です。「一意のインデックス 'uc1MSmerge_tombstone' を持つオブジェクト 'MSmerge_tombstone' に重複するキー行を挿入できません」というメッセージが表示されるため、DTSed 行を削除できません。エラー。私がやりたいことは、マージ レプリケーション トリガーをバイパスしてテーブルから行を削除することです。これは可能ですか?サブスクライバーが 50 台以上の Windows モバイル デバイスであるため、レプリケーションを削除してやり直したくありません。

編集: Truncate Table コマンドを試しました。これにより、次のエラーが発生します。