匯出 (0) 列印
全部展開

SQL Database 同盟教學課程 -- DBA

更新日期: 2014年4月

同盟是在 Microsoft Azure SQL Database 中建立向外延展資料庫方案的一種方法。同盟是資料庫中的物件,可讓應用程式向外延展其部分或全部資料。

Important重要事項
目前的同盟實作將汰換 Web 和 Business 服務層。請考慮部署自訂的分區化解決方案以最大化擴充性、靈活性及效能。如需有關自訂分區化的詳細資訊,請參閱向外延展 Azure SQL Database

本教學課程會示範建立 Azure SQL 資料庫 同盟的程序、建立以及植入表格以及使用 SQL Server Management Studio (SSMS) 執行分割作業。在每個主要程序之後,您都將查看中繼資料以了解每個作業的結果。

在您開始本教學課程之前,必須先完成以下的步驟:

雖然此教學課程使用 SSMS 提供指示,其他選項會使用 Azure 管理入口網站

若要連接到 SQL Database 伺服器

  1. 開啟 SQL Server Management Studio。

  2. 在 [連接到 Database Engine] 對話方塊中,輸入或選取下列值:

     

    名稱

    伺服器名稱

    <提供伺服器名稱>

    驗證

    SQL Server 驗證

    Login

    <提供使用者識別碼>

    密碼

    <提供密碼>

  3. 按一下 [連接]

若要建立同盟,您要先建立一個當做同盟根資料庫的資料庫。同盟根是存放同盟目錄的初始資料庫。

若要建立同盟根資料庫

  1. 在 [物件總管] 中,依序展開 [資料庫][系統資料庫],然後按一下 [master]

  2. 按一下 [新增查詢]

  3. 確認 SQL 編輯器工具列上的 [可用的資料庫] 顯示 [master]

  4. 在 [查詢編輯器] 中,複製並貼上下列 T-SQL 陳述式:

    -- Create federation root database
    CREATE DATABASE [AdventureWorks1] 
    GO
    
    
  5. 從 SQL 編輯器命令列中,按一下 [執行]。請確認 [訊息] 窗格顯示 [命令已順利完成]

  6. 從 [物件總管] 中,以滑鼠右鍵按一下 [資料庫],然後按一下 [重新整理]。您應該會看到新的資料庫列在那裡。

同盟是指同盟配置所定義之資料庫資料分割的集合。同盟配置會定義同盟散發索引鍵,這個索引鍵會決定如何將資料散發至同盟內的資料分割。您可以在一個同盟根中建立多個同盟,但是每個同盟都只能有一個配置。若要建立同盟配置,您必須先連接到同盟根資料庫,然後執行 CREATE FEDERATION 命令。在本教學課程中,您要建立一個名稱為 CustomerFederation 的同盟,其散發名稱 cid 後面接著 RANGE 資料分割類型的 BIGINT。如需有關同盟的詳細資訊,請參閱Azure SQL Database 中的同盟

若要建立同盟配置

  1. 從 SSMS 按一下查詢編輯器內部的任何位置 (中間窗格)。您可能會看到 SQL 編輯器工具列上的按鈕變成啟用狀態。

  2. [可用的資料庫] 中,選取您在最後一個程序建立的同盟根。預設名稱為 AdventureWorks1

  3. 清除查詢編輯器中的所有文字。

  4. 將下列陳述式複製並貼入查詢編輯器中:

    -- Create federation scheme
    CREATE FEDERATION CustomerFederation(cid BIGINT RANGE)
    GO
    
    
  5. 從 SQL 編輯器命令列中,按一下 [執行]。並請確認 [訊息] 窗格顯示 [命令已順利完成]。

  6. 從 [物件總管] 中,以滑鼠右鍵按一下 [資料庫],然後按一下 [重新整理]。展開 AdventureWorks1[同盟]。您會看到一個名為 CustomerFederation 的新同盟物件。

為進一步了解配置,您可以連接至同盟根與同盟成員,以查看中繼資料。

若要檢視同盟根中繼資料

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the federation root
    USE FEDERATION ROOT WITH RESET
    GO
    -- View the federation root metadata
    SELECT db_name() [db_name]
    SELECT * FROM sys.federations
    SELECT * FROM sys.federation_distributions
    SELECT * FROM sys.federation_member_distributions ORDER BY federation_id, range_low;
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]



    用於同盟的 USE 陳述式會變更同盟根或其中一個同盟成員的連接。以上的 USE 陳述式會將連接路由傳送至同盟根。

    第一個 SELECT 陳述式會顯示同盟根資料庫名稱。有一個同盟和一個同盟成員。第一個同盟成員會分享與同盟相同的 ID。同盟成員由 SPLIT 作業建立,具有新的唯一同盟 ID。

    請注意,同盟成員的範圍是從 -9223372036854775808 (range_low) 到 NULL (range_high)。當您執行 SPLIT 作業時,此範圍會分成兩個部分。有一個同盟散發,名稱為 cid。之後,您將比對同盟索引鍵和同盟散發。

若要檢視同盟成員中繼資料

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the one federation member (aka shard)
    USE FEDERATION CustomerFederation(cid=100) WITH RESET, FILTERING=OFF
    GO
    -- View the federation member metadata
    SELECT db_name() [db_name]
    SELECT * FROM sys.federations
    SELECT * FROM sys.federation_distributions
    SELECT * FROM sys.federation_member_distributions
    -- Federatation ranges
    SELECT f.name, fmc.federation_id, fmc.member_id, fmc.range_low, fmc.range_high 
    FROM sys.federations f
    JOIN sys.federation_member_distributions fmc
    ON f.federation_id=fmc.federation_id
    ORDER BY fmc.federation_id, fmc.range_low;
    GO
    
    
    注意:FILTERING=ON 子句允許連接至特定的不可部分完成單位。FILTERING=OFF 子句允許連接至包含其範圍中特定索引鍵值的同盟成員。

  4. 從 SQL 編輯器命令列中,按一下 [執行]



    USE 陳述式會將連接路由傳送至唯一的同盟成員。cid=100 是在此範圍內的值。

    請注意,資料庫名稱開頭為 "system_" 加一個 GUID 號碼。您會在 SPLIT 作業完成之後執行相同的查詢。每次您執行 SPLIT 作業時,這項作業就會建立兩個新的同盟成員來取代現有的同盟成員。如需 SPLIT 作業的詳細資訊,請參閱同盟重新分割作業:動作中的資料庫 SPLIT

到目前為止,您已經建立了同盟。下一步是建立同盟資料表、將資料插入資料表中,並執行 SPLIT 作業。在您建立同盟資料表之前,必須先將連線變更為某個同盟成員。

若要在同盟中建立資料表

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the one federation member
    USE FEDERATION CustomerFederation(cid=100) WITH RESET, FILTERING=OFF
    GO
    -- Table [dbo].[Customer]
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Customer](
    [CustomerID] [bigint] NOT NULL,
    [Title] [nvarchar](8) NULL,
    [FirstName] [nvarchar](50) NOT NULL,
    [MiddleName] [nvarchar](50) NULL,
    [LastName] [nvarchar](50) NOT NULL,
    [Suffix] [nvarchar](10) NULL,
    [CompanyName] [nvarchar](128) NULL,
    [SalesPerson] [nvarchar](256) NULL,
    [EmailAddress] [nvarchar](50) NULL,
    [Phone] [nvarchar](25) NULL,
     CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED 
    (
    [CustomerID] ASC
    ) 
    )FEDERATED ON (cid=CustomerID)
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]。並請確認 [訊息] 窗格顯示 [命令已順利完成]

USE 陳述式中,the cid=100 為無效的 BIGINT 值。在 CREATE TABLE 陳述式中,CustomerID 欄位會對應到同盟發佈金鑰。

若要擴展資料表

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the federation member
    USE FEDERATION CustomerFederation(cid=100) WITH RESET, FILTERING=OFF
    GO
    -- Insert data
    INSERT INTO [dbo].[Customer]
               ([CustomerID]
               ,[Title]
               ,[FirstName]
               ,[MiddleName]
               ,[LastName]
               ,[Suffix]
               ,[CompanyName]
               ,[SalesPerson]
               ,[EmailAddress]
               ,[Phone])
         VALUES
    (56, 'Mr.', 'Brian', '', 'Groth', '', 'Latest Accessories Sales', 'adventure-works\david8', 'brian5@adventure-works.com', '461-555-0118'),
    (57, 'Ms.', 'Judy', 'R.', 'Lundahl', '', 'Leading Sales & Repair', 'adventure-works\jillian0', 'judy1@adventure-works.com', '260-555-0130'),
    (58, 'Mr.', 'Peter', '', 'Kurniawan', '', 'Largest Bike Store', 'adventure-works\jillian0', 'peter4@adventure-works.com', '436-555-0160'),
    (59, 'Mr.', 'Douglas', '', 'Groncki', '', 'Locks Company', 'adventure-works\shu0', 'douglas2@adventure-works.com', '385-555-0140'),
    (60, 'Mr.', 'Sean', 'J.', 'Lunt', '', 'Main Bicycle Services', 'adventure-works\linda3', 'sean4@adventure-works.com', '183-555-0111'),
    (61, 'Mr.', 'Jeffrey', '', 'Kurtz', '', 'Many Bikes Store', 'adventure-works\shu0', 'jeffrey3@adventure-works.com', '452-555-0179'),
    (64, 'Mr.', 'Vamsi', '', 'Kuppa', '', 'Metal Clearing House', 'adventure-works\jos‚1', 'vamsi1@adventure-works.com', '290-555-0196'),
    (65, 'Ms.', 'Jane', 'P.', 'Greer', '', 'Metro Manufacturing', 'adventure-works\jos‚1', 'jane2@adventure-works.com', '737-555-0163'),
    (66, 'Mr.', 'Alexander', 'J.', 'Deborde', '', 'Neighborhood Store', 'adventure-works\garrett1', 'alexander1@adventure-works.com', '394-555-0176'),
    (70, 'Mr.', 'Deepak', '', 'Kumar', '', 'Outdoor Aerobic Systems Company', 'adventure-works\jae0', 'deepak0@adventure-works.com', '1 (11) 500 555-0122'),
    (73, 'Ms.', 'Margaret', 'T.', 'Krupka', '', 'Outdoor Sports Supply', 'adventure-works\pamela0', 'margaret1@adventure-works.com', '107-555-0132'),
    (74, 'Mr.', 'Christopher', 'M.', 'Bright', '', 'Parcel Express Delivery Service', 'adventure-works\david8', 'christopher2@adventure-works.com', '162-555-0166'),
    (75, 'Ms.', 'Aidan', '', 'Delaney', '', 'Paint Supply', 'adventure-works\jillian0', 'aidan0@adventure-works.com', '358-555-0188'),
    (76, 'Mr.', 'James', 'J.', 'Krow', '', 'Out-of-the-Way Hotels', 'adventure-works\jillian0', 'james11@adventure-works.com', '265-555-0190'),
    (77, 'Mr.', 'Michael', '', 'Brundage', '', 'Mechanical Products Ltd.', 'adventure-works\shu0', 'michael13@adventure-works.com', '128-555-0148'),
    (78, 'Mr.', 'Stefan', '', 'Delmarco', '', 'Preferred Bikes', 'adventure-works\linda3', 'stefan0@adventure-works.com', '819-555-0186'),
    (79, 'Mr.', 'Mitch', '', 'Kennedy', '', 'Reasonable Bicycle Sales', 'adventure-works\shu0', 'mitch0@adventure-works.com', '996-555-0192'),
    (82, 'Mr.', 'James', 'D.', 'Kramer', '', 'Refined Department Stores', 'adventure-works\jos‚1', 'james10@adventure-works.com', '814-555-0130'),
    (83, 'Mr.', 'Eric', 'J.', 'Brumfield', '', 'Requisite Part Supply', 'adventure-works\jos‚1', 'eric3@adventure-works.com', '644-555-0114'),
    (84, 'Ms.', 'Della', 'F.', 'Demott Jr', '', 'Rewarding Activities Company', 'adventure-works\garrett1', 'della0@adventure-works.com', '752-555-0185'),
    (88, 'Ms.', 'Pamala', 'M.', 'Kotc', '', 'Closest Bicycle Store', 'adventure-works\jae0', 'pamala0@adventure-works.com', '1 (11) 500 555-0173'),
    (91, 'Ms.', 'Joy', 'R.', 'Koski', '', 'Scooters and Bikes Store', 'adventure-works\pamela0', 'joy0@adventure-works.com', '810-555-0198'),
    (92, 'Ms.', 'Jovita', 'A.', 'Carmody', '', 'Sports Commodities', 'adventure-works\david8', 'jovita0@adventure-works.com', '646-555-0137'),
    (93, 'Mr.', 'Prashanth', '', 'Desai', '', 'Stationary Bikes and Stands', 'adventure-works\jillian0', 'prashanth0@adventure-works.com', '138-555-0156'),
    (94, 'Mr.', 'Scott', '', 'Konersmann', '', 'Specialty Sports Store', 'adventure-works\jillian0', 'scott6@adventure-works.com', '556-555-0192'),
    (96, 'Ms.', 'Jane', 'N.', 'Carmichael', '', 'Rural Department Store', 'adventure-works\shu0', 'jane0@adventure-works.com', '716-555-0167'),
    (97, 'Ms.', 'Bonnie', 'B.', 'Lepro', '', 'More Bikes!', 'adventure-works\linda3', 'bonnie2@adventure-works.com', '354-555-0130'),
    (99, 'Mr.', 'Eugene', '', 'Kogan', '', 'Mountain Bike Center', 'adventure-works\shu0', 'eugene2@adventure-works.com', '136-555-0134'),
    (100, 'Mr.', 'Kirk', 'T', 'King', '', 'Up-To-Date Sports', 'adventure-works\jos‚1', 'kirk2@adventure-works.com', '979-555-0163'),
    (101, 'Mr.', 'William', 'J.', 'Conner', '', 'Urban Sports Emporium', 'adventure-works\jos‚1', 'william1@adventure-works.com', '383-555-0111'),
    (102, 'Ms.', 'Linda', '', 'Leste', '', 'National Manufacturing', 'adventure-works\garrett1', 'linda7@adventure-works.com', '493-555-0134'),
    (106, 'Ms.', 'Andrea', 'A.', 'Thomsen', '', 'West Side Mart', 'adventure-works\jae0', 'andrea1@adventure-works.com', '1 (11) 500 555-0120'),
    (109, 'Mr.', 'Daniel', 'P.', 'Thompson', '', 'Travel Sports', 'adventure-works\pamela0', 'daniel2@adventure-works.com', '247-555-0197'),
    (110, 'Ms.', 'Kendra', 'N.', 'Thompson', '', 'Vintage Sport Boutique', 'adventure-works\david8', 'kendra0@adventure-works.com', '464-555-0188'),
    (111, 'Mr.', 'Scott', 'A.', 'Colvin', '', 'Westside Cycle Store', 'adventure-works\jillian0', 'scott1@adventure-works.com', '119-555-0144'),
    (168, 'Sr.', 'Luis', '', 'Bonifaz', '', 'Economy Bikes Company', 'adventure-works\linda3', 'luis0@adventure-works.com', '688-555-0113'),
    (169, 'Ms.', 'Brenda', '', 'Diaz', '', 'Downtown Hotel', 'adventure-works\shu0', 'brenda2@adventure-works.com', '147-555-0192'),
    (172, 'Ms.', 'Gabriele', '', 'Dickmann', '', 'Certified Sports Supply', 'adventure-works\jos‚1', 'gabriele0@adventure-works.com', '835-555-0116'),
    (173, 'Mr.', 'Rudolph', 'J.', 'Dillon', 'Sr.', 'Sundry Sporting Goods', 'adventure-works\jos‚1', 'rudolph0@adventure-works.com', '722-555-0169'),
    (174, 'Mr.', 'Michael', 'L.', 'Bohling', '', 'Toy Manufacturing Inc', 'adventure-works\garrett1', 'michael12@adventure-works.com', '838-555-0147'),
    (178, 'Mr.', 'Dick', '', 'Dievendorff', '', 'Rampart Amusement Company', 'adventure-works\jae0', 'dick1@adventure-works.com', '1 (11) 500 555-0193'),
    (180, 'Ms.', 'Nicky', 'E.', 'Chesnut', '', 'Full-Service Bike Store', 'adventure-works\michael9', 'nicky0@adventure-works.com', '264-555-0164'),
    (181, 'Mr.', 'Michael', 'J.', 'Lee', '', 'Family Entertainment Center', 'adventure-works\pamela0', 'michael18@adventure-works.com', '396-555-0139'),
    (182, 'Mr.', 'Stanley', 'A.', 'Alan', 'Jr.', 'Another Bicycle Company', 'adventure-works\david8', 'stanley0@adventure-works.com', '156-555-0126'),
    (183, 'Mr.', 'Yao-Qiang', '', 'Cheng', '', 'This Area Sporting Goods', 'adventure-works\jillian0', 'yao-qiang0@adventure-works.com', '344-555-0181'),
    (184, 'Ms.', 'Marjorie', 'M.', 'Lee', '', 'Go-cart and Bike Specialists', 'adventure-works\jillian0', 'marjorie0@adventure-works.com', '306-555-0166'),
    (185, 'Mr.', 'Sandeep', '', 'Kaliyath', '', 'Weekend Bike Tours', 'adventure-works\shu0', 'sandeep1@adventure-works.com', '495-555-0113'),
    (186, 'Mr.', 'Pei', '', 'Chow', '', 'Thrilling Bike Tours', 'adventure-works\linda3', 'pei0@adventure-works.com', '789-555-0184'),
    (187, 'Mr.', 'Frank', '', 'Campbell', '', 'Trailblazing Sports', 'adventure-works\shu0', 'frank4@adventure-works.com', '491-555-0132'),
    (190, 'Mr.', 'Mark', '', 'Lee', '', 'Racing Partners', 'adventure-works\jos‚1', 'mark5@adventure-works.com', '371-555-0112'),
    (191, 'Ms.', 'Sandra', 'T.', 'Kitt', '', 'Non-Slip Pedal Company', 'adventure-works\jos‚1', 'sandra2@adventure-works.com', '303-555-0117'),
    (192, 'Mr.', 'Hao', '', 'Chen', '', 'Nuts and Bolts Mfg.', 'adventure-works\garrett1', 'hao1@adventure-works.com', '117-555-0173'),
    (196, 'Ms.', 'Jolie', '', 'Lenehan', '', 'Exhibition Showroom', 'adventure-works\jae0', 'jolie0@adventure-works.com', '1 (11) 500 555-0126'),
    (197, 'Ms.', 'Diane', 'F.', 'Krane', '', 'Fabrikam Inc., West', 'adventure-works\michael9', 'diane4@adventure-works.com', '224-555-0126'),
    (198, 'Mr.', 'Payton', 'P.', 'Benson', '', 'Field Trip Inc', 'adventure-works\michael9', 'payton0@adventure-works.com', '528-555-0183'),
    (199, 'Mr.', 'Roger', '', 'Lengel', '', 'Authorized Bike Sales and Rental', 'adventure-works\pamela0', 'roger1@adventure-works.com', '947-555-0143'),
    (200, 'Ms.', 'Peggy', 'J.', 'Justice', '', 'Basic Bike Company', 'adventure-works\david8', 'peggy0@adventure-works.com', '170-555-0189'),
    (201, 'Ms.', 'Edna', 'J.', 'Benson', '', 'Unsurpassed Bikes', 'adventure-works\jillian0', 'edna0@adventure-works.com', '789-555-0189'),
    (202, '', 'A.', 'Francesca', 'Leonetti', '', 'Two-Seater Bikes', 'adventure-works\jillian0', 'a0@adventure-works.com', '645-555-0193'),
    (203, 'Ms.', 'Jean', '', 'Jordan', '', 'Separate Parts Corporation', 'adventure-works\shu0', 'jean3@adventure-works.com', '207-555-0129'),
    (204, 'Mr.', 'Ido', '', 'Ben-Sachar', '', 'Traction Tire Company', 'adventure-works\linda3', 'ido0@adventure-works.com', '973-555-0112'),
    (205, 'Mr.', 'Frank', '', 'Martnez', '', 'Rally Master Company Inc', 'adventure-works\shu0', 'frank5@adventure-works.com', '171-555-0147'),
    (208, 'Mr.', 'Steve', '', 'Masters', '', 'Professional Cyclists', 'adventure-works\jos‚1', 'steve2@adventure-works.com', '154-555-0115'),
    (209, 'Mr.', 'Robert', 'E.', 'Jones', '', 'Purple Bicycle Company', 'adventure-works\jos‚1', 'robert6@adventure-works.com', '595-555-0131'),
    (210, 'Mr.', 'Josh', '', 'Barnhill', '', 'Gasless Cycle Shop', 'adventure-works\garrett1', 'josh0@adventure-works.com', '584-555-0192');
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]。確認 [訊息] 窗格顯示 [(65 個資料列受到影響)]。

若要查詢同盟資料

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the 1 federation member
    USE FEDERATION CustomerFederation(cid=100) WITH RESET, FILTERING=OFF
    GO
    -- Query customer table for high/low Federated Keys
    SELECT MIN(CustomerID) [CustomerID Low], MAX(CustomerID) [CustomerID High] FROM Customer
    select count(*) from Customer
    SELECT * FROM Customer order by customerid
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]

CustomerID 的範圍從 56 到 210。[自訂] 表格中總共有 65 個記錄。

同盟會針對線上重新分割,提供一個作業。您可以使用 SPLIT 作業,跨多個同盟成員分割一個同盟成員。SPLIT 作業可以在資料庫不停機的情況下完成。若要分割同盟成員,您必須先連接到同盟成員,然後使用 ALTER FEDERATION 命令。您必須指定您要分割同盟成員的位置。在以下的範例中,使用 cid=100。

若要分割同盟成員

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    --Perform federations SPLIT operation
    USE FEDERATION ROOT WITH RESET
    GO
    ALTER FEDERATION CustomerFederation SPLIT AT (cid=100)
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]。並請確認 [訊息] 窗格顯示 [命令已順利完成]

若要檢視同盟根中繼資料

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the federation root database
    USE FEDERATION ROOT WITH RESET
    GO
    SELECT * FROM sys.federation_member_distributions ORDER BY federation_id, range_low;
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]。您將會在 federation_member_distributions 資料表中看到 2 筆記錄,各供一個同盟成員使用。

若要檢視同盟成員中繼資料

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the first federation member
    USE FEDERATION CustomerFederation(cid=0) WITH RESET, FILTERING=OFF
    GO
    SELECT db_name() [db_name]
    SELECT * FROM sys.federation_member_distributions
    -- Query customer table for high/low Federated Keys
    SELECT MIN(CustomerID) [CustomerID Low], MAX(CustomerID) [CustomerID High] FROM Customer
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]。資料庫名稱與 SPLIT 作業前的資料庫名稱不同。如果您使用 cid=0,則 CustomerID Low 為 56,CustomerID High 為 99。

若要檢視其他同盟成員中繼資料

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 將下列陳述式複製並貼入查詢編輯器中:

    -- Route connection to the second federation member
    USE FEDERATION CustomerFederation(cid=100) WITH RESET, FILTERING=OFF
    GO
    SELECT db_name() [db_name]
    SELECT * FROM sys.federation_member_distributions
    -- Query customer table for high/low Federated Keys
    SELECT MIN(CustomerID) [CustomerID Low], MAX(CustomerID) [CustomerID High] FROM Customer
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]。請確認 [訊息] 窗格顯示 [已成功執行查詢]。CustomerID Low 為 100,CustomerID High 為 210。

若要卸除某個同盟及其相關聯的資料庫,您可以使用 DROP FEDERATION 陳述式。

若要卸除同盟

  1. 清除查詢編輯器中的所有文字。

  2. 確認 [可用的資料庫] 顯示同盟根資料庫。

  3. 在 [查詢編輯器] 中,複製並貼上下列 T-SQL 陳述式:

    USE FEDERATION ROOT WITH RESET
    GO
    DROP FEDERATION CustomerFederation
    GO
    
    
  4. 從 SQL 編輯器命令列中,按一下 [執行]

  5. 從 [物件總管] 中,以滑鼠右鍵按一下 [同盟],然後按一下 [重新整理]。您應該會看到留下的同盟成員。

另請參閱

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft