[SQL][MCSA]70-462 考試預備 ( 4/4 )
Server Audit ( MSDN : http://msdn.microsoft.com/en-us/library/cc280448.aspx )
-- 建立稽核存放區,可以指定到 Windows Application Log 或者是 File 目錄 ex: FILE ( FILEPATH ='\\SQLPROD_1\Audit\' ) CREATE SERVER AUDIT AuditDataAccess TO APPLICATION_LOG -- TO ; WITH ( QUEUE_DELAY = 1000, ON_FAILURE = SHUTDOWN); GO -- 啟用稽核 ALTER SERVER AUDIT AuditDataAccess WITH (STATE = ON); GO -- 選擇資料庫 USE TestDB ; -- 建立資料庫稽核並啟用 CREATE DATABASE AUDIT SPECIFICATION [FilterForSensitiveData] FOR SERVER AUDIT [AuditDataAccess] ADD (SELECT ON SCHEMA::[DataSchema] BY [public]) WITH (STATE = ON); GO
AlwaysON Backup ( MSDN : http://msdn.microsoft.com/zh-tw/library/hh710053.aspx )
-
利用 AUTOMATED_BACKUP_PREFERENCE 選項來指定四種模式 { PRIMARY | SECONDARY_ONLY | SECONDARY | NONE }
- PRIMARY : 指定備份一定要在主要複本上進行。
- SECONDARD_ONLY : 絕對不能在主要複本上執行備份,如果只剩下主要複本的時候則不能進行備份
- SECONDARD : 指定在次要複本上進行備份,但是主要複本是唯一線上複本的情況例外
- NONE : 不考慮是否為主要或副本
- 當有多個複本的時候,個別主機可以利用 BACKUP_PRIORITY 來設定優先順序,1 表示最低優先權,100 表示最高優先權
-- 指定 AlwaysON 備份模式 ALTER AVAILABILITY GROUP [AG1] SET ( AUTOMATED_BACKUP_PREFERENCE = SECONDARY_ONLY ); -- 指定複本的優先順序 ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON computer01 WITH (BACKUP_PRIORITY = 10); ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON computer02 WITH (BACKUP_PRIORITY = 20);
SSIS
- SSIS 2012 新增一個新的部屬模式 Project Deployment Model,跟以往 Package Deployment Model 兩種佈署方式。
- 針對兩者差異可參考 MSDN http://msdn.microsoft.com/zh-tw/library/hh213290
- 可以參考以下兩篇資料熟悉 Project Deployment Model
SQL Server的SSL加密
- 參考 CaryHsu 的設定文件 : http://caryhsu.blogspot.tw/2012/03/sql-serverssl.html
- 參考保哥的非網域內設定 : http://blog.miniasp.com/post/2012/08/25/How-To-Enable-SSL-Encryption-in-SQL-Server-2008-R2.aspx
立即檔案初始化 ( MSDN : http://msdn.microsoft.com/zh-tw/library/ms175935(v=sql.105).aspx )
- 參考國外網站的說明 : http://blogs.msdn.com/b/sql_pfe_blog/archive/2009/12/23/how-and-why-to-enable-instant-file-initialization.aspx
-
設定步驟
- 啟動本機安全性原則設定 ( secpol.msc )
- 將 SQL Server 服務帳號設定至執行磁碟區維護工作 ( Perform volume maintenance tasks )
- 重新啟動 Instance
- 不支援 TDE
Cluster
-
安裝的順序和步驟,官方的說明上介紹可以使用兩種方式 ( MSDN : http://technet.microsoft.com/zh-tw/library/hh231721.aspx )
- 先安裝單一節點執行安裝程式內的「安裝」選項中做容錯移轉叢集安裝 (1),再到其他節點主機上,利用安裝程式內的「安裝」選項中新增節點 (2) 的方式將其他主機上一個一個依序加入。
- 在所有主機上執行安裝程式內的「進階」選項中的「準備容錯移轉叢集」功能來執行安裝程式,都完成之後,在擁有共用磁碟的主機上,執行安裝程式內的進階選項中「完成容錯移轉叢集」功能來執行安裝程式。
-
Service Pack 安裝處理 ( http://support.microsoft.com/kb/958734 )
- 在 Passive 上面安裝 Service Pack or HotFix & Reboot
- 主客易位,把 Active Node 和 Passive Node 互換
- 將變成 Passive Node 的主機上,安裝 Service Pack or HotFix & Reboot
-
問題排除 ( http://msdn.microsoft.com/zh-tw/library/ms189117(SQL.110).aspx )
- 如果某節點硬體故障,可使用 SQL Server 安裝程式將故障的節點從容錯移轉叢集中移除,在電腦離線的情況下修復故障的硬體後將該機器連線,再將修復的節點重新加入容錯移轉叢集執行個體中。
Index 重整 ( MSDN : http://technet.microsoft.com/zh-tw/library/ms189858.aspx )
- Index Rebuild : This process drops the existing Index and Recreates the index.
- Index Reorganize : This process physically reorganizes the leaf nodes of the index
- 使用 DMV 中的 sys.dm_db_index_physical_stats,就可以查看索引中破碎片段比例。超過 30% 建議使用 Rebuild,而在 5% 到 30% 間建議採用 REORGANIZE,而 5% 以下則不建議處理。
- REORGANIZE 一定是 ONLINE 處理,而 REBUILD 預設是離線處理,除非是 Enterprise 或者是 Developer 版本,且有加入 "WITH (ONLINE = ON)" 的參數選項。
可參考 http://www.mssqltips.com/sqlservertip/2361/rebuilding-sql-server-indexes-using-the-online-option/
資料庫快照 ( http://msdn.microsoft.com/zh-tw/library/ms175876.aspx )
- 目前只有在 Enterprise 版本上有提供,且只能透過 T-SQL 語法建立,尚無法在 SSMS 上透過 GUI 建立。
- 可以透過 CREATE DATABASE database_sapshot_name AS SNAPSHOT OF source_database_name 的語法來建立。
- 如果對來源資料庫有任何更改,則可以到快照資料庫找到修改前的紀錄;但如果修改量非常大,也可以透過 RESTORE 的方式還原到建立 SNAPSHOT 的狀況。
- 還原指令為 RESTORE DATABASE database_name FROM DATABASE_SNAPSHOT =database_snapshot_name
TempDB 異常處理
- 如果 SQL Server 可以正常啟動,則使用 ALTER DATABASE MOVE FILE 的方式移動 Tempdb
- 如果檔案或者是磁碟已經損毀,則必須加入 /f /T3608 的參數進入 minimal configuration mode 後,利用 ALTER DATABASE 移動 TempDB 存放路徑之後,再重新啟動 Instance 之後,則 SQL Server 會在新的位置上重新建立 TempDB