• SQL Tip 小技巧整理集 (總共 31 篇)

    SQL Tip 小技巧整理集總共 31 篇 ,提供給大家學習參考。

    [SQL Server Tip] 使用ALTER DATABASE 變更 SQL SERVER 2008 設定
      Change Settings with ALTER DATABASE in SQL Server 2008
    [SQL Server Tip] 設定SQL Server Agent 自動重新啟動服務 .Configure SQL
      Server Agent to Restart Services Automatically
    [SQL Server Tip]設定保全操作員讓你更安心 Play it Safe and Configure a
      Fail-Safe Operator
    [SQL Server Tip]使用 ALTER DATABASE 移動資料庫 ALTER DATABASE to
      Move Databases
    Work with Dynamically Configured Memory in SQL Server
      2008(SQL SERVER 2008記憶體動態自我調整)
    Ways to Find out What Data Was Deleted by SQL Server Repair
      (透過 SQL Server 挽救方法找出已刪除資料)
    Use New Cmdlets in SQL Server PowerShell to Mange SQL Server
      2008 (使用SQL Server PowerShell指令程式管理SQL Server 2008)
    Understand the Replication Models in SQL Server 2008 (了解SQL
      Server 2008 複寫模型)
    Recover Missing Data in SQL Server 2008 Using a Partial
      Restore (使用SQL Server 2008部分還原復原遺失資料)
    Optimize Memory for Indexing in SQL Server 2008 (優化SQL
      SERVER 2008 索引記憶體用量)
    New SQL Server Utility and Utility Control Points in SQL
      Server 2008 R2 (SQL SERVER 2008 R2 公用程式和公用程式控制點)
    Monitor SQL Server Performance and Activity with Built-In
      Functions (利用內建函數監控SQL Server 效能和活動)
    Learn About Manually Tweaking Parallel Processing Settings
      (學習手動調整平行處理設定)
    Know when not to Maximize Data Throughput for Network
      Applications (何時不將網路應用程式的資料傳送量最大化)
    Know the Monitoring Tools and Resources Available in SQL
      Server 2008(認識SQL SERVER 2008 監控工具和資源管理)
    Know How and When to Use Emergency Mode Repair
      (如何知道何時該使用緊急模式進行修復)
    How to Quickly Create a Copy of a Table using Transact-SQL
      (如何使用T-SQL快速複製資料表)
    Determine System and Server Information on SQL Server
      2008(識別SQL SERVER 2008系統和伺服器資訊)
    Customize Memory Allocation for Queries in SQL Server
      2008(自訂SQL Server 2008 查詢記憶體大小)
    Server Groups to Manage SQL Server
    Create Server Groups to Manage SQL Server
    Configure SQL Server 2008 to Automatically Manage File Size
      (設定SQL Server 2008自動管理檔案大小)
    Configure Remote Server Connections (設定遠端伺服器連接)
    Configure Parallel Processing in SQL Server 2008 (設定SQL
      Server 2008 平行處理)
    Configure a Fail-Safe Operator for Notifications
      (設定保全操作員的通知)
    設定你的SQL SERVER 弱點分析 Configure Your SQL Server Attack Surface
    使用T-SQL命令管理存取和角色權限 Manage Access and Roles with Transact-SQL
      (T-SQL) Commands
    透過命令模式管理SQL SERVER 服務 Manage SQL Server Services from the
      Command Line
    將SQL SERVER 2000 紀錄傳送升級為SQL SERVER 2008 Upgrade SQL Server
      2000 Log Shipping to SQL Server 2008
    使用 ALTER DATABASE 移動資料庫 Use ALTER DATABASE to Move Databases
  • 使用 ALTER DATABASE 移動資料庫 Use ALTER DATABASE to Move Databases

    你可以使用 ALTER DATABASE 陳述式移動任何系統或使用者自訂資料庫檔案(除了 Resource database 相關檔案例外)。移動檔案必須指定現有邏輯名稱和新的實體檔案路徑,而且這樣的方式一次只能移動一個檔案。

     

    計畫移動資料或記錄檔案請遵循以下步驟

    1. 取得資料庫檔案的邏輯名稱

    USE master

    SELECT name,
    physical_name

    FROM sys.master_files

    WHERE database_id
    = DB_ID('Personnel');

    1. 設定資料庫為離線工作

    ALTER DATABASE Personnel

    SET offline

    GO

    1. 對於要移���的每個檔案至新路徑請執行以下陳述式

    ALTER DATABASE Personnel

    MODIFY FILE ( NAME =
    Personnel_Data,
    FILENAME =

    'C:\Data\Personnel_Data.mdf')

    GO


    1. 重複步驟3移動其他資料和紀錄檔案

    2. 設定資料庫為線上工作

    ALTER DATABASE Personnel

    SET online

    GO

     

    驗證檔案變更

    USE master

    SELECT name, physical_name

    FROM sys.master_files

    WHERE database_id
    = DB_ID('Personnel');

     

     

    你也可能以邏輯名稱來移動全文檢索目錄。請注意當您指定新目錄的位置時,只需指定 new_path,而不需指定 new_path/file_name

    計畫移動全文檢索目錄請遵循以下步驟


    1. 設定資料庫為離線工作

    ALTER DATABASE database_name

    SET offline

    GO

    2. 對於要移動的每個全文檢索目錄至新路徑請執行以下陳述式

    ALTER DATABASE database_name

    MODIFY FILE ( NAME =
    logical_name, FILENAME = 'new_path')

    GO

    3.重複步驟2移動其他必要的全文檢索目錄檔案

    4. 設定資料庫為線上工作

    ALTER DATABASE database_name

    SET online

    GO

     

    關於ALTER DATABASE更多使用請看Change
    Settings with ALTER DATABASE in SQL Server 2008.

     

    來源出處: Microsoft Press book Microsoft SQL Server
    2008 Administrator’s Pocket Consultant, Second Edition
    by William R. Stanek.

  • 將SQL SERVER 2000 紀錄傳送升級為SQL SERVER 2008 Upgrade SQL Server 2000 Log Shipping to SQL Server 2008

    SQL Server 2000 交易紀錄傳送設定是透過維護計畫,這部分不同於SQL Server 2008 是透過資料庫屬性,因為這因素,所以你不能直接將SQL Server 2000 交易紀錄傳送升級到SQL Server 2008 ,然而,你可以整合你的SQL Server 2000交易紀錄傳送設定到SQL Server
    2008 交易紀錄傳送.

     

    請遵循以下步驟輕鬆升級交易紀錄傳送設定


    1. 升級所有次要伺服器執行個體到SQL Server 2008.當你升級次要伺服器執行個體時,任何的交易紀錄傳送都將保留在SQL Server 2000資料庫,因為這時資料庫是離線狀態.

    2. 升級主要伺服器到SQL Server 2008.升級過程中主要伺服器將無法使用,並且也無法執行故障轉移到次要伺服器.

    3.啟用主要資料庫交易紀錄傳送.請確保交易紀錄備份檔案是正常的.並使用和SQL Server 2000交易紀錄傳送設定相同的備份.

    4.在次要資料庫設定視窗中,你必須選擇 否,設定期間次要資料庫已初始化(No, The
    Secondary Database Is Initialized during the configuration).當你開始傳送交易紀錄時,次要資料庫將自動升級為SQL
    Server 2008資料庫.

     

    SQL Server 2008 將不會使用SQL
    Server 2000相關交易紀錄傳送資料表,整合之後,你可以移除下列SQL Server 2000 交易紀錄傳送資料表:

     

    • log_shipping_databases
    • log_shipping_monitor
    • log_shipping_plan_databases
    • log_shipping_plan_history
    • log_shipping_plans
    • log_shipping_primaries

    • log_shipping_secondaries

     

    也可以刪除所有SQL Server 2000 交易紀錄傳送相關的SQL Server Agent 作業.

     

    來源出處: Microsoft Press book Microsoft SQL Server
    2008 Administrator’s Pocket Consultant, Second Edition
    by William R. Stanek.

  • 了解SQL SERVER 2008 9種數值資料類型 Understand the 9 Numeric Data Types in SQL Server 2008

    在SQL Server 中你將發現數值資料類型是很常見的.SQL Server 2008 有9種數值資料類型.4種資料類型設計儲存各種大小的整數.2種資料類型設計儲存貨幣資料.4種資料類型設計儲存基於10進制不同精確度的數值.底下有各種數值資料類型範圍和儲存空間概觀.

    資料類型範圍的儲存空間

    資料類型

    範圍

    儲存空間

    tinyint

    0 to 255

    1 位元組

    smallint

    -32,768 to 32,767

    2位元組

    int

    clip_image002 to clip_image004-1

    4位元組

    bigint

    clip_image006 toclip_image008-1

    8位元組

    Decimal(p,s)

    Numeric(p,s)

    clip_image010 +1 to clip_image012-1

    5 to 17 位元組

    smallmoney

    -214,748.3648 to 214,748.3647

    4位元組

    money

    -922,337,203,685,477.5808 to

    922,337,203,685,477.5807

    8位元組

    real

    clip_image014 to clip_image016,0 and clip_image018 to clip_image020

    4位元組

    float(n)

    clip_image022 to clip_image024,0,and clip_image026

    to clip_image028

    4位元組或8位元組

    附註decimal 和 numeric兩者資料類型是完全相同的.兩者資料類型也支援往後產品相容性,當你需要儲存確切的小數值資料,這兩者資料類型也都能使用.然而,建議整個組織選擇其中一個使用以確保一致性.

    Money和smallmoney資料類型是特別設計用來儲存最多4位小數的貨幣值

    有趣的是 ,money和smallmoney雖然是設計來儲存貨幣值,但金融機構往往選用decimal資料類型來儲存更大的小數數值,因為利率和收益率計算方式才是決定的關鍵.

    float 資料類型的參數數字稱為尾數(mantissa),該參數是可選擇的.如果尾數定義在1和24之間,float儲存將耗用4位元組空間.如果尾數定義在25和33之間,float儲存將耗用8位元組空間.

    來源出處: Microsoft Press book Microsoft SQL Server 2008 Step by Step by Mike Hotek.

  • 透過命令模式管理SQL SERVER 服務 Manage SQL Server Services from the Command Line

    在本地系統中,你可以在標準命令提示字元視窗中輸入必要命令.在遠端系統中,你可以連線到遠端系統然後發出必要命令.透過相關命令,你可以啟動,停止和暫停 SQL Server或其他任何你想要控制的服務.管理預設資料庫伺服器執行個體,請使用以下命令:

    NET START MSSQLSERVER 啟動 SQL Server 服務.

    NET STOP MSSQLSERVER 停止執行中的 SQL Server 服務.

    NET PAUSE MSSQLSERVER 暫停執行中的 SQL Server 服務.

    NET CONTINUE MSSQLSERVER 繼續執行中的 SQL Server 服務.

    管理SQL Server 具名執行個體,請遵循以下命令:

    NET START MSSQL$instancename 啟動 SQL Server 服務,這裡的instancename是指真正的資料庫伺服器執行個體名稱.

    NET STOP MSSQL$instancename 停止 SQL Server 服務,這裡的instancename是指真正的資料庫伺服器執行個體名稱.

    NET PAUSE MSSQL$instancename 暫停 SQL Server 服務,這裡的instancename是指真正的資料庫伺服器執行個體名稱.

    NET CONTINUE MSSQL$instancename繼續執行中的 SQL Server 服務,這裡的instancename是指真正的資料庫伺服器執行個體名稱.

    你可在啟動選項增加 net start MSSQLSERVER 或 net start MSSQL$instance 命令.啟動選項會使用 / 來取代 – 符號,如以下例子:

    net start MSSQLSERVER /f /m

    net start MSSQL$CUSTDATAWAREHOUS /f /m

    真實世界的參考名稱可能不是 MSSQLSERVER 或 MSSQL$instancename,你可以參考服務所顯示的名稱.針對預設的執行個體,你可以使用 “SQL Server(MSSQLSERVER)”並搭配 net start,net stop,net pause和 net continue.針對具名的執行個體,你可以使用 “SQL Server(InstanceName)”,這裡的InstanceName是指執行個體的名稱,如 net start “SQL Server (CUSTDATAWAREHOUS)”.這兩種命令用法都必須要包含雙引號.

    來源出處: Microsoft Press book Microsoft SQL Server 2008 Administrator’s Pocket Consultant, Second Edition by William R. Stanek.