Tabel hemat waktu habis dalam SQL Server

16

Saya mencoba menambahkan kolom ke tabel dengan banyak data di SQL Server 2005, menggunakan SSMS.

Jadi saya telusuri tabel, pilih Modify, dan tambahkan kolom baru. Lalu, ketika saya menekan Simpan, saya mendapatkan peringatan berikut:

Menyimpan Definisi Perubahan ke tabel dengan data dalam jumlah besar bisa memakan waktu yang cukup lama. Saat perubahan disimpan, data tabel tidak akan dapat diakses

Saya setuju dengan itu, DB sedang offline dan saya memiliki semua waktu di dunia, jadi saya menekan Ya.

Namun, operasi kemudian mulai habis setelah sekitar 30 detik dengan pesan ini:

Tidak dapat mengubah tabel. Batas waktu kedaluwarsa. Periode waktu habis berlalu sebelum penyelesaian operasi atau server tidak merespons.

Lalu, ketika saya menekan OK:

Pengguna membatalkan dialog penyimpanan (Alat Basis Data Visual MS)

Saya tidak mengerti. Saya telah menetapkan batas waktu eksekusi ke 0 (tak terbatas) baik dalam dialog koneksi SSMS dan di bawah Tools -> Options -> Query Execution -> SQL Server. Apa gunanya mengatur batas waktu eksekusi jika hanya diabaikan?

Adakah yang tahu nilai batas waktu apa yang digunakan di sini, dan bagaimana saya dapat mengaturnya?

Tor Haugen
sumber

Jawaban:

27

Kedengarannya seperti pengaturan batas waktu. Jadi SSMS Anda menganggap itu terlalu lama dan membatalkan koneksi untuk Anda. Peran SQL server kembali. Tetapi ada bantuan. Anda bukan orang pertama yang menemukan ini.

Lihat di sini .

Untuk semua orang yang tidak ingin mengklik tautan. Inilah jawaban pemenang harga:

Setelah memukul kesalahan yang sama, saya menemukan pengaturan yang benar.

Di Studio Manajemen, dari menu Alat, pilih Opsi, lalu klik "Desainer". Ada opsi yang disebut "Abaikan nilai batas waktu string koneksi untuk pembaruan desainer tabel:" Dalam kotak "Batas waktu transaksi setelah:", Anda akan melihat keajaiban 30 detik

Peter Schuetze
sumber
6

// LAKUKAN BERIKUT:

Buka studio manajemen SQL Server -> Menu Alat -> Pilihan -> Tab Desainer -> Desainer Tabel dan Database -> Tingkatkan batas waktu dari 30 detik hingga 65535 detik .--> OK

// Sekarang Anda bisa menyimpan perubahan tabel Anda. // Semoga itu membantu, dan periksa blog saya @: //www.ogolla.blogspot.com


sumber
1
Wow itu adalah pengaturan batas waktu habis 18+ jam. Waktunya tidur siang!
Peter Schuetze
0

SSMS tidak boleh digunakan untuk modifikasi data umum. Buat diri Anda nyaman dengan T-SQL dan tambahkan kolom seperti yang disarankan di bawah ini.

ALTER TABLE TableName ADD NewColumn INT

SSMS sebenarnya membuat tabel baru dengan semua kolom, mengimpor data ke tabel baru dan menjatuhkan tabel lama. Bahkan jika Anda memiliki semua waktu di dunia, jika ada cara yang efisien dalam melakukan sesuatu, Anda harus menggunakan metode yang tepat. Untuk menghindari kekacauan ini, dalam SQL Server 2008 tidak akan mengizinkan metode GUI IIRC.

Sankar Reddy
sumber
3
Saya mengerti maksud Anda. Tapi saya lebih suka memiliki kolom saya dalam urutan tertentu. Konyol, Anda mungkin berpikir, tetapi begitulah. Menggunakan ALTER TABLE, kolom baru ditambahkan ke ujung. Saya kira itu sebabnya SSMS harus menjatuhkan dan membuat ulang tabel, pada kenyataannya.
Tor Haugen