問題タブ [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 投票する
11 に答える
74334 参照

sql-server - SQL Server でカーソルを使用することが悪い習慣と見なされるのはなぜですか?

SQL 7 の時代にパフォーマンス上の理由があることは知っていましたが、SQL Server 2005 にも同じ問題が存在するのでしょうか? ストアド プロシージャに個別に処理したい結果セットがある場合でも、カーソルは不適切な選択ですか? もしそうなら、なぜですか?

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

sql - データベースからデータベースへのリレーショナル データのコピー

編集:最初に説明したようなXMLの方法があるかどうかわからないので、これを完全に言い換えましょう。

さらに別の編集:これは繰り返し可能なプロセスである必要があり、C# コードで呼び出すことができるように設定できる必要があります。

データベース A には、PK と FK によって関連付けられた一連のテーブルがあります。子テーブルと孫テーブルを持つ親テーブルとしましょう。

データベース A から同じ名前のテーブルとフィールドを持つデータベース B に一連の行をコピーしたいと考えています。各テーブルについて、データベース B の同じテーブルに挿入したいのですが、同じ主キーを使用するように制限することはできません。 コピー ルーチンは、データベース B の各行に対して新しい PK を作成し、それらを子行に伝達する必要があります。つまり、データ間の同じ関係を維持していますが、まったく同じ PK と FK ではありません。

これをどのように解決しますか?私は提案を受け入れます。SSIS が完全に除外されているわけではありませんが、これとまったく同じことを行うようには見えません。また、LINQ でのソリューション、型指定された DataSet の使用、XML の使用、または SQL Server 2005 や C# (.NET 3.5) で動作するほぼすべてのソリューションに対してオープンです。最適なソリューションは、SSIS を必要とせず、多くのコードを記述する必要もありません。しかし、この「最善の」解決策が存在しない可能性があることは認めます。

(私は自分でこのタスクを作成したわけでも、制約を作成したわけでもありません。これが私に与えられた方法です。)

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

asp.net - SQL Server 2005 の暗号化、asp.net、およびストアド プロシージャ

SQL Server 2005、asp.net、および ado.net を使用して Web アプリケーションを作成する必要があります。このアプリケーションに保存されているユーザー データの多くは、暗号化する必要があります (HIPAA を参照)。

以前は、暗号化が必要なプロジェクトでは、アプリケーション コードで暗号化/復号化を行っていました。ただし、これは通常、パスワードやクレジット カード情報を暗号化するためのものでした。このアプリケーションでは、いくつかのテーブルのはるかに多くの列を暗号化する必要があるため、特に SQL Server 2005 がいくつかの暗号化タイプをネイティブでサポートしていることを考えると、暗号化の責任をデータ レイヤーにプッシュする方がパフォーマンスが向上すると思います。(誰かが実際の経験的証拠を持っていれば、そうではないと確信できます。)

私は BOL に相談したことがありますが、Google の使い方にはかなり慣れています。したがって、オンラインの記事や MSDN のドキュメントへのリンクは必要ありません (既に読んでいる可能性があります)。

これまでに頭を悩ませてきた 1 つのアプローチは、証明書を使用して開かれる対称キーを使用することです。

したがって、1 回限りのセットアップ手順は次のとおりです (理論的には DBA によって実行されます)。

  1. マスターキーを作成する
  2. マスター キーをファイルにバックアップし、CD に書き込み、オフサイトに保存します。
  3. マスター キーを開き、証明書を作成します。
  4. 証明書をファイルにバックアップし、CD に書き込み、オフサイトに保存します。
  5. 証明書を使用して、選択した暗号化アルゴリズムで対称キーを作成します。

次に、ストアド プロシージャ (または Management Studio を介した人間のユーザー) が暗号化されたデータにアクセスする必要があるときはいつでも、最初に対称キーを開き、tsql ステートメントまたはバッチを実行してから、対称キーを閉じる必要があります。

次に、asp.net アプリケーションに関する限り、そして私の場合はアプリケーション コードのデータ アクセス レイヤーに関する限り、データ暗号化は完全に透過的です。

だから私の質問は:

  1. 開いて、tsql ステートメント/バッチを実行し、対称キーをすべて sproc 内で閉じますか? 私が見る危険は、tsql の実行で何か問題が発生し、コード sproc の実行がキーを閉じるステートメントに到達しない場合です。これは、sproc が実行された SPID を SQL が強制終了するまで、キーが開いたままになることを意味すると思います。

  2. 代わりに、実行する必要がある特定のプロシージャに対して 3 つのデータベース呼び出しを行うことを検討する必要がありますか (暗号化が必要な場合のみ)。キーを開くための 1 回のデータベース呼び出し、sproc を実行するための 2 回目の呼び出し、およびキーを閉じるための 3 回目の呼び出し。(開いているキーが最終的に閉じられる可能性を最大化するために、各呼び出しは独自の try catch ループでラップされます。)

  3. クライアント側のトランザクションを使用するために必要な考慮事項はありますか (私のコードはクライアントであり、トランザクションを開始し、いくつかの sproc を実行し、成功すると仮定してトランザクションをコミットすることを意味します)?

0 投票する
9 に答える
110233 参照

sql-server - Microsoft SQLServer2005サービスの開始に失敗する

私は2週間以上MsSQLServer 2005をインストールしようとしてきましたが、ようやく前提条件がすべて整っているように見えるようになりました。残念ながら、SQL Server自体をインストールしようとすると、次のメッセージが表示されます。

「SQLServerサービスを開始できませんでした。詳細については、SQL Server Books Onlineのトピック「方法:SQLServer2005セットアップログファイルの表示」および「SQLServerの手動起動」を参照してください。</p>

次に、インストーラーはインストールを「ロールバック」し、セットアップリストに「SQLServerデータベースサービス」、「レポートサービス」、「ワークステーションコンポーネント、BooksOnline…」の3つのアンインストールされた製品が残ります。

誰か考えがありますか?SQL Server Books Onlineのトピックもインストールされないため、確認できません。そして、私はそれらなしではログファイルを理解することができません。

ありがとう!

0 投票する
9 に答える
1691 参照

asp.net - SQL Server 2005 で、同じサーバー上で実行されている Web サイトへの接続に問題がある

サーバーへの接続を確立中にエラーが発生しました。SQL Server 2005 に接続する場合、このエラーは、既定の設定では SQL Server がリモート接続を許可しないことが原因である可能性があります。(プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Server への接続を開けませんでした)

こんにちは、SQL Server 2005 での開発は初めてです。SQL Server 2000 で数年間働いていますが、サーバーに接続するために通常行うことを行った後、Web サーバーでこの例外が発生します。

考えられる解決策を示すリンクがGoogleにいくつかありますが、どれも私の問題を解決していません。"Surface Area anything..." ダイアログで変更を加えました (これは一体何ですか? なぜ SQL Server はそんなに変更されたのでしょうか? 今では非常に複雑に思えます)。

SQL Server 2005 がデータベース サーバーのインスタンスで受信接続を許可するように適切に構成されていることを確認しました。また、システムが起動するたびに SQL Server Browser サービスを自動的に開始するように、スタートアップの種類として [自動]を選択しました。いいえ、ファイアウォールは実行されていません。

ポートを使用して接続する、IP を使用して接続する、インスタンス名を使用して接続するように接続文字列を変更しようとしました...

何も機能していないようです。まだ同じエラーが発生しています。ヒントはありますか?

皆様からの質問への回答: はい、別のコンピューターから Management Studio を使用して接続できます。はい、ローカルおよびリモートの TCP/IP と名前付きパイプを受け入れるように構成されているはずです。はい、サーバーを再起動しました。

既に有効にしている混合モード セキュリティを使用しています。私はすでにsaユーザーを有効にしています。.udl ファイルを使用してデータベースに接続でき、接続文字列に問題がないことを確認しました。DBArtisan と SQL Server クライアント ツールを使用してデータベースに接続できます。サーバーと別のマシンの両方でそれを行うことができます。そんな中でも...

Web サイトはまだ接続できません。

新しい更新... 私はこの問題で一日中苦労してきましたが、まだ原因がわかりません。私が投稿したエラー メッセージは、.net が接続できないときに表示される一般的なエラーのようです。接続文字列 (存在しないサーバーを入力) にゴミ箱を配置しましたが、それでも同じエラーが発生します。

これらは、サーバーで使用した接続文字列の一部です。

connectionString="統合セキュリティ=SSPI; データ ソース=SERVER; 初期カタログ=db; ネットワーク ライブラリ=DBMSSOCN;"

connectionString="Data Source=SERVER; Initial Catalog=db; User ID=sa; Password=xxxxx;"

connectionString="Data Source=SERVER\MSSQLSERVER; Initial Catalog=db; User ID=sa; Password=xxxxx;"

奇妙なコマンドを使用してsqlサーバー インスタンスを登録しようとしましたが、次の場所にあることがわかりました 。まだ機能していません...

また、サーバーに最新バージョンの MDAC がインストールされていることも知っています。私が疑わしいのは、サーバーに SERVER と server\sqlexpress の 2 つのデータベース エンジンがあることだけです。

それは問題と何か関係がありますか?

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

sql - SQL Server ログインの nolock ヒントを強制する方法

特定のユーザーによって発行されたすべてのトランザクションに nolock ヒントを強制する方法を知っている人はいますか? サポート チームが本番システムにクエリを実行するためのログインを提供したいのですが、サポート チームが行うすべてのことに対して強制的にロックを解除して保護したいと考えています。SQL Server 2005 を使用しています。

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

sql-server - SQL Server 2005 Management Studio で SQL Server 2005 ストアド プロシージャ テンプレートを作成する方法を教えてください。

SQL Server 2005 Management Studio で SQL Server 2005 ストアド プロシージャ テンプレートを作成する方法を教えてください。

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

sql-server - SQL Server 2005 は多数のデータベースに拡張できますか?

1 つの SQL Server インスタンスに 3 ~ 400 のデータベースを追加すると、多数のデータベースによってスケーリングの問題が発生しますか?

0 投票する
2 に答える
1856 参照

sql-server - タスク スケジューラで MSSQLSERVER を起動する際の問題

タスク スケジューラ タスクを作成して SQL Server 2005 インスタンスを毎朝起動しようとしていますが、毎晩何らかの理由でインスタンスが停止してしまいます。これは、停止を診断できるまでの一時的な解決策です。

管理者ユーザーの下で実行するタスクを作成し、プログラムcmdを引数/c net start mssqlserverで開始します。管理者ユーザーのコンソールでコマンドを手動で実行すると実行されますが、タスクを手動で実行しようとすると、次のメッセージがログに記録され、サービスは停止したままになります。

アクション "C:\Windows\system32\cmd.EXE" とリターン コード 2

助言がありますか?

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

sql-server-2005 - MS-SQLServer2005およびOracleのストアドプロシージャ

MS-SQL Server 2005のストアドプロシージャをOracleのストアドプロシージャに変換するにはどうすればよいですか?各環境の対応する機能を相互に対比するチャートが役立ちます。