2013年9月1日 星期日

如何切換叢集的仲裁模式至節點與檔案共用多數

        相信在前面的幾篇文章中,大家已經知道如何架設AlwaysOn,也其了解與其他高可用性功能之間的差異,如果大家還是是不熟的話,可以參考下列的文章,因為陸續接到許多的網友來信問到關於AlwaysOn在沒有Quorum Disk是否仍可以進行Auto-Failover的部份,所以本篇我就來實際的介紹一下,如何將原本的 [節點與磁碟多數] 變更成 [節點與檔案共用多數],如此一來即可在不需要Quorum Disk的情況下進行運作。

參考文章:
SQL Server 2012 AlwaysOn vs. Database Mirroring
http://caryhsu.blogspot.tw/2012/04/sql-server-2012-alwayson-vs-database.html
SQL Server 2012 新功能 - AlwaysOn安裝與設定
http://caryhsu.blogspot.tw/2012/04/sql-server-2012-alwayson.html
SQL Server - AlwaysOn連線設定
http://caryhsu.blogspot.tw/2012/04/sql-server-alwayson.html

1、我們以最小的三台架構來進行,也就是二台節點與一台AD伺服器,一開始我們先在AD的目錄下設定一個檔案分享,分稱為 [sync_folder],並且選擇 [共用] -> [進階共用]。


2、請勾選 [共用此資料夾],並進行權限的設定。

3、此處需要指定 Cluster 的 Virtual Server Name進行設定,並設定為完全控制。

4、相同的在 [安全性] 的頁次中,也請將Virtual Server Name也一同設定進去,權限也是相同為[完全控制]。

5、開啟容錯移轉叢集管理員 -> Cluster Name -> 其他動作 -> 設定叢集仲裁設定

6、直接點下一步

7、選擇 [節點與檔案共用多數]

8、指定在AD伺服器上設定的共用目錄。

9、確認說明

10、設定仲裁設定。

完成上述的動作後,您可以嘗試著將原本的Quorum Disk下線或進行Failover確保動作是否可以正常的運作,其實上述的動作建議在你的節點只有二個的情況下選擇這個方式,當你有多個節點時,建議還是透過Quorum Disk來進行仲裁才會比較好。

參考連結:
Understanding Quorum Configurations in a Failover Cluster
http://technet.microsoft.com/en-us/library/cc731739.aspx
Failover Cluster Step-by-Step Guide: Configuring the Quorum in a Failover Cluster
http://technet.microsoft.com/zh-tw/library/cc770620(v=ws.10).aspx

關鍵字:SQL ServerQuorum DiskQuorum configurationAlwaysOn

2013年8月17日 星期六

如何搬移使用者資料庫到其他的磁碟上

資料庫在建立時都會選擇你要將檔案放置在那一個磁碟上,但如果遇到如空間不足或是磁碟效能不足時,就需要將資料庫轉移到其他的磁碟上,下列我們就介紹如何進行資料庫的轉移作業。

1、查詢資料庫的名稱與檔案路徑的資訊
--切換目前資料庫
use  dbname
go

--列出目前資料庫的檔案資訊
sp_helpfile
go



2、將緩衝資訊寫回MDF檔案中
checkpoint

這點非常重要,可以將目前緩衝的資訊立即寫回MDF檔案中,藉以加快後續的作業。

3、將資料庫設定成離線狀態
alter database dbname set offline
go

--此步驟可能會因為有人在使用中,所以無法切換完成,如果一直都無法切換完成時,建議可以將前端的應用程式先行停用,以免應用程式不斷的連線資料庫,造成連線失敗。

4、手動複制MDF與LDF檔案至新的磁碟上

5、更改檔案位址
use master
go
Alter database dbname modify file (name = dbname, filename = 'physical path')
go
Alterdatabase dbname modify file (name = dbname _log, filename = 'physical path')
go

6、資料庫設定成上線狀態
alterdatabase dbname set online
go


參考連結:
How to use Detach and Attach functions to move SQL Server databases
http://support.microsoft.com/kb/224071/en-us
Overview of Checkpoints
http://msdn.microsoft.com/zh-tw/library/ms189573.aspx


關鍵字:SQL ServerMove User Database

2013年7月30日 星期二

Oracle轉換至SQL Server時,Outer Join運算子的處理方式

最近接到從Oracle轉移到SQL Server的案件,其中由於Oracle在使用查詢中使用了特定的Outer-Join Operators(*=、=*)語法(Non-ANSI),所以在轉換到SQL Server上就遇到問題了,其實在SQL Server 2000的版本上是有支援這個語法的,但是在後續的版本上就會遇到下列的問題。

執行語法:
SELECT e1.[EmployeeID]
      ,e1.[EmployeeName]
      ,e1.[Title]
      ,e1.[ManagerID]
      ,e2.[EmployeeName] mag_name
  FROM [Northwind].[dbo].[Employees] e1, [Northwind].[dbo].[Employees] e2
  where e1.[ManagerID] *= e2.[EmployeeID]

錯誤訊息:
Msg 4147, Level 15, State 1, Line 7
The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification,
please set the compatibility level for current database to 80, using the SET COMPATIBILITY_LEVEL option of ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes.


解決方法其實很簡單,就是將資料庫的相容性層級(Compatibility Level)設定成80,如此就可以直接使用,但由於在SQL Server 2012已不支援將相容性層級設定成80,所以強烈建議儘量改寫這部份的語法(如下列),以免日後升級時會遇到同樣的問題。

建議語法: SELECT e1.[EmployeeID]
      ,e1.[EmployeeName]
      ,e1.[Title]
      ,e1.[ManagerID]
      ,e2.[EmployeeName] mag_name
  FROM [Northwind].[dbo].[Employees] e1 Left Outer Join [Northwind].[dbo].[Employees] e2
  On e1.[ManagerID] = e2.[EmployeeID]

在SQL Server 2012上,如果要嘗試將相容性層級變更成80時,會遇到下列的錯誤訊息,因為已不支援這個相容性層級了。

錯誤訊息:
Msg 15048, Level 16, State 1, Line 1
Valid values of the database compatibility level are 90, 100, or 110.

關鍵字:SQL ServerCompatibility LevelOuter Join Operators

2013年7月25日 星期四

為愛而學!! 由Study4.TW主辦,SQL Pass和twMVC協辦的年度技術盛會!!

活動介紹
Study4.TW與SQL Pass和twMVC攜手來新竹為大家介紹在今年微軟所發表的最新技術,相信大家對於這些產品都想躍躍欲試,本次活動將由胡百敬老師、Sky、ChiaChi、James與Bibby等五位熱情分享技術的 MVP 來為大家介紹最新的技術,讓您在業界或學校成為最閃耀超級新星!
詳細活動資訊
詳細活動內容請見活動官網,網址為 http://study4love.tw/
活動時間:2013/08/17(六) 09:00 - 17:20
講師:胡百敬老師(SQL PASS)、Bibby(twMVC)、ChiaChi(Study4.TW)、James(Study4.TW)、Sky(Study4.TW)
地點:新竹市科學園區工業東二路1號(科技生活館-達爾文廳)
人數上限: 70人
適合對象:學生、開發人員以及系統開發維護相關人員
課程大綱:
主題/課程簡介 課程時間 講師經歷
使用 Hyper-V 的小細節
Windows Server 2008 開始就有提供 Hyper-V,
而隨著 Windows Server 2008 R2 / 2012 / 2012 R2,Hyper-V 在這些版本中都有許多不錯的功能一直加入,但在這些不同版本使用中,
是否有些我們需要注意的細節被忽略了,希望在這次分享中,可以跟大家聊聊我們在這些版本上使用的一些心得。
09:30 - 10:30
MVP James
  • 微軟最有價值專家
  • 鼎新電腦服務整合中心技術總監
  • Study4.TW 核心成員
  • Hyper-V 虛擬化戰士 - 金翅級
  • Study4.TW 常任講師
使用Visual Studio 2013 來進行敏捷開發
Visual Studio歷經了多代的改變,不再是打打Code、編譯的工具了,想要知道Visual Studio 2013增強了那些功能嗎?
想要了解如何透過Visual Studio 2013來進行整個敏捷軟體開發的流程嗎?
無論是團隊、一個人、或是還在使用Visual Studio 2012的朋友們,讓我們來看看Visual Studio如何應用在軟體開發上!!
10:50 - 11:50
MVP Sky
  • 微軟最有價值專家
  • 集英信誠.NET開發顧問
  • Study4.TW 核心成員、常任講師
  • 微軟Windows Azure BootCamp 台灣區講師
  • 微軟實戰課程日講師
AngularJS with ASP.NET MVC
還在用 jQuery 寫前端嗎?還在辛苦的操作 DOM 元素嗎?
還在因為越來越複雜 JavaScript 難以維護而煩惱嗎?
那您一定要瞧瞧 AngularJS 這個前端的 Javascript Framework,它由 Google 負責維護,雙向 Data Binding,MVC 的架構,簡單直覺易使用的特性,讓您有系統的撰寫JavaScript,本課程帶您認識 AngularJS 的核心觀念、關鍵技巧以及專案上可能遇到的一些問題。
13:30 - 14:30
MVP Bibby
  • 微軟最有價值專家
  • Windows Phone 獨立開發者
  • twMVC 聯合創辦人
  • 公司職訓課程講師
  • twMVC 常任講師
Open Data Protocol for Enterprise Solution
  • OData Protocol Introduction
  • Why to Use OData for Enterprise
    Microsoft Solution for OData
  • OData Operate Data
  • How to Use OData in Enterprise
  • Conclusion
14:45 - 15:45
MVP 郭家齊
  • 微軟最有價值專家
  • 友達光電 營運資訊處 工程副理
  • Study4.TW 核心成員
  • 雲林科技大學工業工程與管理專題講座主講人
  • 漢翔工業全球運籌管理專題講座主講人
SQL Server 2014 新功能探討 
  • SQL Server 2014 記憶體內資料庫 - 簡介
  • SQL Server 2014 記憶體內資料庫 - 資料結構
  • SQL Server 2014 記憶體內資料庫 - 資料更新
  • SQL Server 2014 記憶體內資料庫 - 語法相容性
16:00 - 17:00
MVP 胡百敬
  • 微軟最有價值專家
  • 集英信誠合夥顧問
  • 恆逸資訊約聘講師
  • 台灣微軟約聘顧問
  • SQL PASS Taiwan 核心成員
  • TechDays、MSDN、TechNet常任講師
報名資訊
報名時間:2013/07/26 12:00 - 08/15 23:59
票種:Study4.TW為愛而學 場地費
票價:NTD $250
報名網址:http://registrano.com/events/eeb127

2013年7月4日 星期四

安裝SQL Server 時,遇到NetFx3錯誤處理方式。

SQL Server 2014 CTP1已經開始開放下載了,但在嘗試安裝後,很不幸的遇到的安裝錯誤,但好在很快的就找出這個問題,並已解決,我將過程整理如下,再請參考。。 


SQL Server 2014 CTP1 下載網址:
Download Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1) http://technet.microsoft.com/en-us/evalcenter/dn205290.aspx

安裝環境:
Windows 2012
SQL Server 2014 CTP1

錯誤訊息:
Error while enabling Windows feature:NetFx3, Error Code:-2146498298, Please try enabling Windows feature:NetFx3 from Windows management tools and then run setup again. For more information on who to enable Windows features, see http://go.microsoft.com/fwlink/?linkid=227143



其實解決的方方在錯誤訊息的部份已有寫的很清楚,就是需要新增.Net Framework 3.5即可,你只需要在Add Roles and Features中勾選 [.NET Framwork 3.5 Features],然後再次進行SQL Server的安裝即可。



關鍵字:SQL Server 2014 CTP1、NetFx3、-2146498298