パソコン情報

SQLserver困った時の解決Tips5選

ほかのユーザーが同じデータに対して同時に変更を試みているエラー

 

注意ポイント

ほかのユーザーが同じデータに対して同時に変更を試みているので、プロセスが停止しました。

 

という意味のわからないエラーが出る時があります。

 

私の場合は、

ODBCがデータソースになっているフォームで変更・削除をしようとすると表題のメッセージが出ました。

 

下記のような対応をやってみてください。

 

bit型(Access側ではYes/No型)フィールドにNULLが入っていないかどうかを確認すること。

SQLserverの方で規定値を0にして、「NULLを許容する」にしないようにしたら回復した。

 

 

 

Access側で「このレコードセットは更新できません」

 

SQLserverにAccessを接続して使用する環境で、Access側の方で、

 

ココに注意

このレコードセットは更新できません

 

というエラーが出る時がる。

 

対処方法として、

SQLserverの方で主キーが設定ないとリンクテーブルにはったAccessの方で更新ができないエラーが発生することは分かっていたのですが、しばらく使ってないとまた同じような状況に出くわす。

 

今回もAccessにて「このレコードセットは更新できません」って怒られたので

主キーを設定して、やってみたが相変わらず回復しません。

 

そこで、

 

ココがポイント

リンクテーブルを削除してリンクを貼り直した

 

ら回復した。ちょっとメンドクサイですね。

 

 

 

MSSMSの上位200件の編集変更

 

SQLserverのデータ編集で、MSSMSの上位200件の編集ってのがあるが、全部表示させたい。もしくは、表示件数を指定したいという時がある。

 

メニューから

「ツール」→「オプション」→「SQL Serverオブジェクトエクスプローラー」→「コマンド」

と進む。
そうすると右のエリアに「上位N件の件数」についての設定があるので、その値を0にしてやると、先ほどの

上位1000件の選択
上位200件の編集


全ての行の選択
全ての行の編集


に変わり、これで、全行を閲覧/編集することが可能。

※0ではなく、件数を指定することも可能

 

ただし、SQL Server Management Studioは、データを一気に取得して全部表示するので、大量にデータが存在するテーブルの場合はフリーズする可能性があるので注意が必要。

 

 

テーブルの設計変更ができない

 

「SQL Server Express」で既存のテーブルのデザイン(設計)に変更を加えて、変更を保存しようとすると以下のメッセージが表示されて保存できない。

メッセージ:

 

ココに注意

変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要になります。

再作成できないテーブルに変更を行ったか、テーブルの再作成を必要とする変更を保存できないようにするオプションが有効になっています。

 

 

【対応策】
「Microsoft SQL Server Management Studio」を起動し、[ツール]メニューの[オプション]をクリックする。

[オプション]ダイアログボックスが表示されるので、画面左のツリーから[デザイナ]を選択し、[+]をクリックする。

[テーブル デザイナおよびデータベース デザイナ]をクリックし、画面右の[テーブルの再作成を必要とする変更を保存できないようにする]オプションをオフにする。

 

【注意】

このオプションを無効にしていると、テーブルが再作成される際に既存の変更の追跡情報が削除されます。
そのため、このオプションを無効にしてこの問題を回避することはお勧めしません。とのこと。

 

ちょっと意味がわかりませんが、設計変更後は元に戻した方がいいのでしょうかね。

 

MSSMでの主キーのつけ方

 

全く初歩的な事が分かってないので、テーブルの主キーのつけ方で悩んだ。
その備忘録を残しておく。

 

まず対象のテーブルを開き、適当な列の上で右クリックすると、Accessでいうところのデザインモードの表示になる。


そして、主キーにしたいフィールドを右クリックすると、主キーボタンがでてきた。