【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
- win10怎麼安裝sql server2008 r2_win10如何安裝sql server2008 r2Win10SQLServer
- SQL Server2008 R2 資料庫映象配置方案SQLServer資料庫
- 1.4 SQL Server2008安裝與配置(2020-12-1)SQLServer
- ES6 新增特性小結
- 關於SQL server2008除錯儲存過程的完整步驟SQLServer除錯儲存過程
- 瀏覽器的全屏功能小結瀏覽器
- SQL Server 2014的資料庫引擎新增功能(參考sqlserver官方文件)SQLServer資料庫
- 關於字串的功能函式小結字串函式
- 專案需求討論 – 定位功能小結
- 專案需求討論 - 定位功能小結
- Python 3.10 新增功能Python
- 輕鬆導航:教你在Excel中新增超連結功能Excel
- Metasploit新增技巧提示功能
- SQL Server 資料庫部分常用語句小結(二)SQLServer資料庫
- SQL Server 資料庫部分常用語句小結(一)SQLServer資料庫
- Taro UI 2.0 釋出:新增自定義主題功能,適配更多小程式UI
- ABAQUS 2022新增功能詳解
- PhotoShop 2022 mac版新增功能Mac
- JDK 16的新增功能:ZGCJDKGC
- 為網頁新增留言功能網頁
- 輸入框/搜尋功能/新增、修改功能測試
- 通過新增條件優化SQL優化SQL
- 用pandas實現SQL功能SQL
- 微信小程式之繫結銀行卡功能實現微信小程式
- VMware vSphere 8 Update 3 新增功能
- C#各版本新增加功能C#
- rabbitmq 新增遠端訪問功能MQ
- 114 新增CNZZ流量統計功能
- windows server2008安裝mysql資料庫WindowsServerMySql資料庫
- Sql語句小整理SQL
- sql小筆記(增刪改查——新增列、修改表名、列的欄位型別等)SQL筆記型別
- Windows server2008修改遠端桌面埠的方法WindowsServer
- kingshard SQL黑名單功能介紹SQL
- Nexpose 6.6.273 釋出,新增功能概覽
- 帝國CMS如何新增評論功能
- .NET MAUI Community Toolkit 中的新增功能UIUnity
- SOLIDWORKS 2023新增功能 - PDM資料管理Solid
- RunnerGo V4.6.0 新增功能介紹Go