問題タブ [sql-server-2005]

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 投票する
3 に答える
10997 参照

sql-server - Sql Server 2005 の新しいインスタンスを作成する方法

Sql Server 2005 のパスワードを忘れました。Windows 認証が有効になっていないため、ログインできません。現在のインスタンスを削除して新しい db インスタンスを作成するにはどうすればよいですか? それとも、より良い解決策が存在しますか?

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

database - SQL2005: テーブルを複数のテーブルにリンクし、Ref Integrity を保持しますか?

これが私のデータベースの単純化です:

次に、QuoteテーブルとJobテーブルに個別に関連する他のテーブルがあります。

ここで、ジョブと見積もりに関して顧客が残した電話メッセージをユーザーが記録できるメッセージテーブルを追加する必要があります。

2 つの同一のテーブル ( QuoteMessageJobMessage ) を作成することもできますが、これは DRY プリンシパルに違反しており、面倒です。

Messageテーブルを 1 つ作成できます。

しかし、これにより、制約を使用して参照整合性を強制することができなくなります。また、後で Linq to SQL を使用して開発側で問題が発生することも予測できます。

この問題に対するエレガントな解決策はありますか、それとも最終的に何かを一緒にハックする必要がありますか?

火傷

0 投票する
22 に答える
28961 参照

sql-server - SQLServer2005でのデッドロックの診断

Stack Overflow SQL Server 2005データベースで、いくつかの有害ではあるがまれなデッドロック状態が発生しています。

プロファイラーを接続し、デッドロックのトラブルシューティングに関するこの優れた記事を使用してトレースプロファイルを設定し、多数の例をキャプチャしました。奇妙なことに、デッドロック書き込みは常に同じです:

他のデッドロックステートメントはさまざまですが、通常は、投稿テーブルの簡単で単純な読み取りです。これは常にデッドロックで殺されます。これが例です

完全に明確にするために、書き込み/書き込みのデッドロックは発生していませんが、読み取り/書き込みが発生しています。

現在、LINQクエリとパラメータ化されたSQLクエリが混在しています。with (nolock)すべてのSQLクエリに追加しました。これはいくつかの助けになったかもしれません。また、昨日修正した1つの(非常に)不十分なバッジクエリがありました。これは、毎回実行するのに20秒以上かかり、その上で毎分実行されていました。これがいくつかのロックの問題の原因であることを望んでいました!

残念ながら、約2時間前に別のデッドロックエラーが発生しました。同じ正確な症状、同じ正確な犯人の書き込み。

本当に奇妙なことは、上記のロッキング書き込みSQLステートメントが非常に特定のコードパスの一部であるということです。新しい回答が質問に追加された場合にのみ実行されます。親の質問が新しい回答数と最終日/ユーザーで更新されます。これは、明らかに、私たちが行っている膨大な数の読み取りに比べてそれほど一般的ではありません!私の知る限り、アプリ内のどこにも大量の書き込みは行っていません。

NOLOCKは一種の巨大なハンマーであることに気づきましたが、ここで実行するクエリのほとんどはそれほど正確である必要はありません。ユーザープロファイルが数秒古くなっていてもかまいませんか?

スコット・ハンゼルマンがここで説明しているように、LinqでNOLOCKを使用するのは少し難しいです。

私たちは使用するという考えでいちゃつく

すべてのLINQクエリにこのセットが含まれるように、ベースデータベースコンテキストで。それがなければ、私たちが行うすべてのLINQ呼び出し(まあ、それらの大部分である単純な読み取り呼び出し)を3〜4行のトランザクションコードブロックでラップする必要があります。これは醜いです。

SQL 2005での些細な読み取りによって、書き込みがデッドロックする可能性があることに少し不満を感じていると思います。書き込み/書き込みのデッドロックが大きな問題であることがわかりましたが、読み取りますか?ここでは銀行サイトを運営していません。毎回完璧な正確さを要求するわけではありません。

アイデア?考え?


すべての操作に対して新しいLINQtoSQL DataContextオブジェクトをインスタンス化していますか、それともすべての呼び出しで同じ静的コンテキストを共有していますか?

ジェレミー、ほとんどの場合、ベースコントローラーで1つの静的データコンテキストを共有しています。

すべてのコントローラーに対して、またはページごとに、または..より頻繁に新しいコンテキストを作成することをお勧めしますか?

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

sql - SQL Server 2005 - プログラムでテーブルをエクスポートします (.sql ファイルを実行して再構築します)

テーブルを含むデータベースがあります Customers いくつかのデータ

を持っています オフィスに別のデータベースがありますが、すべて同じですが、私のテーブル Customers は空

です SQL Server 2005 (T-SQL) ですべてを取得する sql ファイルを作成するにはどうすればよいですか最初のデータベースのCustomersテーブルで、たとえばbuildcustomers.sqlを作成します。そのファイルを圧縮し、ネットワークを介してコピーし、SQL Serverで実行すると出来上がりです! my table Customers is full

データベース全体に対して同じことを行うにはどうすればよいですか?

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

sql-server - ローカルまたは一時ファイルを使用せずにストアド プロシージャの出力を FTP 上のファイルに直接書き込む方法は?

ストアド プロシージャの結果を取得し、それらを FTP の場所にある CSV ファイルに配置したいと考えています。

ただし、問題は、FTP 経由で転送できるローカル/一時ファイルを作成できないことです。

私が取っていたアプローチは、SSISパッケージを使用して一時ファイルを作成し、パック内にファイルをFTP転送するFTPタスクを含めることでしたが、DBAは一時ファイルをサーバーに作成することを許可していません.

Yaakov Ellis への返信

DBA が動作していないサーバー上の共有を少なくとも使用できるように DBA を説得するか、DBA がどのように使用するかを尋ねる必要があると思います。

への返信で Kev

私はCLR統合のアイデアが好きですが、DBAはそれが何であるかさえ知らないと思いますそしておそらく彼らもそれを許可しないでしょう. しかし、おそらくスケジュール可能な SSIS パッケージのスクリプト タスク内でこれを行うことができます。

0 投票する
5 に答える
15636 参照

sql-server - SQL Server ログインを追加できない

と言ってSQL Serverログインを作成しようとすると

このエラーが発生します

サーバー プリンシパル 'ourdomain\SQLAccessGroup' は既に存在します。

ただし、このコードを試すと

このエラーが発生します

ログイン 'ourdomain\SQLAccessGroup' は削除できません。存在しないか、権限がないためです。

このコードを実行しているユーザーはシステム管理者です。さらに、ユーザーourdomain\SQLAccessGroupはこのクエリに表示されません

誰にもアイデアはありますか?

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

sql-server - SQL Server Management Studio でマッピング テーブルを作成するにはどうすればよいですか?

SQL のテーブル設計について学んでいますが、他の 2 つのテーブル間に多対多の関係を確立するためにマッピング テーブルを作成する方法を知りたいですか?

マッピング テーブルには 2 つの主キーが必要だと思いますが、主キー列は 1 つしかないように見えるので、作成方法がわかりません。

データベース ダイアグラム機能を使用して、テーブルとリレーションシップを作成しています。

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

sql-server - Is there an open source SQL Server DB compare tool?

I'm working on an open source project that uses SQL Server 2005 as the data store. We need a DB compare tool to generate diff scripts to be able to upgrade a DB from one version to another.

Is there an open source or free SQL Server DB diff tool out there that generates a convert script?

0 投票する
5 に答える
1662 参照

sql - Comparing effective dates in SQL

Wondering if there is a better why in the WHERE clause of choosing records when you need to look at effective start and end dates?

Currently this how I've done it in the past on MS SQL Server. Just worried about the date and not the time. I'm using SQL Server 2005.

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

c# - SQL Server (C# クライアント) に大量のデータを一括挿入する最速の方法は何ですか?

C# クライアントが大量のデータを SQL Server 2005 データベースに挿入すると、パフォーマンスのボトルネックが発生し、プロセスを高速化する方法を探しています。

私はすでに SqlClient.SqlBulkCopy (TDS に基づく) を使用して、回線を介したデータ転送を高速化しており、これは非常に役立ちましたが、さらに多くのことを探しています。

次のような単純なテーブルがあります。

ContainerId と BinId が各チャンクで一定で、シーケンス値が 0-n で、値が主キーに基づいて事前に並べ替えられている、平均約 300 行のチャンクにデータを挿入しています。

%Disk time パフォーマンス カウンターは 100% で多くの時間を費やしているため、ディスク IO が主な問題であることは明らかですが、得られた速度は未加工のファイル コピーよりも桁違いです。

次の場合に役立ちますか?

  1. 挿入中に主キーを削除し、後で再作成します
  2. 同じスキーマで一時テーブルに挿入し、定期的にメイン テーブルに転送して、挿入が行われるテーブルのサイズを小さく保ちます。
  3. 他に何か?

-- いただいた回答に基づいて、少し明確にさせてください。

Portman: データがすべてインポートされたら、その順序でデータに順次アクセスする必要があるため、クラスター化インデックスを使用しています。データのインポート中にインデックスが存在する必要は特にありません。インポートのために制約を完全に削除するのではなく、挿入中に非クラスター化 PK インデックスを使用する利点はありますか?

Chopeen: データは他の多くのマシンでリモートで生成されています (私の SQL サーバーは現在約 10 台しか処理できませんが、もっと追加できるようにしたいと思っています)。プロセス全体をローカル マシンで実行するのは現実的ではありません。出力を生成するために 50 倍の入力データを処理する必要があるからです。

Jason: インポート プロセス中にテーブルに対して同時クエリを実行していません。主キーを削除してみて、それが役立つかどうかを確認します。