2014年9月9日 星期二

[SQL Server] 產生大量資料的小語法

DECLARE @i INT
DECLARE @MAX INT
 SET @i = 0
  SET @MAX = 10000
  WHILE (@i<@MAX)
  BEGIN
  INSERT INTO zTable_1 VALUES('abc','xyz')
  Set @i=@i+1
 END

[SQL Server] 自SQL Server 2008 R2 Cluster手動切換SQL Server 2008 R2 Mirror程序

--需求
   本地SQL Server 2008 R2 Cluster兩個Node主機須關機維護,並將服務切換至異地,待本地兩個Node主機完成維護後,需將維護這段期間資料回寫回本地資料庫

--環境說明,請參考以下網址
   SQL Server 2008 R2 容錯移轉叢集 + 鏡像(不具有自動容錯移轉的高安全性模式)

--切換程序
--本地切換到異地
--在本地node1主機上
01. 確認前端已無任何程式或排程連線到SQL Server
02. 將本地node2關機
03. 在[Microsoft SQL Server Management Studio]視窗中點選[新增查詢]
04. 在[新增查詢]視窗執行[sp_who2]確認已無連線
05. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
06. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
07. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
08. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
09. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
10. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
11. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
12. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
13. 在[鏡像]頁面按下[容錯移轉]
14. 在[資料庫屬性]視窗中按下[是]
15. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
16. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
17. 在[鏡像]頁面按下[容錯移轉]
18. 在[資料庫屬性]視窗中按下[是]

--在異地sqlcmmirror主機上
19. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
20. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
21. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
22. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
23. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
24. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
25. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
26. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
27. 在[鏡像]頁面的[伺服器網路位置]按下[暫停]
28. 在[資料庫屬性]視窗中按下[是]
29. 回到[資料庫屬性 - MARGIN_QUOTE]視窗中按下[確定]
30. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
31. 在[資料庫屬性 - MARGIN]視窗中的[選取頁面]點選[鏡像]
32. 在[鏡像]頁面的[伺服器網路位置]按下[暫停]
33. 在[資料庫屬性]視窗中按下[是]
34. 回到[資料庫屬性 - MARGIN]視窗中按下[確定]


--在本地node1主機上
35. 將本地node1關機


--異地切換至本地
--在異地sqlcmmirror主機上
01. 確認前端已無任何程式或排程連線到SQL Server
02. 在[Microsoft SQL Server Management Studio]視窗中點選[新增查詢]
03. 在[新增查詢]視窗執行[sp_who2]確認已無連線

--在本地node1主機上
04. 將本地node1開機

--在異地sqlcmmirror主機上
05. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
06. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
07. 在[鏡像]頁面的[伺服器網路位置]按下[繼續]
08. 在[資料庫屬性]視窗中按下[是]
09. 回到[資料庫屬性 - MARGIN_QUOTE]視窗中按下[確定]
10. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
11. 在[資料庫屬性 - MARGIN]視窗中的[選取頁面]點選[鏡像]
12. 在[鏡像]頁面的[伺服器網路位置]按下[繼續]
13. 在[資料庫屬性]視窗中按下[是]
14. 回到[資料庫屬性 - MARGIN]視窗中按下[確定]
15. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
16. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
17. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
18. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
19. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
20. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
21. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
22. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
23. 在[鏡像]頁面按下[容錯移轉]
24. 在[資料庫屬性]視窗中按下[是]
25. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
26. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
27. 在[鏡像]頁面按下[容錯移轉]
28. 在[資料庫屬性]視窗中按下[是]

--在本地node2主機上
29. 將本地node2開機


--整個程序完成後環境確認
--在異地sqlcmmirror主機上
01. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]下確認資料庫狀態為[MARGIN_QUOTE(鏡像,已同步處理/正在還原...)]
02. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]下確認資料庫狀態為[MARGIN(鏡像,已同步處理/正在還原...)]

--在本地sqlcluster01主機上
03. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]下確認資料庫狀態為[MARGIN_QUOTE(主體,已同步處理)]
04. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]下確認資料庫狀態為[MARGIN(主體,已同步處理)]

[SQL Server] SQL Server 2008 R2 容錯移轉叢集 + 鏡像(不具有自動容錯移轉的高安全性模式)

--架構

--SQL Server 2008 R2 容錯移轉叢集安裝設定請參考以下連結
   安裝設定SQL Server 2008 R2 容錯移轉叢集 (一)
   安裝設定SQL Server 2008 R2 容錯移轉叢集 (二)
   安裝設定SQL Server 2008 R2 容錯移轉叢集 (三)

--設定程序
--在MARGIN_QUOTE資料庫設定不具有自動容錯移轉的高安全性模式
01. 完整備份來源端資料庫(在sqlcluster01主機上)
BACKUP DATABASE [MARGIN_QUOTE] TO  DISK = N'T:\MARGIN_QUOTE.bak' WITH NOFORMAT, NOINIT,  NAME = N'MARGIN_QUOTE-完整 資料庫 備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

02. 備份來源端資料庫的交易記錄檔(在sqlcluster01主機上)
BACKUP LOG [MARGIN_QUOTE] TO  DISK = N'T:\MARGIN_QUOTE_LOG.bak' WITH NOFORMAT, NOINIT,  NAME = N'MARGIN_QUOTE-交易記錄  備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

03. COPY T:\MARGIN_QUOTE.bak \\192.168.200.200\sharefolder

04. COPY T:\MARGIN_QUOTE_LOG.bak \\192.168.200.200\sharefolder

05. 還原資料庫(在sqlcmmirror1主機上,並注意參數NORECOVERY)
RESTORE DATABASE [MARGIN_QUOTE] FROM  DISK = N'D:\MARGIN_QUOTE.bak' WITH  FILE = 1,  MOVE N'MARGIN_QUOTE01' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\MARGIN_QUOTE.mdf',  MOVE N'MARGIN_QUOTE02' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\MARGIN_QUOTE_1.ndf',  MOVE N'MARGIN_QUOTE_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\MARGIN_QUOTE_2.ldf',  NORECOVERY,  NOUNLOAD,  STATS = 10
GO
 
06. 還原交易紀錄檔(在sqlcmmirror1主機上,並注意參數NORECOVERY)
RESTORE LOG [MARGIN_QUOTE] FROM  DISK = N'D:\MARGIN_QUOTE_LOG.bak' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

--在sqlcluster01主機上
07. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN_QUOTE]上右鍵[工作]>[鏡像]

08. 在[設定資料庫鏡像安全性精靈]視窗中按[下一步]

09. 在[包含見證伺服器]視窗中點選[否]後按[下一步]

10. 在[主體伺服器執行個體]視窗中,將[端點名稱]欄位輸入[Margin_鏡像]後按[下一步]

11. 在[鏡像伺服器執行個體]視窗中按[連接]

12. 在[連接到伺服器]視窗中的[伺服器名稱]輸入[sqlcmmirror1]後按下[連接]
 
13. 回到[鏡像伺服器執行個體]視窗中按[下一步]

 
14. 在[服務帳戶]視窗中[主體]及[鏡像]欄位輸入[dba\dbadmin]後按[下一步]
 
15. 在[完成精靈]視窗中按下[完成]

16. 在[正在設定端點]視窗中按下[關閉]

17. 在[資料庫屬性]視窗按下[啟動鏡像]

18. 設定完成後就會出現如下的畫面後按下[確定]

--在MARGIN資料庫設定不具有自動容錯移轉的高安全性模式
19. 完整備份來源端資料庫(在sqlcluster01主機上)
BACKUP DATABASE [MARGIN] TO  DISK = N'T:\MARGIN.bak' WITH NOFORMAT, NOINIT,  NAME = N'MARGIN-完整 資料庫 備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

20. 備份來源端資料庫的交易記錄檔(在sqlcluster01主機上)
BACKUP LOG [MARGIN] TO  DISK = N'T:\MARGIN_LOG.bak' WITH NOFORMAT, NOINIT,  NAME = N'MARGIN-交易記錄  備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

21. COPY T:\MARGIN.bak \\192.168.200.200\sharefolder

22. COPY T:\MARGIN_LOG.bak \\192.168.200.200\sharefolder

23. 還原完整備份(在sqlcmmirror1主機上,並注意參數NORECOVERY)
RESTORE DATABASE [MARGIN] FROM  DISK = N'D:\MARGIN.bak' WITH  FILE = 1,  MOVE N'MARGIN01' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\MARGIN.mdf',  MOVE N'MARGIN02' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\MARGIN_1.ndf',  MOVE N'MARGIN_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\MARGIN_2.ldf',  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

24. 還原交易紀錄檔(在sqlcmmirror1主機上,並注意參數NORECOVERY)
RESTORE LOG [MARGIN] FROM  DISK = N'D:\MARGIN_LOG.bak' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

--在sqlcluster01主機上
25. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN_QUOTE]上右鍵[工作]>[鏡像]

26. 在[設定資料庫鏡像安全性精靈]視窗中按[下一步]

27. 在[包含見證伺服器]視窗中點選[否]後按[下一步]

28. 在[主體伺服器執行個體]視窗中按[下一步]

29. 在[鏡像伺服器執行個體]視窗中按[連接]

 30. 在[連接到伺服器]視窗中的[伺服器名稱]輸入[sqlcmmirror1]後按下[連接]

31. 回到[鏡像伺服器執行個體]視窗中按[下一步]

32. 在[服務帳戶]視窗中[主體]及[鏡像]欄位輸入[dba\dbadmin]後按[下一步]

33. 在[完成精靈]視窗中按下[完成]

34. 在[正在設定端點]視窗中按下[關閉]

35. 在[資料庫屬性]視窗按下[啟動鏡像]

36. 設定完成後就會出現如下的畫面後按下[確定]

相關文章
        自SQL Server 2008 R2 Cluster手動切換SQL Server 2008 R2 Mirror程序

2014年9月8日 星期一

[SQL Server] 安裝設定SQL Server 2008 R2 容錯移轉叢集 (三)

--最終篇預計完成以下項目
   a. node1 SQL Server安裝
   b. node2 SQL Server安裝

--安裝node1
01. 在[SQL Server安裝中心]視窗點選[安裝]>[新的SQL Server容錯移轉叢集安裝]
 
02. 在[安裝程式支援規則]視窗中按[確定]
 
03. 在[安裝程式支援檔案]視窗中按[安裝]

 04. 在[安裝程式支援規則]視窗按[下一步]。註:在此步驟可能會有警告,請確認這些警告不影響叢集安裝

 05. 在[產品金鑰]視窗按[下一步]
 
06. 在[接受條款]視窗勾選[我接受授權條款]後按[下一步]
 
07. 在[特徵選取]視窗依據需求勾選所需功能後按[下一步]
 
08. 在[執行個體組態]視窗中的[SQL Server 網路名稱]欄位輸入[sqlcluster01]後按[下一步]

 09. 在[磁碟空間需求]視窗按[下一步]
 
10. 在[叢集資源群組]視窗中按[下一步]

 11. 在[叢集磁碟選取]是視窗中勾選SQL用的磁碟,在此勾選[叢集磁碟1]及[叢集磁碟4]後按[下一步]
 
12. 在[叢集網路組態]視窗中的[指定此容錯移轉叢集的網路設定]將[DHCP]取消勾選,在[位址]欄位輸入[192.168.200.100]後按[下一步]
 
13. 在[叢集安全性原則]視窗中按[下一步]
 
14. 在[伺服器組態]視窗中按下[所有SQL Server服務都使用相同的帳戶]
 
15. 在[所有SQL Server 2008 R2服務都使用相同的帳戶]視窗中輸入[帳號名稱]及[密碼]欄位資料後按[確定]
 
16. 回到[伺服器組態]視窗中按[下一步]
 
17. 在[資料庫引擎組態]視窗中點選[混合模式(SQL Server驗證與Windows驗證)]後輸入[密碼],庵下[加入]輸入SQL Server管理員的帳號後按[下一步]
 
18. 在[資料庫引擎組態]視窗中點選[資料目錄]頁籤,依據實際環境指定存放目錄後按[下一步]

 19. 在[錯誤報告]視窗中按[下一步]
 
20. 在[叢集安裝規則]視窗中按[下一步]
 
21. 在[準備安裝]視窗中按[安裝]
 
22. 在[完成]視窗中按下[關閉]
 
--安裝node2
23. 在[SQL Server安裝中心]視窗點選[安裝]>[將節點加入到SQL Server容錯移轉叢集]
 
24. 在[安裝程式支援規則]視窗中按[確定]
 
25. 在[產品金鑰]視窗按[下一步]
 
26. 在[授權條款]視窗勾選[我接受授權條款]後按[下一步]
 
27. 在[安裝程式支援檔案]視窗中按[安裝]
 
28. 在[安裝程式支援規則]視窗按[下一步]。註:在此步驟可能會有警告,請確認這些警告不影響叢集安裝
 
29. 在[叢集節點組態]視窗中按[下一步]
 
30. 在[服務帳戶]視窗中輸入[SQL Server Database Engine]及[SQL Server Agent]的服務帳戶[密碼]按[下一步]
 
31. 在[錯誤報告]視窗中按[下一步]
 
32. 在[加入節點規則]視窗中按[下一步]
 
33. [準備加入節點]視窗中按[安裝]

 34. 在[完成]視窗中按下[關閉]

安裝設定SQL Server 2008 R2 容錯移轉叢集 (一)
安裝設定SQL Server 2008 R2 容錯移轉叢集 (二)