sql2005比sql2000
① sql2005和sql2000有什麼區別
1、加強的T-SQL (事務處理SQL )
T-SQL 天生就是基於集合的關系型資料庫管理系統編程語言,可以提供高性能的數據訪問。現在,它與許多新的特性相結合,包括通過同時使用TRY和CTACH來進行錯誤處理,可以在語句中返回一個結果集的通用表表達式(CTEs),以及通過PIVOT 和UNPIVOT命令將列轉化為行和將列轉化為行的能力。
2、CLR(Common Language Runtime,通用語言運行時)
SQL Server 2005中的第二個主要的增強特性就是整合了符合.NET規范的語言 ,例如C#, ASP.NET 或者是可以構建對象(存儲過程,觸發器,函數等)的 VB.NET。這一點讓你可以在資料庫管理系統中執行.NET代碼以充分利用.NET功能。它有望在SQL Server 2000環境中取代擴展的存儲過程,同時還擴展了傳統關系型引擎功能。
3、服務代理(Service Broker)
服務代理處理的是以鬆散方式進行聯系的發送者和接收者之間的消息。一個消息被發送、處理和回答,完成整個事務。這大大擴展了數據驅動應用程序的性能,以符合工作流或者客戶業務需求。
4、數據加密
SQL Server 2000沒有用來在表自身加密數據的有文檔記載的或者公共支持的函數。企業需要依賴第三方產品來滿足這個需求。SQL Server 2005自身帶有支持對用戶自定義資料庫中存儲的數據進行加密的功能。
5、SMTP郵件
在SQL Server 2000中直接發送郵件是可能的,但是很復雜。在SQL Server 2005中,微軟通過合並SMTP郵件提高了自身的郵件性能。SQL Server從此跟Outlook說「bye-bye」!
6、HTTP終端
你可以很輕松地通過一個簡單的T-SQL 語句使一個對象可以在網際網路上被訪問,從而創建一個HTTP終端。這允許從網際網路上呼叫一個簡單的對象來獲取需要的數據。
7、多活動結果集(Multiple Active Result Sets ,簡稱MARS)
多活動結果集允許從單個的客戶端到資料庫保持一條持久的連接,以便在每個連接上擁有超過一個的活動請求。這是一個主要的性能改善,它允許開發人員讓用戶在使用SQL Server工作的時候擁有新的能力。例如,它允許多個查詢,或者一個查詢的同時輸入數據。底線就是一個客戶端連接可以同時擁有多個活動的進程。
8、專用管理員連接
如果所有的內容都出錯了,那麼只能關閉SQL Server服務或者按下電源鍵。專用管理員連接結束了這種狀況。這個功能允許資料庫管理員對SQL Server發起單個診斷連接,即使是伺服器正在出現問題。
② SQL2000和SQL2005 如何執行資料庫腳本
圖形界面:SQL2000在查詢分析器里執行,SQL2005工具欄有個打開文件的功能,打開你的腳本文件就可以執行了。
命令行里嘛,沒試過,微軟的產品本來就提倡界面化,如果你有界面的話沒必要到命令行里去搞。
③ 請資料庫高手給解答一下 UPDATE FROM 語句在SQL2000和SQL2005下執行結果居然不一樣
update test2 set b=y.b from test2 x,test1 y where x.a=b.a
你這句肯定是錯的,最後那裡的x.a=b.a,b是列,b.a能正確?
那你試試這樣:
UPDATE test2 SET b = y.b FROM test2 AS x LEFT JOIN test1 AS y ON x.a = y.a
游標法(再不行我也沒轍):
DECLARE @a varchar(10) --這里的類型要換成跟你的a欄位的類型一樣的
DECLARE @b varchar(10) --這里的類型要換成跟你的b欄位的類型一樣的
DECLARE bCursor CURSOR FOR
SELECT a,b FROM test1
OPEN bCursor
FETCH NEXT FROM bCursor INTO @a,@b
WHILE @@fetch_status = 0
BEGIN
UPDATE test2 SET b=@b where a=@a
FETCH NEXT FROM bCursor INTO @a,@b
END
CLOSE bCursor
DEALLOCATE bCursor