問題タブ [sql-server-2005-express]
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 - これら 2 つの SQL ステートメント間のデッドロックを回避するにはどうすればよいですか?
SQL Server 2005 で実行する 2 つのストアド プロシージャを別々のスレッドで実行しています。1 つのプロシージャは一連のテーブルに新しい行を挿入し、もう 1 つのプロシージャは同じテーブル セットから古いデータを削除します。これらのプロシージャは、テーブルDLevelおよびModelでデッドロックに陥っています。スキーマは次のとおりです。
(出典: barramsoft.com )
Table DFile : Primary Key = DFileID
Table DLevel : Primary Key = DLevelID, Foreign Key: DFileID
Table Model : Primary Key = ModelID, Foreign Key: DFileID
Table ELement : Primary key = ElementID, Foreign Key1: DFileID, Foreign Key2: DLevelID
デッドロックの原因となっている正確に 2 つの SQL ステートメント (各ストアド プロシージャから 1 つ) を分離しました。いずれかの手順でデッドロックが報告されるのを見てきました。どちらの場合も top (1000) を使用し、削除/挿入する行がなくなるまで、両方のステートメントがループで実行されます。
SQL ステートメント 1:
SQL ステートメント 2:
注: @fileID1と@fileID2の値は、常に異なることが保証されています。DLevel テーブルの平均値は約 1 です。1 つのDFileIDに対して 60 行であるため、1回のパスですべての行の削除が完了します。
これら 2 つの SQL ステートメント間のデッドロックを回避するにはどうすればよいですか?
編集 1: 問題をより明確にするために書き直しました。追加画像; SQL を簡素化し、DLevel テーブルへの結合を削除しましたが、デッドロックの原因にはなりませんでした。
編集 2:
デッドロック グラフの XML を追加しました。Modelテーブル
でデッドロックが発生するようになりました。DLevelテーブルと同様のモデルの削除ステートメントとスキーマ。
sql-server-express - SQL Server 2005 Express - 接続を開くことができませんでした
Vista Ultimate コンピュータに Microsoft SQL Server 2005 Express エディションをインストールしました。ただし、開いたら、コンピューター名/ SQLEXPRESSを入力します。[接続] ボタンをクリックすると、エラー メッセージが表示されます。
構成ツールの下に、SQL Server Surface Area 構成が見つかりません。SQL Server エラーと使用状況レポートのみが含まれています。
[接続] ボタンをクリックすると表示されるエラー メッセージは次のとおりです。
SQL サーバーへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびリモート接続を許可するように SQL サーバーが構成されていることを確認します (プロバイダー: 名前付きパイプ プロバイダー、エラー 40 - SQL サーバーへの接続を開けませんでした) (Microsoft SQL サーバー: エラー 67)
sql - Visual Studio 2005 SQL Server Express エディションのユーザー名パス
SQL Server Management Studio Express
Visual Studio 2005 Windows 認証を使用して SQL Server Express エディションに接続します。
Visual Studio 2005 をインストールしたとき、SQL Server Express エディションのユーザー名またはパスワードを求められませんでした。Windows 認証なしで接続するにはどうすればよいですか?
sql-server-2005 - SQL Server Management Studio Express から .mdf ファイルを開く際のエラー
Web 対応データベースのプロジェクトを行っています。PCにデータベースファイルを作成しました。
作成したデータベースの .mdf ie を開こうとすると、他の PC で開くことができません。.ldf ファイル、つまりログ ファイルをその PC にコピーしました。
後でデータベースをサーバーに転送する必要があるため、会社が使用できるように、PC からそのサーバーにデータベースをダンプする方法がわかりません。
sql-server - MS SQL Server Express 2005 でのカスケード ツリーの削除
1 つのテーブルには "Stages" という名前が付けられ、すべてのステージには 0 から無限の子を持つことができます。テーブル「ステージ」には、「親」という名前の列があります。この列は、同じテーブル「Stages」の外部キーです。
このツリーのカスケード削除を行うにはどうすればよいですか? このテーブルの行を削除するときに、すべての子とその子の子を自動的に削除したい...
次のクエリで
このエラーが発生します
sql-server - SQLサーバー(single_user)でデータベースを復元できません
SQL Server 2005ExpressEditionでデータベースを復元しようとしています。データベースを復元するには、シングルユーザーにする必要があることを知っています。私はこのコマンドをシングルユーザーに提供しています
このコマンドは正しく実行され、このデータベースのオブジェクトエクスプローラーに小さな画像が表示され、これがシングルユーザーになったことを示しています。
現在、次の手順に従ってデータベースを復元しようとしています->データベースとタスクを右クリックして、データベースを復元します。バックアップファイルが配置されているパスを選択し、復元をクリックしています。
しかし、「データベースが使用されているため、排他的アクセスを取得できませんでした(microsoft.sqlserver.smo)。何かが足りません。グーグルで検索しましたが、ほとんどすべてのサイトで、データベースはシングルユーザーである必要があると示唆されています。モードと他には何もありません。
データベースメソッドのデタッチとアタッチを試しませんでした。私はこれまでこれを行ったことがなく、それが安全かどうかを知りたいと思います。
編集:答えてくれてありがとう。どちらも私に同じ答えを提案したので、私は1つの答えを選択済みとしてマークしています。
オプションから既存のデータベースを上書きすることも選択しました。
sql - SQL Server 2005 Express で NVARCHAR を INTEGER に変換する際の問題
午後の皆さん、
計算を INTEGER に変換する際に問題が発生しています。基本的に私は計算しています。
(郵便番号から経度と緯度の距離を計算しました)
これで、この値を SELECT ステートメントで使用できるようになりましISNUMERIC()
た。出力は true を返します。
ただし、WHEREステートメントでこの値を制限しようとすると、 「 NVARCHAR TO INTEGERへの変換中にエラーWHERE .... <= 150
が発生しました」というメッセージが返されます。
誰でも助けることができますか?CONVERT と CAST を試しましたが、制限を追加するとWHERE ISNUMERIC(...) = 1
出力値が得られません!
すべての助けに感謝します
敬具 ピート W
sql-server-2005 - SQL Server 2005 Management Studio Express を使用した異なるスキーマの下の同じ名前のテーブル
新しいスキーマを作成し、DDL スクリプトを記述して、同じデータベース内の異なるスキーマに存在する同じ名前のテーブルを作成する方法を知っています。SQL Server 2005 Management Studio Express を使用してそれを行う方法を知りたいです。
繰り返しになりますが、SQL Server 2005 Management Studio Express を使用して、同じ名前で同じデータベースの異なるスキーマに存在する 2 つのテーブルを作成できるかどうかを知りたいです。
sql-server - ブラウザなしでSQLServer2005ExpressEditionでデータベースを作成する
SQL Server Expressエディションのインスタンスがあり、その上にデータベースを作成する必要がありますが、SQLブラウザがありません。他の方法で作成するにはどうすればよいですか。
sql-server - PatientID と TestNo という 2 つの列を持つ SQL サーバー テーブルからデータを取得するにはどうすればよいですか。異なる TestNo は同じ患者 ID を持つことができます
データベース (SQL Server 2005 Express) テーブルに、PatientID 列 (複数のレコードが同じ患者 ID を持つことができます) と TestNo があります。同じ PatientID を持つすべてのレコードの中で最大の testNo 列を取得したいのですが、そのための SQL ステートメントは何ですか? VC++ アプリケーションでレコードにアクセスするために RecordSet ポインターを使用しています。