【SQL Server2008新增功能小結】
/*----------------------------------------------------------------
-- Author :feixianxxx(poofly)
-- Date :2010-05-12 19:43:03
-- Version:
-- Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Evaluation Edition on Windows NT 6.1 <X86> (Build 7600: )
-- Content:SQL Server2008新增功能小結
-- 參考SQL Server2008資料庫系統開發(貫通)
----------------------------------------------------------------*/
--由於沒用過或者不熟悉,有些內容一筆帶過,只對掌握的東西進行舉例說明
1.安全方面
1.1加密
一個是透明資料加密http://topic.csdn.net/u/20100511/17/e370e88f-764a-4d00-b781-75b584f1996e.html; 另外一個是備份加密
1.2審計
除了登入/登出和許可權更改外,還增加了允許監控資料的更改或訪問。
2.管理方面
2.1資料壓縮:主要目標使實際的表的尺寸減小。
2.2資源管理器:書上提到了一個Performance Studio,它是一個效能工具的集合。
2.3管理非結構化資料
3.開發方面
3.1批量資料的一次性插入(values)+內連線多條資料
create table test_1
(
id int
)
insert test_1 values(1),(2),(3)
select *
from (values(1,2),(3,4)) k (a,b)
join (values(1,3),(4,5)) z (a,b)
on k.a=z.a
/*
a b a b
----------- ----------- ----------- -----------
1 2 1 3*/
3.2變數一次性定義賦值+累計運算子
declare @n int=1,@n2 int =2
select @n,@n2
declare @N int
set @N=2
set @N*=2
print @N
/*
4*/
3.3forceseek
create table test_2
(id int unique ,value int )
create index l on test_2(value)
insert test_2 values(1,2),(2,2),(3,2),(4,3),(5,4)
go
select * from test_2 where id in(1,3,5)
--表掃描
select * from test_2 with(forceseek) where id in(1,3,5)
--這裡會強制使用索引
3.4GROUPING SETS
詳細看:http://msdn.microsoft.com/zh-cn/library/bb510427.aspx
SELECT customer, year, SUM(sales)
FROM T
GROUP BY GROUPING SETS ((customer), (year))
等價於
SELECT customer, NULL as year, SUM(sales)
FROM T
GROUP BY customer
UNION ALL
SELECT NULL as customer, year, SUM(sales)
FROM T
GROUP BY year
3.5新的自定義引數 表資料型別
create type tbType as TABLE
(
id int
);
--它還可以用做引數,建立儲存過程
create proc spNewType
@tT tbType readonly
as
select *
into # from @tT
select * from #
go
declare @tT tbType
insert @tT select 1 union select 2 union select 3
--執行儲存過程
exec spNewType @tT
/*
id
-----------
1
2
3*/
3.6 MERGE 語句
參考 http://blog.csdn.net/feixianxxx/archive/2010/02/07/5296519.aspx
4.新的資料型別
4.1時間資料型別
declare @time date=getdate(),@time2 time=getdate(),@time3 datetime2=getdate(),@time4 datetimeoffset(3)=getdate()
select GETDATE()--2010-05-12 20:26:02.397
select @time--2010-05-12
select @time2--20:26:02.3970000
select @time3--2010-05-12 20:26:02.39 (精確到ns,位小數位,保留位)
select @time4--2010-05-12 20:26:02.397 +00:00(包括GMT得來的時區偏移)
4.2“樹”型別
HierarchyID是一個系統資料型別,被最優化來顯示資料樹
關於這個型別的用法 參考http://social.msdn.microsoft.com/Search/zh-cn?query=HierarchyID
書上的一個例子:
create table test_3
(
NodeLevel hierarchyid,
EmployeeID int,
OrgLevel AS NodeLevel.GetLevel(),
EmployeeName varchar(100)
)
go
insert test_3(NodeLevel,EmployeeID,EmployeeName)
values(hierarchyid::GetRoot(),0,'poofly')
go
declare @manager hierarchyid
select @manager=hierarchyid::GetRoot() from test_3
insert test_3 (NodeLevel,EmployeeID,EmployeeName)
values(@manager.GetDescendant(null,null),1,'lo')
go
declare @manager hierarchyid,@NodeLevel hierarchyid
select @NodeLevel=NodeLevel from test_3 where EmployeeName='lo'
select @manager=MAX(NodeLevel) from test_3 where NodeLevel.GetAncestor(1)=@NodeLevel
insert test_3
values(@NodeLevel.GetDescendant(@manager,null),2,'sear')
go
select NodeLevel.ToString() as string from test_3
go
/*
/
/1/
/1/1/
*/
4.3 FILESTREAM
關於FILESTREAM的介紹請看http://msdn.microsoft.com/zh-cn/library/bb933993.aspx
我來簡單應用一下這個FILESTREAM
--第一步:啟用FILESTREAM
在安裝或升級 SQL Server 時,並不會自動啟用 FILESTREAM。您必須使用 SQL Server 配置管理器和 SQL Server Management Studio 來啟用 FILESTREAM。
開啟SQL Server 配置管理器,在服務上右擊屬性,具體參看 http://msdn.microsoft.com/zh-cn/library/cc645923.aspx
開啟SQL Server Management Studio 在例項上右擊選擇屬性,選高階選項卡,在“檔案流訪問級別”上將狀態從“已禁用”改成“已啟用完全訪問”,重啟服務。
--第二步:新增檔案流檔案組和檔案
選擇你要操作的資料庫,右擊屬性,先選擇”檔案組“,在檔案流檔案組下新增檔案組,任意取名 filestreamGroup
然後選擇”檔案“選項卡,新增一個檔案filestream,檔案型別選中”檔案流“,在後面的路徑上選擇一個路徑 E:/,點選確定
你可以在E盤下看到一個FILESTREAM的資料夾,裡面就儲存了你的FILESTREAM資料。
ps:注意再次連上服務,剛斷開過
--建立還有FileStream的表
CREATE TABLE test
(
id uniqueidentifier ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWID(),
col2 int,
fileCol varbinary(max) FILESTREAM
)
--插入資料
INSERT test VALUES(NEWID(),1,cast('Iam using FileStream!' as varbinary(max)))
--進入你的E盤下的FILESTREAM檔案下檢視多出來的資料夾,點選進入後用記事本開啟,你會看到剛剛插入的記錄了。
--更新記錄
UPDATE test
SET fileCol=cast(' new I am using FileStream!' as varbinary(max))
where col2=1
--再次進入你的E盤下的FILESTREAM檔案下檢視多出來的資料夾,你會發現再次多出一個檔案,原來的那個並沒有刪除
--這說明系統是不會刪除更新前的檔案流資料。
--刪除記錄
delete test where col2=1
--再次進入你的E盤下的FILESTREAM檔案下檢視多出來的資料夾,你會發現還是原來的個檔案,原來的那個並沒有刪除
--這說明系統無論做什麼操作,都會記錄下FileStream的記錄,就跟LOG 記錄一樣。
當然還有安裝、系統效能方面、報表服務新增加的功能、伺服器合併解決方案、與office2007的結合、SSIS的功能新增強、ssas的改進和增強等。
相關文章
- SQL Server2008無法修改表結構?SQLServer
- PL/SQL小結SQL
- SQL Server2008引擎元件SQLServer元件
- SQL Server 2016 Alwayson新增功能SQLServer
- ES6 新增特性小結
- Sql Server2008 格式化 Sql的 工具SQLServer
- SQL Server2008儲存結構之基本系統檢視SQLServer
- SQL Server2008儲存結構之物件儲存檢視SQLServer物件
- SQL Server2008儲存結構之堆表、行溢位SQLServer
- SQL Server 2008 新增功能 -- 複製SQLServer
- SQL_LOADER小結SQL
- sql server2008連線不上SQLServer
- sql server2008學習視訊SQLServer
- SQL SERVER 2000新增功能介紹1 (轉)SQLServer
- Sybase及SQL Anywhere SQL語句小結(轉)SQL
- SQL Server2008程式堵塞處理方法SQLServer
- SQL Server2008建立約束圖解SQLServer圖解
- 完全解除安裝sql server2008 《轉》SQLServer
- MYSQL 常用sql語句小結MySql
- SQL*LOADER 的使用小結SQL
- Oracle SQL_TRACE使用小結OracleSQL
- SQL Server 2008 新增功能 -- 報表製作SQLServer
- 瀏覽器的全屏功能小結瀏覽器
- 微信小程式[第十一篇] -- 新增照片(小程式圖片上傳功能)微信小程式
- sql server2008資料檔案遷移SQLServer
- SQL Server2008 R2新特性解析SQLServer
- 簡單SQL語句小結(轉)SQL
- 專案需求討論 – 定位功能小結
- 專案需求討論 - 定位功能小結
- win10怎麼安裝sql server2008 r2_win10如何安裝sql server2008 r2Win10SQLServer
- 【C#學習筆記】讀SQL Server2008C#筆記SQLServer
- 用CLR整合為SQL 2005新增簡繁轉換功能SQL
- sql語句執行過程小結SQL
- 12C SQL方面新特性小結SQL
- sql load的一點小總結SQL
- SERVER2008開啟網頁中彈出新增信任站點Server網頁
- 輕鬆導航:教你在Excel中新增超連結功能Excel
- [轉]sql load 的一點小總結SQL