我有一個要求,我必須更改我的數據庫的排序規則,因爲我需要在我的數據庫中更改腳本drop all the constraints and recreate them after running the collation。我可以知道如何爲我的DB的所有約束生成腳本?如何生成所有約束腳本
回答
這將讓你在數據庫中的所有約束,你可以通過你所需要的過濾它:
我想你可能還需要看看任何指標,統計等也可能阻止你丟掉專欄。
這可以從SQL Server Management Studio輕鬆完成。在數據庫上
右鍵單擊並轉到任務,生成腳本...。
這將產生一個腳本生成嚮導,它將爲您選擇的任何模式構造生成DROP和CREATE腳本。
選擇數據庫
確保您選擇腳本拖動到真
選擇表
選擇新建查詢編輯器窗口,然後單擊Finish。
你能讓我知道確切的步驟來生成只有約束,而不是表腳本? – 2011-05-24 19:07:23
工具>選項> sql server對象資源管理器>關閉除約束以外的所有內容>生成它們>將所有內容都恢復回 – Fourth 2011-05-24 19:08:55
使用屏幕上的選項生成創建表腳本,我只需要腳本約束。 – 2011-05-25 07:25:30
您可以使用SMO編程這樣的事情,或者更簡單的是隻使用SSMS中的腳本嚮導。在對象資源管理器中轉到數據庫並右鍵單擊它。選擇任務 - >生成腳本(不是「腳本數據庫」)。在嚮導中,您可以確保約束是腳本化的,並刪除其他項目。檢查生成的腳本並確保它能夠滿足您的需求。如果沒有,再次通過嚮導進行必要的調整。
SELECT top 1
'ALTER TABLE dbo.' + OBJECT_NAME(parent_object_id) +
' ADD CONSTRAINT ' + dc.name + ' DEFAULT(' + definition
+ ') FOR ' + c.name
FROM sys.default_constraints dc
INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND dc.parent_column_id = c.column_id
腳本生成的所有約束
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
得到數據庫中的所有約束條件,然後在你的桌子過濾
- 1. 生成具有約束
- 2. 用於刪除所有外鍵約束和唯一約束的TSql腳本?
- 3. 生成所有具有訂單約束的排列
- 4. 生成具有某種約束的所有排列
- 5. 使用約束時,MS SQL Server 2008腳本生成會創建無效腳本
- 6. 生成給定約束條件的所有組合
- 7. 回溯生成約束條件下的所有數字
- 8. 刪除具有系統生成名稱的PK約束的SQL Server 2008腳本
- 9. 複製所有表約束的T-SQL腳本
- 10. 如何使用Propel生成SQL,添加了所有表後的約束
- 11. 如何:腳本出獨特的約束創建腳本
- 12. 如何爲沒有外鍵約束的oracle表生成ER圖
- 13. 隨機生成約束條件以生成約束Delaunay三角剖分
- 14. 如何生成Widget腳本?
- 15. 丟棄所有的約束
- 16. Oracle:所有約束表
- 17. 如何刪除所有表中的所有外鍵約束?
- 18. 如何刪除表中的所有默認約束約束條件
- 19. scipy.optimize.leastsq有約束約束
- 20. 生成創建表腳本(使用索引,鍵約束),在SQL Server數據庫
- 21. 界面生成器約束錯誤
- 22. 生成隨機整數與差約束
- 23. 生成語句的Verilog放置約束
- 24. 隨機數生成 - 約束序列
- 25. OAuthWebSecurity.CreateOrUpdateAccount生成外鍵約束的例外
- 26. (Re)的生成通過唯一約束
- 27. Rails生成模型 - 字段約束?
- 28. 生成腳本
- 29. 生成腳本嚮導掛起沒有腳本的所有對象
- 30. 無約束變量bash腳本
你可以讓我知道,用於生成所有約束創建腳本的確切腳本? – 2011-05-24 19:07:59