如何為SQL伺服器2008或者2005資料庫準備相容性水準

當選擇在Microosft SQL伺服器2008或者SQL伺服器2005上資料或者表演問題的時候,資料庫,下列的錯誤訊息或者失敗可以被歸還:

[微軟][[ODBC SQL伺服器司機][[SQL伺服器][[味精4147,第15級,國家1,線4]問題使用反對票-ANSI靠外連接處操作員”*=”或者“=*”沒有修改運作這問題,請向80為目前資料庫準備相容性水準使用改變DATABASE的準備COMPATIBILITY_LEVEL選擇餘地.它強烈被推薦改寫問題使用ANSI靠外連接處操作員((左邊靠外JOIN,正確靠外JOIN).在將來版本中
在SQL中伺服器,反對票-ANSI連接處操作員不會甚至在向後-相容性方式中被支持.


或者

味精4147,第15級,國家1,線3
問題使用反對票-ANSI靠外連接處操作員”*=”或者“=*”沒有修改運作這問題,請為目前資料庫準備相容性水準向80或者更低使用儲藏過程sp_dbcmptlevel.它強烈被推薦改寫問題使用ANSI靠外連接處操作員((左邊靠外JOIN,正確靠外JOIN).在SQL伺服器的將來版本中,反對票-ANSI連接處操作員不會甚至在向後-相容性方式中被支持.

因為微軟已經放下支持使用舊曆的*=和=*靠外連接處操作員和淘汰,錯誤發生.

為了在上方的安排SQL伺服器錯誤,DB行政管理人員必須使資料庫相容性水準朝向80哪一個有以一個臨時僱員的身份SQL伺服器2000的相當的變通辦法.當然,最好的解決方案隨著目前標準SQL連接處句法是要修改SQL聲明或者懷疑代碼強行帶離使用舊曆的連接處操作員.

例如,下面SQL問題是並不有效:

SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id *= v.object_id;

和應該被用下列的代碼代替:

SELECT o.name FROM sys.objects o LEFT JOIN sys.views v ON o.object_id = v.object_id;

或者下列的縮短內心連接處聲明:

SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id = v.object_id;

對於罐的行政管理人員’t改變代碼,最容易變通辦法是回復為了提供向使用舊曆的連接處向後相容性,相容性資料庫的瞄準.sp_dbcmptlevel儲藏過程(反對)或者進行-SQL罐是對裝置用過確定(部份並非所有)資料庫行為,是和SQL伺服器的更早期版本相容.這篇MSDN文章提供在什麼樣的行為是有關每一相容性水準改變上概貌.

能向前被使回復原狀的SQL伺服器的版本能是其中一個下列的:

60=SQL伺服器6.0
65=SQL伺服器6.5
70=SQL伺服器7.0
80=SQL伺服器2000
90=SQL伺服器2005
100=SQL伺服器2008

筆記:相容性不再弄平60,65和70在SQL伺服器2008中可用.和SQL伺服器的將來版本將支持僅向後相容性的二(2)更早版本.一含有把一視野編入索引資料庫不能被把換成一與80相比較低相容性水準.確實也當一資料庫是使朝向向後-相容性方式的時候,為筆記拿那個,某些新官能性可以為資料庫是例如SQL CLR支持和SSMS簡圖失去的.在旁邊相容性方式僅對於指定不是對於資料庫作為整個伺服器影響行為.

向改變跨和把一資料庫的相容性水準嵌入SQL伺服器

能在SQL伺服器管理工作室問題窗戶中被下下列SQL命令.記得執行設法得到每一指揮.

  1. 可選:使資料庫朝向專一用戶接近的機會方式:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. 使資料庫相容性水準朝向一個前面陳述更早期版本:

    進行-SQL方法

    ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }

    例如

    改變DATABASE my_db準備COMPATIBILITY_LEVEL=80

    sp_dbcmptlevel儲藏過程方法

    EXEC sp_dbcmptlevel database_name, compatibility_level value;

    例如

    EXEC sp_dbcmptlevelmy_db,90;

  3. 可選:把在有多人使用的接近的機會方式中資料庫推遲了:

    ALTER DATABASE database_name SET MULTI_USER;

重要:頁是翻譯這是沒有保單,和提供機器.機器翻譯可以是困難懂得.請每當可能,請參閱原來英語文章.


一對“如何為SQL伺服器2008或者2005資料庫準備相容性水準的反應”

  1. 微軟–SQL伺服器–解決問題的對策的反對SQL«丹尼爾Adeniji是’s蹤跡
    8月14日,2009 03:17 1

    7)     我的數字的生活.怎樣為SQL伺服器2008或者2005 Database. http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005-...準備相容性水準

留下一回答

你能使用這些標籤:<a href="" title=""><abbr title=""><acronym title=""><b><blockquote cite=""><cite><code><del datetime=""><em><i><q cite=""><strike> <strong>

捐助向意見特徵已經是喪失能力的.收到最新意見的通知張貼,贊同我的數字的生活意見RSS餵或者登記收到在每天電子郵件摘要中新意見.
Custom Search

新文章

為文章進來的搜索項

問題使用反對票-ANSI靠外連接處操作員((*="或者"=*).沒有修改運作這問題,請為目前資料庫準備相容性水準向80或者更低使用儲藏過程sp_dbcmptlevel.它強烈被推薦改寫問題使用ANSI靠外連接處操作員((左邊靠外JOIN,正確靠外JOIN).在SQL伺服器的將來版本中,反對票-ANSI連接處操作員不會甚至在向後-相容性方式中被支持.sql伺服器相容性水準--sql伺服器2008相容性方式--SQL相容性弄平-相容性水準sql伺服器--sql 2008相容性方式--sql相容性方式--準備COMPATIBILITY_LEVEL--問題使用反對票-ANSI靠外連接處操作員((*="或者"=*).沒有修改運作這問題,請向80為目前資料庫準備相容性水準使用改變DATABASE的準備COMPATIBILITY_LEVEL選擇餘地.它強烈被推薦改寫問題使用ANSI靠外連接處操作員((左邊靠外JOIN,正確靠外JOIN).在SQL伺服器的將來版本中,反對票-ANSI連接處操作員不會甚至在向後-相容性方式中被支持.使資料庫相容性方式朝向90--sql 2005相容性方式--為相容性方式選擇100不被-支持-sql伺服器2005相容性水準--sql 2005相容性水準--問題使用反對票-ANSI靠外連接處操作員((*="或者"=*).沒有修改運作這問題,請為目前資料庫準備相容性水準向80或者更低使用儲藏過程sp_dbcmptlevel.它強烈被推薦改寫問題使用ANSI靠外連接處操作員((左邊靠外JOIN,正確靠外JOIN).進入未來版本的SQL伺服器反對票-ANSI會合操作員希望不是支撐平穩進入往後-相容性方式-sql 2008相容性瞄準-資料庫相容性瞄準-所有的-sql伺服器2008 2005相容性方式-選擇100相容性方式是不支撐設定相容性瞄準sql 2005-設定compatibility_level選擇餘地的改變資料庫-sql伺服器2008相容性瞄準-sql 2008相容性-沒有修改運作這問題,請為目前資料庫準備相容性水準向80或者更低使用儲藏過程sp_dbcmptlevel.它強烈被推薦改寫問題使用ANSI靠外連接處操作員((左邊靠外JOIN,正確靠外JOIN).在SQL伺服器的將來版本中,反對票-ANSI連接處操作員不會甚至在向後-相容性方式中被支持.問題使用反對票-ANSI靠外連接處操作員((*="或者"=*).沒有修改運作這問題,請為目前資料庫準備相容性水準向80或者更低使用儲藏過程sp_dbcmptlevel.它強烈被推薦改寫問題使用ANSI靠外連接處操作員((左邊靠外JOIN,正確靠外JOIN).在SQL伺服器的將來版本中,反對票-ANSI連接處操作員不會甚至在向後-相容性方式中被支持.刻苦地設定相容性瞄準在中sql伺服器2005-sql伺服器設定相容性瞄準-sql伺服器相容性水準-sql指揮改變相容6.5 7-sql伺服器2008相容性-sql相容性方式80-compatibility_level sql伺服器-sql伺服器相容性方式-sql往後相容性和在一起2008-sql設定相容性方式-準備相容性水準為目前資料庫TO 80"或"更低-運作這個問題在外面修改請設定相容性瞄準為目前資料庫向80--sql伺服器2008 2005方式--問題使用反對票-ANSI靠外連接處操作員((*="或者"=*).為了沒有修改變得請向80為目前資料庫準備相容性水準更或者較低了這問題儲藏過程sp_dbcmptlevel是使用它強烈被推薦改寫問題裝置是相容性水準向80相容性水準sqlserver sql伺服器2008相容性方式80用sql相容性方式相容性水準sql伺服器2008目前資料庫相容性往後弄平sql伺服器2008相容性sql伺服器2008向後的相容性準備COMPATIBILITY_LEVEL=100 SQL伺服器7.0相容性