Thêm bài viết vào xuất bản giao dịch mà không tạo ảnh chụp nhanh mới


23

Sử dụng sao chép giao dịch SQL 2008 R2 với người đăng ký kéo, khi chúng tôi thêm một bài viết, tôi muốn tránh phải tạo toàn bộ ảnh chụp nhanh (db là ~ 80 GB, vì vậy việc này mất nhiều giờ).

Từ bài viết này , tôi đã thấy cách thực hiện điều này với một ảnh chụp nhanh một phần bằng cách tắt ngay lập tức, nhưng điều đó không hiệu quả với chúng tôi.

Lý tưởng nhất là tôi chỉ muốn chạy nó như một phần của tập lệnh db của chúng tôi để tạo bảng, vì vậy nếu chúng tôi muốn nó được sao chép, chúng tôi sẽ làm:

Create Table ...    
sp_addArticle ...    
sp_PushThisToOurSubscribersNow    

Câu trả lời:


13

Bạn có thể thêm bài viết thông qua SSMS bằng GUI và thậm chí áp dụng các bộ lọc cho nó. Miễn là bạn không thay đổi bất kỳ thuộc tính nào khác của bài viết, bạn sẽ không cần tạo ảnh chụp nhanh.

Khi bạn nhấn OK trong GUI xuất bản (sau khi thêm bài viết), nó sẽ đóng mà không cần nhắc lại - nếu nó không nhắc lại, thì bạn đã thay đổi một cái gì đó yêu cầu một ảnh chụp nhanh ĐẦY ĐỦ. Nếu điều đó xảy ra, nhấn hủy và thử lại.

Sau khi bạn thêm bài viết, bạn chỉ cần bắt đầu công việc chụp nhanh và bạn sẽ nhận thấy rằng nó chỉ tạo một ảnh chụp nhanh cho bài viết mới (được gọi là ảnh chụp nhanh).

Sau đó kiểm tra công việc phân phối của bạn và lưu ý rằng nó đã tạo bảng tại thuê bao và sao chép số lượng lớn dữ liệu của bạn.

Chúc may mắn, và cho tôi biết nếu bạn cần hỗ trợ thêm.


Tôi đã làm mọi thứ được giải thích trong câu trả lời này nhưng vẫn thấy mình chờ đợi trên toàn bộ cơ sở dữ liệu được nhân rộng. Tôi KHÔNG được nhắc khởi tạo lại sau khi thêm các bài viết mới, nhưng nó vẫn khởi tạo đầy đủ. Hãy cẩn thận.
JzInqXc9Dg

7
  1. Thêm bài viết mới trong cửa sổ thuộc tính Ấn phẩm của bạn (bỏ chọn Hiển thị chỉ các bài viết được kiểm tra trong danh sách)
  2. nhấp chuột phải vào cùng một nút Ấn phẩm và đi đến " Xem trạng thái Tác nhân Ảnh chụp "
  3. nhấp vào bắt đầu và chỉ cần lưu ý nhật ký trong cùng một cửa sổ cho thấy bài viết mới này chỉ được đồng bộ hóa
  4. sau một thời gian ngắn, các bài viết mới sẽ được đồng bộ hóa trong các thuê bao mà không cần khởi tạo tất cả các đồng bộ hóa trước đó

nhập mô tả hình ảnh ở đây


3

Tôi đã có cùng một câu hỏi, và mặc dù tôi đã là một DBA trong một thời gian, tôi chưa thực sự xử lý sao chép đủ sâu để hoàn toàn thoải mái với nó, vì vậy tôi nghĩ rằng các tài nguyên và hướng dẫn sau đây rất hữu ích:

  • Blog này , trong đó cung cấp một phác thảo tốt của quá trình. Nó cũng nhắc nhở chúng tôi rằng, nếu bạn có một ấn phẩm lớn hiện có và tùy chọn của nó được đặt thành "ngay lập tức", nó sẽ khiến một ảnh chụp hoàn toàn mới được chuẩn bị mỗi khi bạn thêm hoặc thay đổi một bài viết. Vì vậy, anh ta có một mẹo hữu ích để thay đổi tùy chọn đó, sử dụngsp_changePublication @publication='MyPub', @property='immediate_sync', @value='false';

  • Bài đăng trên blog của MSDN trong "repltalk" (nghe có vẻ như là một tài nguyên tốt nói chung!) - không liên quan "trực tiếp" trực tiếp nhưng vẫn hữu ích

  • Câu hỏi này, trong đó @ Brandon-Williams đã chỉ ra rằng, nếu đó là đăng ký Pull , bạn cũng nên làm mới nó, sử dụngsp_refreshSubscriptions @publication = 'MyPub'

  • Giám sát nhân rộng SSMS - cách thuận tiện để dừng và khởi động các tác nhân (ảnh chụp nhanh, trình đọc nhật ký) khi làm theo hướng dẫn.

Dưới đây là các bước thực tế tôi đã làm theo, hoạt động tốt và đáp ứng sự chấp thuận của DBA giám sát của tôi:

  1. Mở Màn hình nhân rộng, chọn ấn phẩm, đi đến Đại lý, bấm chuột phải vào Trình đọc tác nhân, bấm Dừng.
  2. Đặt ấn phẩm thành không cho phép ẩn danh & không đồng bộ hóa ngay lập tức, bằng cách sử dụng sp_changePublication- có, như @cody_konior chỉ ra, đây là tài liệu chưa được chứng minh, nhưng nó đã hoạt động tốt trong trường hợp của tôi. YMMV
  3. Tạo bảng tại thuê bao theo cách thủ công bằng cách sử dụng tập lệnh, chứa đầy dữ liệu bằng truy vấn máy chủ được liên kết (vì nó nhỏ). Bạn cũng có thể sử dụng SSIS, BCP hoặc một số phương tiện khác để thực hiện việc này. Và nó có thể không cần thiết, nếu bạn ổn với ảnh chụp lại làm điều đó cho bạn. Tôi chỉ muốn chuẩn bị nó bằng tay lần đầu tiên.
  4. Thêm bài viết (bảng) bằng cách sử dụng sp_addArticle
  5. Thêm tất cả các cột của bảng bằng cách sử dụng sp_articleColumn(ấn phẩm và bài viết được chỉ định, DIDN'T chỉ định các cột -> ngụ ý TẤT CẢ các cột)
  6. Exec'd sp_refreshSubscriptionscho ấn phẩm đó để làm mới pull-er
  7. Mở lại Màn hình nhân rộng, chọn quán rượu, đi đến Đại lý, nhấp chuột phải vào Tác nhân chụp nhanh, nhấp vào "Bắt đầu". Nó sẽ chạy một lần, tạo ảnh chụp nhanh mới.
  8. Nhấp chuột phải vào Tác nhân Đăng nhập, bấm "Bắt đầu". Nó sẽ bắt đầu và tiếp tục chạy như bình thường, và bản sao của bạn sẽ hoạt động trở lại.

Và trong khi có, bạn có thể thực hiện hầu hết các thay đổi với GUI SSMS, tôi thấy nó hữu ích để kịch bản tất cả để nó có thể là A) dưới sự kiểm soát nguồn (kiểm soát thay đổi) và B) được triển khai nhiều lần hoặc cho nhiều trường hợp . Thật không may, tôi đã không dành thời gian để viết kịch bản cho các điểm dừng / bắt đầu của Đại lý, nhưng điều đó không quá khó khi họ chỉ là Công việc của Đại lý SQL. Bạn chỉ cần thực hiện toàn bộ "tìm JobID bằng thủ thuật Tên công việc" (truy vấn sysjobs- thực sự, MS?) ...

Hy vọng rằng sẽ giúp độc giả trong tương lai!


3

Như đã lưu ý trong việc thêm bài viết vào và bỏ bài viết từ các ấn phẩm hiện có , bạn phải * tạo một ảnh chụp nhanh mới cho ấn phẩm.

Để tránh tạo ảnh chụp nhanh cho tất cả các bài viết khi thêm một bài viết mới, thuộc tính xuất bản immediate_syncphải được đặt thành 0. Gọi sp_addarticle, sau đó sp_addsubscription. Nếu đăng ký được kéo, bạn cũng phải gọi sp_refreshsubscriptions. Sau đó tạo ảnh chụp nhanh và chỉ một ảnh chụp nhanh cho bài viết mới được thêm sẽ được tạo.

* Đây là cách tiếp cận được đề xuất trong SQL Server Books Online. Vấn đề với cách tiếp cận của bạn là nó dễ bị lỗi.


2

Chỉnh sửa chính Đây là bản viết lại hoàn chỉnh của câu trả lời này (đưa ra lời chỉ trích hợp lệ rằng phiên bản trước dễ bị lỗi và sẽ gây ra sự cố)

Đồng thời đăng một bản demo về cách áp dụng điều này vào: Youtube - Sao chép máy chủ SQL: Cách thêm một bài viết mà không cần chụp nhanh .

QUAN TRỌNG: Đây KHÔNG phải là cách tiếp cận được đề xuất từ ​​Microsoft, vì vậy bạn sẽ tự mình liên quan đến việc làm cho nó hoạt động, KHÔNG áp dụng trực tiếp vào môi trường sản xuất của bạn mà không có thử nghiệm tách biệt đáng kể và làm cho bạn thoải mái với các bước!

Các bước để làm theo:

Planning steps:
    * Choose Publication that article will be added to
    * Gather information about the publication 
        exec sp_helppublication '[Name of Publication]'
        https://msdn.microsoft.com/en-us/library/ms189782(v=sql.105).aspx
        - replication frequency = 0 - this is Transactional replication (THIS IS A REQUIREMENT FOR THIS METHOD)
        - replicate_ddl = 1 - means ALTER TABLES will apply SQL Server generated repl procs
        - independent_agent = 1 - means that you will only affect tables in this publication when deploying
    * Identify which subscribers are going to be affected

Pre-deployment steps (can be done at any time)
    1. Create table on subscribers
    2. Create custom replication procs on subscribers
       (Customisation will ignore if the IUD has already been applied to subscriber - because you have manually sync'd the data)

Deployment/Potential impact:
    3. Stop Distribution Agents to all subscribers for this publication
    4. Add article to publication on publisher
    5. Sync data from publisher to subscriber
    6. Start Distribution Agents to all subscribers for this publication
    7. Monitor/Verify all data has arrived

Optional follow on:
    8. Apply standard repl procs (removing if not exists checks)
       This is optional as the generated repl scripts should be fine for the most part

Note:  When ALTER table scripts are applied on the Publisher (when replicate_ddl = 1) repl procs will automatically be recreated by the Distribution Agent (so any customisation will be lost)

Để xác minh:

  • thực hiện chèn vào nhà xuất bản - xác minh hàng đến trên thuê bao
  • thực hiện cập nhật trên nhà xuất bản - xác minh thay đổi đến trên thuê bao
  • thực hiện xóa trên nhà xuất bản - xác minh hàng đã xóa trên thuê bao
  • xác minh rằng n hàng cuối cùng đã đến và khớp giữa nhà xuất bản và người đăng ký

VÍ DỤ Quy trình

A) Tạo cho mình một bảng trên nhà xuất bản của bạn:

/* Deliberately applying IDENTITY, DEFAULT & INDEX to demonstrate usage on subscriber */
CREATE TABLE [dbo].[TableNotUsingSnap](
    [Id] [int] NOT NULL IDENTITY(1,1),
    [Note_Text] [varchar](4096) NOT NULL,
    [CreatedDate] [datetime] NULL,
    [LoggedDate] [datetime] NOT NULL CONSTRAINT DF_TableNotUsingSnap_LoggedDate DEFAUlT GETUTCDATE(),
 CONSTRAINT [PK_TableNotUsingSnap] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO 

CREATE NONCLUSTERED INDEX [IDX_NC_TableNotUsingSnap_LoggedDate]  ON [dbo].[TableNotUsingSnap]
(
    [LoggedDate] ASC
) INCLUDE ([Note_Text])
GO

B) Tạo cho mình một công việc / Proc / script để thực hiện một số thao tác chèn / cập nhật / xóa trên [TableNotUsingSnap] (sau đó bạn có thể sử dụng điều này để xác thực cách thức thuê bao được đồng bộ hóa chính xác bằng phương pháp này.

Bước trước:

1. Tạo bảng của bạn trên thuê bao

/* example script to add a table to a publication without running the snapshot agent 
Steps: 
    Pre steps: 
    1. Create table on subscribers
    2. Create replication procs on subscribers

    Deployment/Potential impact:
    3. Stop Distribution Agents to all subscribers for this publication
    4. Add article to publication on publisher
    5. DTS data from publisher to subscriber
    6. Start Distribution Agents to all subscribers for this publication
    7. Monitor/Verify all data has arrived

=========================================================
Notes:
    * Drop unnecessary FK's, Indexes
    * Do NOT have IDENTITY(1,1), DEFAULTS
    * Do have a Clustered PK
    * Create appropriate indexes for your subscribers use case */ 

-- RUN ON SUBSCRIBER
IF OBJECT_ID('dbo.TableNotUsingSnap') IS NOT NULL
    exec sp_rename 'dbo.TableNotUsingSnap', 'TableNotUsingSnap_20170127'
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[TableNotUsingSnap](
    [Id] [int] NOT NULL,
    [Note_Text] [varchar](4096) NOT NULL,
    [CreatedDate] [datetime] NULL,
    [LoggedDate] [datetime] NOT NULL,
 CONSTRAINT [PK_TableNotUsingSnap] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

2. Tạo các thủ tục lưu trữ sao chép của bạn (cập nhật / chèn / xóa) - trên Người đăng ký

Bạn có thể tạo procs thay thế:

  • Thủ công (hãy cẩn thận vì rất dễ phạm sai lầm!)
  • Thêm bài viết bằng phương pháp Chụp nhanh MS trên máy Dev và tắt đoạn mã thay thế (sẵn sàng để bạn thêm các chỉnh sửa của mình)
  • Tạo / Tìm một số loại máy phát điện

Thay đổi bạn sẽ cần phải áp dụng:

  • sp_MSins_ [Schema] [TableName] - Thêm vào IF NOT EXISTS (SELECT 'row already exists' FROM [Schema].[TableName] dest WITH (NOLOCK) WHERE dest.Id = @c1)để không chèn nếu nó đã có
  • sp_MSupd_ [Lược đồ] [Tên bảng] - Nhận xét việc IF @@rowcount = 0 ... exec sp_MSreplraiserror ...bỏ qua bản cập nhật không được áp dụng (vì bản ghi có thể đã bị xóa trên nhà xuất bản trước khi bạn đồng bộ hóa dữ liệu)
  • sp_MSdel_ [Schema] [TableName] - Nhận xét việc IF @@rowcount = 0 ... exec sp_MSreplraiserror ...bỏ qua việc xóa không được áp dụng (vì bản ghi có thể đã bị xóa trên nhà xuất bản trước khi bạn đồng bộ hóa dữ liệu)

sp_MSins_dboTableNotUsingSnap:

/* Customised Replication insert proc utilized to support adding to replication without a snapshot. */
create procedure [dbo].[sp_MSins_dboTableNotUsingSnap]     
    @c1 int,     
    @c2 varchar(4096),     
    @c3 datetime
AS 
BEGIN
    IF NOT EXISTS (SELECT 'row already exists' FROM [dbo].[TableNotUsingSnap] dest WITH (NOLOCK) WHERE dest.Id = @c1)
    BEGIN
        insert into [dbo].[TableNotUsingSnap]
            ([Id],
            [Note_Text],
            [Repl_Upsert_UTC]) 
        values 
            (@c1,
            @c2,
            @c3)  
    END
END
GO

sp_MSupd_dboTableNotUsingSnap:

/* Customised Replication insert proc utilized to support adding to replication without a snapshot. */
create procedure [dbo].[sp_MSupd_dboTableNotUsingSnap]     
    @c1 int = NULL,     
    @c2 varchar(4096) = NULL,     
    @c3 datetime = NULL, 
    @pkc1 int = NULL, 
    @bitmap binary(1)
AS 
BEGIN
    declare @primarykey_text nvarchar(100) = '' 

    if (substring(@bitmap,1,1) & 1 = 1)
    begin 
        update [dbo].[TableNotUsingSnap]
        set [Id] = case substring(@bitmap,1,1) & 1 when 1 then @c1 else [Id] end, 
            [Note_Text] = case substring(@bitmap,1,1) & 2 when 2 then @c2 else [Note_Text] end,
            [Repl_Upsert_UTC] = case substring(@bitmap,1,1) & 4 when 4 then @c3 else [Repl_Upsert_UTC] END
        WHERE [Id] = @pkc1

        /*  Commented out while adding to publication
        if @@rowcount = 0
            if @@microsoftversion>0x07320000
            Begin
                set @primarykey_text = @primarykey_text + '[id] = ' + convert(nvarchar(100),@pkc1,1)
                exec sp_MSreplraiserror @errorid=20598, @param1=N'[dbo].[TableNotUsingSnap]', @param2=@primarykey_text, @param3=13233
            End */
    END
    ELSE
    BEGIN
        update [dbo].[TableNotUsingSnap]
        set [Note_Text] = case substring(@bitmap,1,1) & 2 when 2 then @c2 else [Note_Text] end,
            [Repl_Upsert_UTC] = case substring(@bitmap,1,1) & 4 when 4 then @c3 else [Repl_Upsert_UTC] END
        WHERE [Id] = @pkc1

        /*  Commented out while adding to publication
        if @@rowcount = 0
            if @@microsoftversion>0x07320000
            Begin
                set @primarykey_text = @primarykey_text + '[id] = ' + convert(nvarchar(100),@pkc1,1)
                exec sp_MSreplraiserror @errorid=20598, @param1=N'[dbo].[TableNotUsingSnap]', @param2=@primarykey_text, @param3=13233
            End */
    end
END
GO

sp_MSdel_dboTableNotUsingSnap:

/* Customised Replication insert proc utilized to support adding to replication without a snapshot. */
create procedure [dbo].[sp_MSdel_dboTableNotUsingSnap]
    @pkc1 int
as
begin  
    declare @primarykey_text nvarchar(100) = ''

    delete [dbo].[TableNotUsingSnap]
    where [Id] = @pkc1

    /* ignore if the record doesn't exist when deleting it 
    if @@rowcount = 0
        if @@microsoftversion>0x07320000
        Begin
            set @primarykey_text = @primarykey_text + '[Id] = ' + convert(nvarchar(100),@pkc1,1)
            exec sp_MSreplraiserror @errorid=20598, @param1=N'[dbo].[TableNotUsingSnap]', @param2=@primarykey_text, @param3=13234
        End */
end
GO

CÁC BƯỚC TIỀN GỬI

3. Dừng đại lý phân phối - Trên Nhà phân phối (Đẩy) hoặc Thuê bao (Kéo)

/*  example script to add a table to a publication without running the snapshot agent
    Steps:
        Pre steps:
        1. Create table on subscribers
        2. Create replication procs on subscribers

        Deployment/Potential impact:
    **  3. Stop Distribution Agents to all subscribers for this publication
        4. Add article to publication on publisher
        5. DTS data from publisher to subscriber
        6. Start Distribution Agents to all subscribers for this publication
        7. Monitor/Verify all data has arrived

    =========================================================
    Note: check your publication settings:
          if @independent_agent = N'false'
            you will need to stop the distribution agent which will affect ALL
            publications going to that subscriber

          if @independent_agent = N'true'
            you will need to stop the publication specific distribution agent 
            (to each subscriber)

          Plan your live release around that knowledge!
*/

-- IF PUSH REPLICATION: RUN ON DISTRIBUTION SERVER
-- IF PULL REPLICATION: RUN ON SUBSCRIBER SERVER

/* disable the Job first */
exec msdb..sp_update_job @job_name = '[Distribution agent job]', @enabled = 0
GO

/* wait for 10 seconds - precaution ONLY */
WAITFOR DELAY '00:00:10.000'
GO

/* now stop the job */
exec msdb..sp_stop_job @job_name = '[Distribution agent job]'
GO

/* 
    NOTE: You might recieve an error about stopping a job that is already stopped.  You can ignore that error.
                It is up to you to verify that the job has been stopped correctly!
*/

4. Bây giờ thêm bài viết vào ấn phẩm - Trên Nhà xuất bản

Các thông số quan trọng:

  • sp_addarticle- @pre_creation_cmd = N'none'được sử dụng để báo cho tác nhân phân phối không thả và tạo các đối tượng của chính nó
  • sp_addsubscription- @sync_type = N'none'được sử dụng để nói với Distributer rằng nó không cần tạo ảnh chụp nhanh mới, nó chỉ có thể xếp hàng các lệnh IUD lên

sp_addarticle:

exec sp_addarticle 
    @publication = N'Publication Name',
    @article = N'TableNotUsingSnap',
    @source_owner = N'dbo',
    @source_object = N'TableNotUsingSnap',
    @type = N'logbased',
    @description = N'',
    @creation_script = N'',
    @pre_creation_cmd = N'none',        /* this is a critical flag - tells SQL Server to not drop/recreate the repl procs/object on the subscriber */
    @schema_option = 0x0000000008004093,
    @identityrangemanagementoption = N'none',
    @destination_table = N'TableNotUsingSnap',
    @destination_owner = N'dbo',
    @status = 16,
    @vertical_partition = N'false',
    @ins_cmd = N'CALL [sp_MSins_dboTableNotUsingSnap]',
    @del_cmd = N'CALL [sp_MSdel_dboTableNotUsingSnap]',
    @upd_cmd = N'SCALL [sp_MSupd_dboTableNotUsingSnap]'
GO

-- Adding the transactional subscriptions
exec sp_addsubscription @publication = N'Publication Name',
    @subscriber = N'Subscriber Server',
    @destination_db = N'Subscriber DB',
    @subscription_type = N'Push',
    @sync_type = N'none',               /* tell SQL Server not to sync/snapshot this change to the publication */
    @article = N'all',
    @update_mode = N'read only',
    @subscriber_type = 0
GO

5. Đồng bộ hóa dữ liệu của bạn trên

Bây giờ bạn cần sao chép dữ liệu của mình sang thuê bao của mình, bạn có thể:

  • Tạo một Máy chủ được liên kết và sao chép nó qua
  • Sử dụng thuật sĩ xuất / nhập
  • Khôi phục bản sao lưu và áp dụng khác
  • Trích xuất bảng bằng cách sử dụng SSMS Toolpack 'Tạo câu lệnh chèn ...'

Phương pháp chính xác mà bạn sử dụng tôi để lại cho người đọc, nó cũng sẽ phụ thuộc vào thời gian bạn sẵn sàng để Đại lý phân phối của bạn dừng lại trong bao lâu.

EXTRA: Là một bước được thêm vào trong các thử nghiệm của bạn, đây là một điểm tốt để chạy tập lệnh của bạn (từ Bước (B)) để tạo các hành động IUD trên [TableNotUsingSnap] để bạn có thể tin tưởng vào phương pháp này.

6. Khởi động lại đại lý phân phối - Trên Nhà phân phối (Đẩy) hoặc Thuê bao (Kéo)

/*  example script to add a table to a publication without running the snapshot agent
    Steps:
        Pre steps:
        1. Create table on subscribers
        2. Create replication procs on subscribers

        Deployment/Potential impact:
        3. Stop Distribution Agents to all subscribers for this publication
        4. Add article to publication on publisher
        5. DTS data from publisher to subscriber
    **  6. Start Distribution Agents to all subscribers for this publication
        7. Monitor/Verify all data has arrived

    =========================================================
    Note: check your publication settings:
          if @independent_agent = N'false'
            you will need to stop the distribution agent which will affect ALL
            publications going to that subscriber

          if @independent_agent = N'true'
            you will need to stop the publication specific distribution agent 
            (to each subscriber)

          Plan your live release around that knowledge!
*/

-- IF PUSH REPLICATION: RUN ON DISTRIBUTION SERVER
-- IF PULL REPLICATION: RUN ON SUBSCRIBER SERVER

/* disable the Job first */
exec msdb..sp_update_job @job_name = 'Distribution agent job', @enabled = 1
GO

/* wait for 10 seconds - precaution ONLY */
WAITFOR DELAY '00:00:10.000'
GO

/* now stop the job */
exec msdb..sp_start_job @job_name = 'Distribution agent job'
GO

/* 
    Now go and make sure everything is working ok!
*/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.