SSMSを使用して、SQL Server 2005で多くのデータを含むテーブルに列を追加しようとしています。
そこで、テーブルを参照し、[変更]を選択して、新しい列を追加します。次に、[保存]をクリックすると、次の警告が表示されます。
大量のデータを含むテーブルへの定義変更の保存には、かなりの時間がかかる場合があります。変更の保存中は、テーブルデータにアクセスできません
私はそれで大丈夫です。DBはオフラインで、世界中にいつでもいるので、[はい]を押します。
ただし、操作は約30秒後に次のメッセージでタイムアウトします。
テーブルを変更できません。タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
次に、OKを押すと:
ユーザーが保存ダイアログをキャンセルしました(MS Visual Database Tools)
わかりません。 SSMS接続ダイアログと[ツール]-> [オプション]-> [クエリ実行]-> [SQL Server]の両方で、実行タイムアウトを0(無限)に設定しました。無視されるだけの場合、実行タイムアウトを設定する意味は何ですか?
ここで使用されているタイムアウト値と、それを設定する方法を知っている人はいますか?
タイムアウト設定のように聞こえます。そのため、SSMSは時間がかかりすぎると判断し、接続をキャンセルします。 SQLサーバーのロールバック。しかし、助けがあります。あなたはこれに遭遇する最初の人ではありません。
こちら を参照してください。
リンクをクリックしたくない人のために。ここに価格獲得の答えがあります:
同じエラーが発生した後、私は現在の設定に偶然出会いました。
Management Studioで、[ツール]メニューから[オプション]を選択し、[デザイナー]をクリックします。 「テーブルデザイナの更新の接続文字列のタイムアウト値を上書きする」というオプションがあります。「トランザクションのタイムアウト後:」ボックスに、魔法の30秒が表示されます。
//以下をせよ:
SQL Server管理スタジオを開きます->ツールメニュー->オプション->デザイナタブ->テーブルとデータベースデザイナ->タイムアウトを30秒から65535秒に増やします。--> OK
//これで、テーブルの変更を保存できます。 //それが役に立てば幸い、そして私のブログをチェックしてください@://www.ogolla.blogspot.com
SSMSは一般的なデータ変更には使用しないでください。 T-SQLに慣れ、以下のように列を追加します。
ALTER TABLE TableName ADD NewColumn INT
SSMSは、実際にはすべての列を含む新しいテーブルを作成し、新しいテーブルにデータをインポートして、古いテーブルを削除しています。世界中にいつもいるとしても、効率的な方法があれば、正しい方法を使用する必要があります。この混乱を避けるために、SQL Server 2008ではGUIメソッドIIRCを許可していません。