Category Archives: SQL Server Denali

再次安裝 SQL Server 2012

安裝時,與先前安裝 CTP3RC0 的差異不大,可以參考前兩篇 Blog。另外,SQL Server 2012 不再支援的功能:http://msdn.microsoft.com/en-us/library/ms144262.aspx

裝好後,發現關於 SQL Server 的工具真多…

image

該中文化的也都中文化了,例如整合 AS/PowerPivot 與 SharePoint 安裝後,要個別執行的 PowerPivot 組態工具,其說明完全中文化

image

image

用滑鼠點選驚嘆的部分,進去設定

image

待全部項目都是綠旗子後,點選執行

BI 安裝 http://msdn.microsoft.com/zh-tw/library/hh231671(SQL.110).aspx

而 Report Builder 依然是在 3.0 http://www.microsoft.com/downloads/zh-tw/details.aspx?familyid=61217ad0-9fdf-4eec-8b51-2e3dba1c4616

稍有不同的除了初始畫面外:)

image

Word 和 Excel 的 render 變成 Office 2007 後的格式了

SSIS 2012 Report Pack

透過 RS 分析 SSIS 2012 在伺服器的執行狀況:http://ssisreportingpack.codeplex.com/,可以補 SSIS 2012 預設報表的不足

image

image

摸了半天 SSIS 2012 的 SSISDB 與報表,總在好像了解了,但實未了解之間游移,但已有人可以做出一套報表…

唉…

Download Microsoft® SQL Server® 2012 Release Candidate 0 (RC0)

http://www.microsoft.com/download/en/details.aspx?id=28145

image

image

image

image

image

image

image

image

image

選擇"加入目前使用者"或"加入",都會有如下的錯誤,正式版沒有這個問題了

image

直接按 "下一步” 才能繼續

image

image

image

等待安裝…

image

image

當下,SSDT(Juneau) 還沒 RC0

image

 

目前為止,Denali 經歷了 CTP1、3、RC0,為了測 Always On,一次起碼要裝 2 台以上,為了 AS 的 SharePoint 整合和 Semantic Model,一台機器要裝 3 個 AS Instance…

RC0 後還會有 RCn 嗎…

 

 

經過了一天慢慢裝,似乎 CTP3 可以直接升級到 RC0,不用移除再安裝 🙂 。在安裝精靈的第二個頁籤"安裝”選最後一項:從 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 升級

若是靠 CTP3 裝了 VS 2010 Shell,要先裝 VS2010 SP1 後再升級。而原來建置的 AlwaysOn FG 在逐機器升級後,表面上也還在 :),但叢集在安裝時要先能正確存取。事後,似乎有問題,最後升的那一台無法升級…最後移掉了 Windows 叢集的節點

若在測試的當下沒有正確啟動 Cluster Services,則之後啟動完,也無法靠此處的"重新執行",必須離開後再執行一次安裝程式才可以。

image

 

image

image

image

 

升級完之後,因為 windows cluster 一直有問題,要移除重裝也不行,會有如下的錯誤,但在 Cluster 管理介面內,這台機器已經自叢集移除…

image

需參照這個 QA,用 PowerShell 移除

http://social.technet.microsoft.com/Forums/en-US/winserverClustering/thread/aa5e469a-efd0-42f0-85bf-a27c4bf4ad30/

image

而後才能移除 Cluster 服務,重開機並重裝 Cluster 服務,再重新加入叢集:

image

再利用 SQL Server RC0 的管理介面加入 Always On Group,但介面有些不同了:

image

至此,終於證明升級後,仍可以設定 AlwaysOn Group 微笑,且不像 CTP 3 只能加入兩個節點

image

若要升級搭配 SharePoint 的 CTP3,需要確定 SharePoint 2010 上過 SP1

image

PowerPivot For Excel 不會自動更新,需要手動移除,再從微軟網站下載安裝 http://www.microsoft.com/downloads/zh-tw/details.aspx?FamilyID=c61ee610-b63e-4033-a934-01d2ab567a45

Crescent 已經在 RC0 正式更名 PowerView 了,第一次執行時,要求更新 Silverlight,反正自己會更新,也就沒查需搭配的 SilverLight 版本:) 。RC0 的 PowerView 更漂亮了,只是轉成 PowerPoint 的 slide 在播出時,不知結合 SilverLight 有啥問題,只有一片空白…

image

SQL Server Denali 新增或修改的動態管理物件

 

以下的動態管理物件參照:http://technet.microsoft.com/en-us/library/cc645579(SQL.110).aspx,但似乎都在 SQL Server 2008 R2 SP1 已經新增,應不算 Denali

 

  • sys.dm_exec_query_stats :增加了 total_rows, min_rows, max_rows 和 last_rows 等欄位
  • sys.dm_os_volume_stats:傳回儲存指定資料庫及檔案所在之作業系統磁碟區 (目錄) 的相關資訊。

SELECT db_name(f.database_id) db, f.name,f.physical_name, dovs.*
FROM sys.master_files AS f
CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id) dovs;

image

 

  • sys.dm_server_memory_dumps 等傳回服務相關資訊。

select * from sys.dm_server_memory_dumps
select * from sys.dm_server_services
select * from sys.dm_server_registry

image

再裝一次 CTP3

參照 Getting up and running with SQL Server Denali for Business Intelligence (Crescent and PowerPivot in CTP3)

中文版的 Crescent 存取始終有權限問題,不知是設定錯誤還是本身有問題,用英文版再試一次…

因為對 SharePoint、Hyper-V、AD、Denali 不夠熟悉,重裝 3 次仍有問題,這次留下些紀錄好檢討 😦

 

待安裝的 WIndows 加入 Windows AD

裝 SharePoint 前須先裝 Prerequistes

image

安裝 SharePoint "Farm" 選擇 "完整" 但不要設定,讓 SQL Server 設定與 BI 整合

安裝 SharePoint 2010 SP1

找不到安裝前檢查所需的 Update

image

先完整安裝 Denali 所有的功能

image

自動建立相關服務的帳號

image

需要研究一下實際的授權狀況 😦

image

可能因為還沒有設定 SharePoint

image

應先裝 SQL Server PowerPivot for SharePoint

image

不須選任何元件

image

服務帳戶似乎一定要 AD 帳號,非要加入 AD 不可 傷心,但奇怪的是要到 Server Configuration 才被迫放棄,為何不在選擇 SQL Server PowerPivot for SahrePoint 的步驟提醒…

image

裝完 AS,執行 PowerPivot Configuration Tool

image

SharePoint 的 Service Application 尚沒有 Reporting Service,再裝一次

image

AS 改裝 Tabular Mode

image

安裝完畢,SharePoint 還是沒有 SQL Server Reporting Services Service Application

參照 Configuring SQL Server Denali Reporting Services SharePoint 2010 Integration,透過 SharePoint 2010 Management Shell 執行

  1. Type the following PowerShell command> Install-SPRSService
  2. Type the following PowerShell command> Install-SPRSServiceProxy
  3. Now to start the service type the following PowerShell Command> get-spserviceinstance -all |where {$_.TypeName -like “SQL Server Reporting*”} | Start-SPServiceInstance

image

這才有

image

建立 SQL Server Reporting Services Service Application

image

建立完畢後的訊息

image

點選 Provision Subscriptions and Alters 後, Download Script 在 SQL Server 執行

image

還是一樣的錯誤…

image

還是沒有 Report Library

image

參照 Configuring SQL Server Denali Reporting Services SharePoint 2010 Integration:If you do not see the Reports Library option you will want to make sure that the Enterprise Features are enabled not only at the Site Collection Level, but also at the Site level.

image

image

啟動完 Site 的 SharePoint Server Enterprise Site features 就可以有 Report Library

image

若沒看到上述畫面,需要先安裝 SilverLight

image

而後就可以照 Configuring SQL Server Denali Reporting Services SharePoint 2010 Integration 做完練習了 🙂

裝完英文版,才知是漏設定,非語言版本…

Denali T-SQL 新增的函數

Programmability Enhancements (Database Engine)

Conversion functions

  • Parse:將字串轉為指令資料類型

select parse(‘NT$ 3’ as money using ‘zh-TW’)  — 就 CTP 3 而言,線上叢書的範例用逗號是錯的,要用 using

image

select parse(‘NT$ 3’ as money using ‘en-US’)

訊息 9819,層級 16,狀態 1,行 1
使用 ‘en-US’ 文化特性將字串值 ‘NT$ 3’ 轉換成資料類型 money 時發生錯誤。

線上叢書關於 Parse 函數的這段說明需要注意,很多新增的函數好像都跟 CLR 有關

PARSE relies on the presence of .the .NET Framework Common Language Runtime (CLR). If the server does not have the CLR installed, then the statement with the call to the PARSE function fails. If the user has disabled the CLR by using sp_configure, the PARSE function continues to work, since it is a system function and not a user-defined function.

This function will not be remoted since it depends on the presence of the CLR. Remoting a function that requires the CLR would cause an error on the remote server.

  • Try_Convert:將資料已指定型別傳回,轉型失敗,回傳 NULL

with v(c1)as(select c1 from (values(‘a’),(‘123’),(NULL),(‘12.3’)) t(c1))
select isnull(try_convert(int, c1),0) from v

image

  • Try_Parse:將字串內容嘗試轉成目的資料類型,若無法轉成目的類型,則傳回 null

with v(c1)as(select c1 from (values(‘$3’),(‘NT$ 3’),(NULL),(‘12.3’)) t(c1))
select try_parse(c1 as money using ‘en-US’) from v  — 就 CTP 3 而言,線上叢書的範例用逗號是錯的,要用 using

image

 

Date and time functions

with v(Year,Month,Day)as(select * from (values(1,1,1),(null,1,1),(9999,12,31),(1,-1,1)) t(year,month,day))
select DateFromParts(Year,Month,Day) from v
image

最後一筆會造成錯誤:

訊息 289,層級 16,狀態 1,行 1
無法建構資料類型 date,部分引數擁有無效的值。

  • Datetime2FromParts:給予 year, month, day, hour, minute, seconds, fractions, precision,precision 指定小數位數,要是常數,且要大於等於代表 fraction 的字元長度量

with v(Y,M,D,h,mm,s,f)as(select * from (values(1,1,1,1,1,1,12345),(9999,12,31,23,59,59,1234567)) t(Y,M,D,h,mm,s,f))
select Datetime2FromParts(Y,M,D,h,mm,s,f,7) from v

image

 

尚有 DatetimeFromPartsDatetimeOffsetFromPartsSmallDatetimeFromPartsTimeFromParts 功能近似的新增函數。

  • EOMonth:傳回指定月份的最後一天,傳回的資料類型會根據第一個參數的資料類型

with v(n)as(select * from (values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11)) t(n))
select EOMonth(cast(getdate() as date),n) from v

image

 

Logical functions

  • 提供與 RS 功能近似的 Choose 函數

SELECT CHOOSE ( 4, ‘1’, 2, 3.0, convert(char(1),0x34) ) AS Result; — 4.0,會轉型

with v(c1) as (select c1 from (values(1),(2),(3)) t(c1))
select choose(c1, ‘1’, 2, 3.0, convert(char(1),0x34) ) from v
image

  • IIF 與各處的 IIF 相同 🙂

with v(c1,c2)as(select * from (values(1,2),(2,1),(2,2)) t(c1,c2))
select iif(c1>c2,c1,c2) from v

image

 

String functions

  • Concat:銜接字串,NULL 會被視為空字串而非 NULL

SELECT concat(‘a’,’b’)
UNION ALL
SELECT concat(‘a’,null,’b’)
UNION ALL
SELECT concat(0,null,1.23,’a’)

image

  • format:傳回指定格式的字串

select format(123,’c4′,’en-US’)
union all
select format(123,’yy/mm/dd’,’zh-TW’)
union all
select format(getdate(),’yyyy/MM/dd’,’zh-TW’)
union all
select format(getdate(),’y-M-d h:m:s’)

image

 

Analytic Functions

  • CUME_DIST:Calculates the cumulative distribution of a value in a group of values in Microsoft SQL Server Code-Named “Denali”, Community Technology Preview 3 (CTP 3). That is, CUME_DIST computes the relative position of a specified value in a group of values. For a row r, assuming ascending ordering, the CUME_DIST of r is the number of rows with values lower than or equal to the value of r, divided by the number of rows evaluated in the partition or query result set. CUME_DIST is similar to the PERCENT_RANK function.
  • PERCENT_RANK:Calculates the relative rank of a row within a group of rows

with v(Part,ID) as (select * from (values(1,1),(1,1),(1,3),
(2,1),(2,2),(2,3),(2,4)) t(Part,ID))
SELECT Part,ID,
CUME_DIST () OVER (PARTITION BY Part ORDER BY ID) AS CumeDist,
PERCENT_RANK() OVER (PARTITION BY Part ORDER BY ID ) AS PctRank
FROM v

image

  • First_Value:群組內,依排序值的第一個,傳回指定欄位的值
  • Last_Value:似乎是群組內,依排序值若有相同值,取最後一個,傳回指定欄位的值

with v(Part,ID,Val) as (select * from (values(1,’a’,1),(1,’b’,1),(1,’c’,3),
(2,’a’,1),(2,’b’,2),(2,’c’,2),(2,’d’,4)) t(Part,ID,Val))
SELECT Part,ID,val,
First_Value (ID) OVER (PARTITION BY Part ORDER BY val DESC) AS FirstVal,
Last_Value(ID) OVER (PARTITION BY Part ORDER BY val) AS LastVal,
Last_Value(val) OVER (PARTITION BY Part ORDER BY val) AS LastVal2
FROM v

image

  • lag:群組內,依照排序取當下成員的前一個成員,傳回指定欄位的值或是預設值
  • lead:群組內,依照排序取當下成員的後一個成員,傳回指定欄位的值或是預設值

with v(Part,ID) as (select * from (values(1,1),(1,2),(1,3),
(2,1),(2,2),(2,3),(2,4)) t(Part,ID))
SELECT Part,ID,
lag (id,1,-99) OVER (PARTITION BY Part ORDER BY ID) AS Lag1,
lead(id,1,-99) OVER (PARTITION BY Part ORDER BY ID ) AS Lead1
FROM v

image

  • percentile_cont:依照群組與排序,取百分率與內差的值,在紀錄中不一定實際有該值
  • percentile_disc:依照群組與排序,取百分率對應的紀錄值

with v(Part,ID) as (select * from (values(1,1),(1,2),(1,3),
(2,1),(2,2),(2,3),(2,4)) t(Part,ID))
SELECT Part,ID,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ID)
                            OVER (PARTITION BY Part) AS MedianCont,
PERCENTILE_DISC(0.6) WITHIN GROUP (ORDER BY ID)
                            OVER (PARTITION BY Part) AS MedianDisc,
PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY ID)
                            OVER (PARTITION BY Part) AS MedianDisc2
FROM v

image

SQL Denali CTP3

再度進入 K Beta 的循環,漫長地安裝等待…

 

下載 CTP  SQL Server Code Name "Denali" CTP3

Microsoft® SQL Server® code name ‘Denali’ Community Technology Preview 3 (CTP 3) 功能套件

technet What’s New (Database Engine)

Juneau Web 安裝 http://www.microsoft.com/web/gallery/install.aspx?appid=JUNEAU10

整理新功能的 blog SQL Server “Denali”: CTP3 now available!

SQL Server Denali Samples Readme

各種 resource,例如:功能示範:Microsoft® SQL Server® code name ‘Denali’, Community Technology Preview 3 (CTP 3) Product Guide

可單獨安裝 AS 的 BISM Engine

image

RS 與 SharePoint 整合的方式改變了

image

若不要哪個登入連接,可以直接在下拉選單選到該伺服器名稱後,按 Del 就可以刪掉

image

大量的物件類型

image

到處逛逛

image

Sql Server Configuration Manager 針對服務的設定對話窗分門別類更細,功能更多

image

BIDS 換 VS 2010,內有不會用的 tabular models…

image

打開 Sample 專案也不知道如何用 😦

image

新的 SSIS 設計界面

image

SSIS 的管理完全改觀

image

image

image

執行 SSIS 封裝可以搭配環境

image

透過環境建立變數

image

image

image

image

image

Reporting Services Render Office 改採 Office 2007 後的格式

image

透過 Juneau 開發資料庫專案,Jueneau 需要額外透過 Web 安裝,且 VS 2010 需先上過 SP1

image

image

What’s New in Master Data Services (MDS) in Denali CTP3 其內討論到 MDS 與 DQS 整合,倒是可以一次看到設定兩個服務

image

需要額外安裝的增益集適用於 Microsoft® Excel® Community Technology Preview 3 (CTP 3) 的 Microsoft® SQL Server® code name ‘Denali’ Master Data Services 增益集

image

 

從早安裝到晚,至此,還在等與 SharePoint 2010 + SP1 整合安裝…

Denali 提供了單獨的 PowerPivot Configuration Tool,可透過 Setup 工具程式的"工具"頁籤,或是

"開始"->"所有程式"->"Microsoft SQL Server Denali CTP3"->"組態工具" 叫起,在安裝完後單獨執行對 SharePoint 的設定

image

若是要整合既有的 SharePoint 可參照 Configuring SQL Server Denali Reporting Services SharePoint 2010 Integration

Denali 終於會自動改名了

改 Windows 名稱後,Denali 終於會自動改掉 RPC Name,查詢 @@servername 會傳回 Windows 改後的名稱

Denali 的線上說明

Denali 的 BOL

SQL Server 2011 Denali CTP1

就已經知道關於 SQL Server 下一版 SQL Server 2011(Code Name Denali)的功能,可以想見又是大福新增,而非如 SQL Server 2008 R2 之於 SQL Server 2008 僅小幅新增。

但由於微軟現今釋出的 Public CTP1 尚未加入這些功能,所以目前看到的變化不多。

以下稍微討論一下 CTP1 :

除了 Master Data Services 整合在內,似乎安裝功能選項差不多

image

看起來預設的目錄命名規則未變

image

裝完後,找不到 Books on line,沒有 What’s new,只好隨便逛逛,比比看…

看起來還是 BIDS 與 Visual Studio 2008 整合,從微軟釋出的訊息,正式版應是整合 VS 2010。

看來 SSIS 工具列與 Designer 有換 WPF,但 Task 和 Workflow component 內容似乎沒變…

據微軟 SSIS Team 指出,整個開發環境有 200 多處小改善,例如:工具列新增了更多的分類,以利於找到想用的工具。可以 undo、Data Flow 可以加 group、mapping 欄位差異的編輯器…等等

image

其他 RS 和 AS 兩個看起來也一樣…

RS 將會提供 Web 版的報表設計工具並整合 Silverlight,並結合雲端上的 Data Market 利用公眾資料源設計報表…再度,每版 RS 都要讓人驚艷…

SSMS 有 VS 2010 的感覺…

image

Management 結點下多了些,另外多了 Integration Services 結點,可以建存放 SSIS Package 的 DB,由於 SSIS 在 2011 版大幅改變設定、部屬與監控的架構,回歸到 SQL Server 資料庫搭配 Agent 的作法,有點像 Agent Service 之於 MSDB,這讓 SSIS 2011 的管理將有全新的風貌

image

DB 內的 Programmability 多了 Sequences,

Storage 多了 Search Property Lists。

資料表內的資料類型似乎沒有增加

能匯出 Word,應該是 RS 2008 的報表了,但啟動時沒看到 Ajax 功能,所以應不是 RS 2008 R2,另外,派圖沒百分率的 Bug 依然在

image

資料庫多了 Containment Type 選項

image

 

T-SQL 功能的增強:

Sequence

— 建立 a Sequence

CREATE SEQUENCE MySequence

AS INT

    MINVALUE 1

NO MAXVALUE

    START WITH 1;

— 建立資料表

CREATE TABLE TIdentity1 (col1 int identity, col2 varchar(50));

CREATE TABLE TSeq1 (col1 int, col2 varchar(50));

GO

TRUNCATE TABLE TSeq1;

GO

INSERT TSeq1 (col1, col2) VALUES (NEXT VALUE FOR MySequence, ‘test’)

可以透過 Sequence 建立公式化的流水號,或讓多個資料表穿插使用相同的流水號序列