2012-11-28 145 views
12

一個快速的信息問題:SQLServer兼容級別影響

在我的SQL Server 2008,我從SQL Server 2005和SQL Server 2008上的數據庫的兼容級別遷移數據庫設置爲90(SQL Server 2005中)。

究竟是什麼影響呢?

這意味着遷移的存儲過程,觸發器和函數在SQL Server 2008上可以正常工作,但是有什麼缺點嗎?

什麼可能是將兼容級別設置爲100(SQL Server 2008)?

表現?額外的功能?

感謝名單

+0

[將SQL Server兼容模式從90更改爲100時有什麼區別和陷阱?](http://stackoverflow.com/questions/3351312/what -are最差異和 - 陷阱-時變化-SQL服務器compat的模式-從-9) – Pondlife

回答

8

兼容模式是有幫助的人遷移了不再使用SQL的新版本兼容功能的應用。如果您的應用程序需要sql 2008不再支持的功能,那麼您會希望以兼容模式運行它們;否則你想使用當前的sql模式。我們的業務運行一個應用程序,由於它連接到數據庫的方式需要SQL 2000兼容模式;但它在SQL 2012服務器上運行。

代碼中的特定函數可能會影響性能,因爲所需的邏輯不同,而不是執行方式明顯不同。作爲一個非常普遍的規則,2012年和2008年爲函數優化的SQL代碼將比SQL 2000或SQL 7更快,因爲它們添加了像CTE和un/pivot這樣的東西,它們都允許簡化編碼。

相關問題