1
A
回答
3
爲了使影響最小化,我將創建一個添加了標識列的新表,通過從舊錶中選擇插入到新表中,然後刪除舊錶並重命名新的表。我將在下面給出一個基本概述。可能需要額外的步驟來處理外鍵等
create table NewTable (
NewID int identity(1,1),
Column1 ...
)
go
insert into NewTable
(Column1, ...)
select Column1, ...
from OldTable
go
drop table OldTable
go
exec sp_rename 'NewTable', 'OldTable'
go
2
真的很難說需要多長時間。
在我看來,你最好的選擇是帶回一份生產數據庫的副本,在開發環境中恢復它,然後在那裏應用你的改變,看看它需要多長時間。
從那裏,您可以協調站點停機時間,或安排更新在用戶未連接時運行。
2
除非是緊急情況:
- 請勿更改到實時數據庫。
- 請勿更改實時數據庫。
要了解您需要多少停機時間,請執行恢復到新數據庫並在此處進行更改。
它不應該很長:它不僅取決於多少行,而且還取決於每行中有多少數據。 (SQL Server將複製整個表。)
0
您是否可以選擇備份生產數據庫,在其他服務器上應用更改並更改連接字符串?您甚至可以在與原始服務器相同的服務器上恢復它,更改連接字符串並擺脫舊的數據庫。
如果磁盤空間有限,可能不可行。
相關問題
- 1. 添加額外的列在SQL現有表擁有超過600萬條記錄
- 2. 超過50萬條記錄
- 3. 有條件地更新一個擁有數百萬條記錄的巨大表
- 4. 使用Hibernate查找一張擁有100萬條記錄的表
- 5. 如何爲超過一百萬條記錄的MySql表索引
- 6. jQuery自動完成不會加載超過250條MySQL記錄?
- 7. MySQL自動增量每條記錄增加超過+1
- 8. 內存超過5000萬記錄c#nhibernate
- 9. 如何加速從擁有數百萬條記錄的表中刪除操作?
- 10. 實體框架 - 添加新的記錄,其中只有編號
- 11. 自動分區MySQL中的表達一百萬條記錄
- 12. 如何使用超過10萬條記錄
- 13. 在cassandra中讀取超過百萬條記錄
- 14. 出口超過30萬條記錄到Excel生成的System.OutOfMemoryException
- 15. Mysql更新查詢超過1000萬條記錄
- 16. 訪問查詢超過1百萬條記錄,無法導出
- 17. 添加自動編號字段以查詢返回5000條以上記錄
- 18. 添加記錄編輯第一條記錄
- 19. 帶有8000萬條記錄並添加索引的表需要超過18小時(或永遠)!怎麼辦?
- 20. 通過編號將多個加入記錄合併爲一個
- 21. 具有超過200萬條記錄的Oracle合併語句的性能問題
- 22. MySQL的很慢有20萬條記錄
- 23. 如何將超過一百萬條記錄插入MySQL數據庫?
- 24. 一個數據庫有2000萬條記錄或51個數據庫,每個數據庫有50,000-300,000條記錄?
- 25. 對於新記錄,自動編號值超出序列
- 26. 每天添加和刪除數百萬條記錄
- 27. 一百萬+記錄
- 28. 將每條記錄鏈接到增量編號的所有其他記錄
- 29. 將來自兩個不同來源的百萬條記錄過濾爲100,000個
- 30. 擁有超過100萬粉絲的Twitter用戶
我想你是指一個身份專欄。桌子上還有什麼東西,有多少場地等等等等? – JNK 2010-09-28 19:22:14
這是一個生產數據庫嗎?您是否在意停機時間,或者只是好奇需要多長時間? – LittleBobbyTables 2010-09-28 19:27:13
是的,它是標識列。該表有40個字段,它有一個主鍵(不是標識列,它是自定義的)和三個外鍵以及大約一千五百萬條記錄。 – blue 2010-09-28 19:30:32