Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ganti kolom identitas dari int ke bigint

Yah, itu tidak akan menjadi cara cepat untuk melakukan ini, sungguh....

Pendekatan saya adalah ini:

  1. buat tabel baru dengan struktur yang identik - kecuali untuk ID kolom menjadi BIGINT IDENTITY bukannya INT IDENTITY

    ----[ masukkan server Anda ke mode pengguna tunggal eksklusif di sini; pengguna tidak dapat menggunakan server Anda mulai saat ini ]---

  2. temukan dan nonaktifkan semua batasan kunci asing yang merujuk ke tabel Anda

  3. AKTIFKAN SET IDENTITY_INSERT (your new table) ON

  4. masukkan baris dari tabel lama Anda ke tabel baru

  5. MATIKAN SET IDENTITY_INSERT (your new table) ON

  6. hapus tabel lama Anda

  7. ganti nama tabel baru Anda dengan nama tabel lama

  8. perbarui semua tabel yang memiliki referensi FK ke tabel Anda untuk menggunakan BIGINT bukannya INT (yang seharusnya bisa dilakukan dengan ALTER TABLE ..... ALTER COLUMN FKID BIGINT sederhana )

  9. buat kembali semua hubungan kunci asing lagi

  10. sekarang Anda dapat mengembalikan server Anda ke penggunaan multi-pengguna normal lagi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa apakah Objek adalah Tabel, Tampilan, atau Prosedur Tersimpan di SQL Server menggunakan Fungsi OBJECTPROPERTY()

  2. Periksa Status Semua Pesan Database Database di SQL Server (T-SQL)

  3. Tiga Tren Teratas yang Mempengaruhi DBA yang Bertanggung Jawab untuk Pemantauan SQL Server

  4. SQL Server 2008, berapa banyak ruang yang ditempati ini?

  5. Cara Menghapus Spasi Leading dan Trailing di SQL Server – TRIM()