Browse by Tags

Related Posts
  • Blog Post: 利用內建函數監控SQL Server 效能和活動 Monitor SQL Server Performance and Activity with Built-In Functions

    除了使用交易紀錄檔和Transact-SQL陳述式外,你將發現還有一系列的內建函數可以傳回系統資訊.這裡我大略列出幾個關鍵的內建函數和它們的使用方法.返回的數值都是自SQL Server 最後一次啟動時間之後開始累積來的. 監控 SQL Server 效能和活動的內建函數 函數 描述 範例 @@connections 傳回嘗試連接SQL Server的連接次數 select @@connections as ‘Total Login...
  • Blog Post: SQL SERVER 2008記憶體動態自我調整 Work with Dynamically Configured Memory in SQL Server 2008

    SQL Server是依據工作負載和可用記憶體資源來動態調整記憶體使用量. 整體記憶體使用量介於最小和最大伺服器記憶體設定之間,最小伺服器記憶體建議依據SQL Server使用基準來設定,但該記憶體並不會一開始就完全配置,主要是依據資料庫工作負載來配置記憶體,當已達到最小伺服器記憶體門檻,這門檻將變成基準值,且記憶體將不在釋放. 動態調整記憶體請遵循以下步驟 1.伺服器屬性視窗中選擇記憶體頁面 2.分別設定最小伺服器記憶體和最大伺服器記憶體.建議最大伺服器記憶體設定值是針對獨立伺服器或接近全部記憶體(實體記憶體+虛擬記憶體).不過,如果你一台伺服器上執行多個SQL...
  • Blog Post: 透過 SQL Server 挽救方法找出已刪除資料 Ways to Find out What Data Was Deleted by SQL Server Repair

    當發生問題時,有可能你別無選擇必須使用 DBCC CHECKDB並搭配 REPAIR_ALLOW_DATA_LOSS選項時,該選項可能會造成一些資料的遺失.這時你的任務將變成要找出有那些資料遺失,同時盡可能重建遺失資料或反映資料庫其他固定部分的遺失. 執行修復之前,你必須先嘗試透過DBCC CHECKDB 檢查有那些頁面是損壞的.這樣你才知道有什麼樣的資料在上面.同時請注意以下錯誤訊息: Server: Msg 8928, Level 16, State 1, Line 2 Object ID 645577338, index ID 0: Page (1:168582) could...
  • Blog Post: 使用SQL Server PowerShell指令程式管理SQL Server 2008 Use New Cmdlets in SQL Server PowerShell to Mange SQL Server 2008

    Use New Cmdlets in SQL Server PowerShell to Mange SQL Server 2008 (使用SQL Server PowerShell指令程式管理SQL Server 2008) SQL Server PowerShell 指令程式(cmdlets)不同於標準 Windows PowerShell,主要差別就是註冊崁入式管理單元是不同的, SQL Server 有額外特別的指令程式可以使用,但這些程式可能還不存在標準的PowerShell指令程式中. SQL Server PowerShell除了原有執行指令程式外還包含以下額外的指令程式...
  • Blog Post: 了解SQL Server 2008 複寫模型 Understand the Replication Models in SQL Server 2008

    複寫處理架構是相當全面的.這是為了確保架構可以滿足任何情況的複寫需求.不幸的是,這也會造成複寫配置變得更棘手. 為了使建立複寫更順暢,你應該要有一個規劃,請先選擇一個特定的複寫模型,並事先把初步必要工作完成後,才能開始配置複寫. 這裡主要依你所選擇的複寫模型來規劃實體配置,包含發行者,散發者,和訂閱者資料庫.你可能會想使用以下常見的複寫模型: 點對點模型 在拓樸中允許相同參與者之間的複製.該模型優點可以允許已認可角色在複寫節點之間動態移動,這對維護和錯誤管理來說相當方便.但缺點是移動角色會增加額外的管理成本. 中央發行者模型 在同一台伺服器中維護發行者和散發者資料庫,並搭配其他伺服器上一或多個訂閱者...
  • Blog Post: 使用SQL Server 2008部分還原復原遺失資料 Recover Missing Data in SQL Server 2008 Using a Partial Restore

    如果你懷疑資料庫有一部分遺失或毀損,你可以進行部分還原到一個新位置,到時你就能復原遺失或毀損的資料.要達到這點,就必須在Transact-SQL 執行 RESTORE DATABASE 陳述句時一起使用 PARTIAL 選項.但你只可以還原檔案群組層級的部分資料庫.不過主要檔案和檔案群組總將在你指定的檔案和相對應檔案群組一起還原.那些無法還原的檔案和檔案群組將被標記離線並且你也無法存取它們. 開始還原和復原過程: 1.實行一個部份資料庫還原.在 RESTORE DATABASE 陳述式中給一個新的資料庫名稱和位置,並且使用 MOVE/TO 將原本資料庫來源檔案移動到一個新位置.如以下範例...
  • Blog Post: 優化SQL SERVER 2008 索引記憶體用量 Optimize Memory for Indexing in SQL Server 2008

    SQL Server 2008 預設是自行動態管理索引建立記憶體量. 若建立索引時需要更多記憶體,且有足夠的記憶體可用,則伺服器會使用該記憶體,該記憶體大小是基於伺服器記憶體選項的設定。若沒有更多可用的記憶體,則會使用預先配置的記憶體繼續進行索引建立作業. 一般來說, SQL Server 對於索引建立記憶體量可以自我調整到最佳狀態.而主要的例外是當你使用資料表或索引資料分割且非對齊之資料分割. 在某些狀況下建立索引你可能會遇到問題而失敗,如高度平行處理情況,如果真的發生時,請考慮增加這個選項的執行值. 使用索引建立記憶體請遵循以下步驟: 1. 伺服器屬性選擇記憶體頁面並在索引建立記憶體中設定數值...
  • Blog Post: SQL SERVER 2008 R2 公用程式和公用程式控制點 New SQL Server Utility and Utility Control Points in SQL Server 2008 R2

    SQL Server共用程式對資料庫引擎來說是一個中央資源庫,它能幫你收集效能資料.前提是每一個SQL Server執行個體都要建立獨立控制點. 控制點對SQL Server共用程式來說是一個中央收集點,並且可以檢視已被註冊的執行個體相關效能資訊和部署資料層應用程式.你可以使用這些收集來的資訊幫助你執行容量規劃和確認資源是否被過度使用. 你的組織中可以有多個控制點.每一個控制點可以管理SQL Server和資料層應用程式.當你將執行個體註冊到一個控制點或部署資料層應用程式到一個控制點後,你可以在控制點上監控資源使用量原則,幫助你確定以下資源如何被使用: · CPU...
  • Blog Post: 學習手動調整平行處理設定 Learn About Manually Tweaking Parallel Processing Settings

    一般來說,SQL Server 平行查詢處理都是針對需高成本的大量運算來處理,如下列條件: ●當 CPU 數量大於活動連接數量 ●當序列化查詢預估成本高於平行處理原則所設定的成本臨界值(預估成本是指執行序列化查詢之經過時間(以秒為單位))。 然而有些陳述句類型是無法使用平行處理的。例如 UPDATE, INSERT, 和 DELETE 操作通常無法使用平行處理即便相關查詢符合標準。但在某些情況下,SQL Server會更改序列化查詢並使用平行處理,如 Update 或 Delete陳述句包含 Where 或者 Insert 陳述句包含 Select , Where 和 Select...
  • Blog Post: 何時不將網路應用程式的資料傳送量最大化 Know when not to Maximize Data Throughput for Network Applications

    如果你在Windows Server 2003 上執行SQL Server 2008,請勿將網路應用程式的資料傳送量最大化.這設定將造成應用程式優先執行緩衝區快取頁面. 使用這選項可能會限制SQL Server 2008的記憶體可用量. 檢視並修改設定請遵循以下步驟: 1. 開啟控制台並選擇網路連線 2. 右鍵點選區域網路並選擇屬性 3. 選擇File And Printer Sharing For Microsoft Networks 並選擇內容 4. 在最佳化 頁籤下,選取網路應用程式的資料輸送量最大化 5. 重新啟動伺服器套用所有設定 來源出處...
  • Blog Post: 認識SQL SERVER 2008 監控工具和資源管理 Know the Monitoring Tools and Resources Available in SQL Server 2008

    你將使用 SQL Server 主要又可靠的監控工具,如效能監控和SQL Server Profiler.但也有其他可用的監控工具資源可使用.包括: 活動監視器 (Activity Monitor) 該監視器提供活動中的使用者,處理序(processes)和鎖(locks)相關資訊,這些在Managing Server Activity 第134頁有相關討論.想要顯示活動監視器,你可以透過物件總管查看並存取Database Engine中的執行個體.在執行個體右鍵點擊後選擇活動監視器. 複寫監視器 (Replication Monitor) 該監視器提供SQL Server...
  • Blog Post: 如何知道何時該使用緊急模式進行修復 Know How and When to Use Emergency Mode Repair

    當資料庫的交易紀錄檔已經毀損且也沒有可用的備份檔案來還原時,就可以使用緊急模式(EMERGENCY mode)進行修復或還原.在這個交易紀錄檔毀損的案例中,正常的修復是沒辦法成功的,因為交易紀錄檔已經毀損導致修復無法完整記錄. 在SQL Server 2000 和更早的版本,緊急模式(EMERGENCY mode)中使用 DBCC REBUILD_LOG 命令沒有相關文件說明驗證該如何重建交易紀錄檔.但這個程序在網際網路上公開流傳,且不幸的事沒有完整又正確步驟.基於這原因,開發團隊決定再SQL Server 2005增加如何重建交易紀錄黨並還原資料庫相關文件和方法.這特性就叫緊急模式修復而且相關機制在SQL...
  • Blog Post: 如何使用T-SQL快速複製資料表 How to Quickly Create a Copy of a Table using Transact-SQL

    建立並複製一個資料表最簡單的方法是使用Transact-SQL命令.使用 SELECT INTO 去擷取已存在的資料表所有資料列並匯入到一個新資料表.新資料表並不需要已存在.按照下面範例將會複製Sales結構描述下的 Customer 資料表,並匯入到BizDev結構描述一個CurrCustomers新資料表. SELECT * INTO BizDev.CurrCustomers FROM Sales.Customers 你也可以在原有資料表中,針對某些特定欄位來建立新資料表.在這案例中,你在SELECT關鍵字後面接了某些特定欄位名稱.沒有指定的欄位將不會出現在新資表中.按照下面範例複製特定欄位到一新資料表...
  • Blog Post: 識別SQL SERVER 2008系統和伺服器資訊 Determine System and Server Information on SQL Server 2008

    伺服器屬性視窗中的一般頁面包含系統和伺服器資訊.你可以透過一般頁面識別以下資訊: · SQL Server 版本 · 作業系統版本 · SQL Server 產品版本 · 平台 · 預設語系 · 記憶體數量 · 處理器數量 · 根目錄 · 伺服器定序 你可以使用延伸的預存程序 xp_msver來取得類似的資訊.請執行以下命令: exec xp_msver "ProductName", "ProductVersion...
  • Blog Post: 自訂SQL Server 2008 查詢記憶體大小 Customize Memory Allocation for Queries in SQL Server 2008

    Customize Memory Allocation for Queries in SQL Server 2008(自訂SQL Server 2008 查詢記憶體大小) SQL Server 2008 預設會為執行查詢分配最小記憶體為 1024 KB.這樣可以保證每位使用者都可以取得該記憶體分配,而且可以設定介於 512 KB 到 2 GB之間.如果你增加查詢的最小記憶體大小,這可以改善執行密集處理操作的查詢效能,如排序或雜湊.但如果該數值你設定太高,就可能會降低系統效能.因為這樣,只有當你遇到執行查詢問題時,你才考慮去調整最小記憶體大小. 記憶體預設設定為 1024 KB,這幾乎可以符合大多數的情況...
  • Blog Post: Create Server Groups to Manage SQL Server

    你可以透過SQL Server伺服器群組整理相關執行的SQL Server。也可以依部門或功能整理。也能再第一階層群組中建立子群組。 透過 SQL Server Management Studio 所提供的已註冊的伺服器來檢視工作中伺服器群組。 一般來說位於最上層節點通常是都本機SQL Server Instance。雖然你也可以新增註冊的伺服器直接加入該群組, 如果你有很多SQL Server instances ,你大概會想建立伺服器群組階層。例如,在預設 Database Engine 群組下, 你可以針對企業客戶、工程師和企業資料建立相關子群組。 建立伺服器群組...
  • Blog Post: 設定SQL Server 2008自動管理檔案大小 Configure SQL Server 2008 to Automatically Manage File Size

    SQL Server 2008 中,你可以透過SQL Server Management Studio 或 Transact-SQL 來設定資料庫或交易紀錄檔大小為自動或手動管理 透過 SQL Server Management Studio設定資料庫和交易紀錄檔自動管理大小請遵循以下步驟: 1. 啟動SQL Server Management Studio並在物件瀏覽器中正確連線伺服器,並且展開資料庫資料夾. 2.右鍵點選你想要設定的資料庫,並從快顯選單選擇屬性. 3.在資料庫屬性視窗頁面清單中選擇檔案,每一個和資料庫相關聯的資料和交易紀錄檔案都列在資料庫檔案下...
  • Blog Post: 設定遠端伺服器連接 Configure Remote Server Connections

    處理從其他伺服器的連接是不同於使用者連接的.你可以確認其它伺服器是否可連接到該伺服器,如果有使用分散式交易的話,可以控制遠端查詢逾時時間是多少.想要設定遠端連接連接請遵循以下步驟: 1. 在伺服器屬性視窗選擇連接頁面. 2. 勾選允許伺服器的遠端連接.遠端伺服器應該要可以登入該伺服器遠端執行預存程序(stored procedures).如果你選擇了該選項,你必須重新啟動SQL Server 執行個體才能套用相關改變. 注意:Remote procedure call(RPC) 連接預設是允許的.如果你變更了該行為,遠端伺服器將無法登入SQL Server.該設定的變更,將可保持SQL...
  • Blog Post: 設定SQL Server 2008 平行處理 Configure Parallel Processing in SQL Server 2008

    大量的運算是需要確定是否要使用平行處理.一般來說,有以下情況,SQL Server 才會對查詢使用平行處理: ●當 CPU 數量大於活動連接數量. ●當序列化查詢預估成本高於平行處理原則所設定的成本臨界值(預估成本是指 執行序列化查詢之經過時間(以秒為單位)). 然而有些陳述句類型是無法使用平行處理的。例如 UPDATE, INSERT, 和 DELETE 操作通常無法使用平行處理即便相關查詢符合標準。但在某些情況下,SQL Server會更改序列化查詢並使用平行處理,如 Update 或 Delete陳述句包含 Where 或者 Insert 陳述句包含 Select...
  • Blog Post: 設定保全操作員的通知 Configure a Fail-Safe Operator for Notifications

    當事情發生錯誤並通知失敗時,這會導致操作員不知情而且問題也無法及時處理,為了預防這樣的情況,你可能想要規劃一個保全操作員。保全操作員將在下列情況下發出通知: ●當 SQL Server Agent 無法存取 msdb 資料庫(保全操作員相關定義和通知清單都存放在此)中的系統資料表時. ●所有的定義操作員發生錯誤或指定的操作員超出時間設定(以排程時間為主). 設定保全操作員請遵循以下步驟 1. 開啟 SQL Server Management Studio 並點選 SQL Server Agent 屬性 2. 屬性視窗中選擇警示系統 3. 啟用保全操作員...