Aracılığıyla paylaş


sp_syscollector_create_collection_set (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Yeni bir koleksiyon seti oluşturur. Bu depolanmış prosedürü kullanarak veri toplama için özel bir koleksiyon seti oluşturabilirsiniz.

Uyarı

Proxy olarak yapılandırılan Windows hesabı henüz giriş yapmamış etkileşimsiz veya etkileşimli bir kullanıcı ise, profil dizini mevcut olmaz ve staging dizininin oluşturulması başarısız olur. Bu nedenle, bir alan kontrolcüsünde proxy hesabı kullanıyorsanız, profil dizininin oluşturulduğundan emin olmak için en az bir kez kullanılmış etkileşimli bir hesap belirtmeniz gerekir.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_syscollector_create_collection_set
    [ @name = ] N'name'
    [ , [ @target = ] N'target' ]
    [ , [ @collection_mode = ] collection_mode ]
    [ , [ @days_until_expiration = ] days_until_expiration ]
    [ , [ @proxy_id = ] proxy_id ]
    [ , [ @proxy_name = ] N'proxy_name' ]
    [ , [ @schedule_uid = ] 'schedule_uid' ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @logging_level = ] logging_level ]
    [ , [ @description = ] N'description' ]
    , [ @collection_set_id = ] collection_set_id OUTPUT
    [ , [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
[ ; ]

Arguments

[ @name = ] ‘name

Koleksiyon setinin adı. @namesysname'dir ve boş bir dizi ya da NULLolabilir.

@name benzersiz olmalı. Güncel koleksiyon kümesi adları listesi için, sistem görünümünü syscollector_collection_sets sorgulayın.

[ @target = ] N'target'

Gelecekte kullanım için ayrılmıştır. @targetnvarchar(128)'dir ve varsayılan olarak .NULL

[ @collection_mode = ] collection_mode

@collection_modeküçüktür ve varsayılan olarak .0

Verilerin toplanma ve depolanma şeklini belirler. @collection_modeküçüktür, varsayılan değeri vardır 0ve aşağıdaki değerlerden birine sahip olabilir:

  • 0: Önbellek modu. Veri toplama ve yükleme ayrı programlarda gerçekleşir. Sürekli koleksiyon için önbellek modunu belirtin.

  • 1: Önbelleksiz mod. Veri toplama ve yükleme aynı takvimde gerçekleşiyor. Ad hoc koleksiyon veya anlık fotoğraf koleksiyonu için önbelleksiz modu belirtin.

@collection_mode0olduğunda , @schedule_uid veya @schedule_name belirtilmelidir.

[ @days_until_expiration = ] days_until_expiration

Toplanan verilerin yönetim veri deposunda kaydedildiği gün sayısı. @days_until_expirationküçük bir ölçü ile (iki yıl) varsayılan 730 bir süredir. @days_until_expiration pozitif tam sayı olmalı 0 .

[ @proxy_id = ] proxy_id

SQL Server Agent proxy hesabı için benzersiz tanımlayıcı. @proxy_idint, varsayılan olarak .NULL Belirtilmişse, @proxy_name olmalıdır NULL. @proxy_id elde etmek için sistem tablosunu sysproxies sorgulayın. dc_admin sabit veritabanı rolünün proxy'ye erişim iznine sahip olması gerekir. Daha fazla bilgi için bkz. Create a SQL Server Agent proxy.

[ @proxy_name = ] N'proxy_name'

Vekalet hesabının adı. @proxy_namesysname'dir, varsayılan olarak .NULL Belirtilmişse, @proxy_id olmalıdır NULL. @proxy_name elde etmek için sistem tablosunu sysproxies sorgulayın.

[ @schedule_uid = ] 'schedule_uid'

Bir programı gösteren GUID. @schedule_uiduniqueidentifier'dır ve varsayılan olarak ' NULLdir. Belirtilmişse, @schedule_name olmalıdır NULL. @schedule_uid elde etmek için sistem tablosunu sysschedules sorgulayın.

@collection_mode ayarlıysa0, @schedule_uid veya @schedule_name belirtilmelidir. @collection_mode ayarlandığında1, belirtilmişse @schedule_uid veya @schedule_name göz ardı edilir.

[ @schedule_name = ] N'schedule_name'

Programın adı. @schedule_namesysname'dir ve varsayılan olarak ' NULLdir. Belirtilmişse, @schedule_uid olmalıdır NULL. @schedule_name elde etmek için sistem tablosunu sysschedules sorgulayın.

[ @logging_level = ] logging_level

Kayıt seviyesi. @logging_levelküçüktür ve varsayılan 1olarak , aşağıdaki değerlerden birine sahiptir:

  • 0: yürütme bilgilerini ve takip eden SSIS olaylarını gündeme tutun:

    • Toplama setlerinin başlatılması/durdurulması
    • Başlatma/durdurma paketleri
    • Hata bilgileri
  • 1: seviye 0 kaydı ve:

    • Yürütme istatistikleri
    • Sürekli olarak toplanan ilerleme
    • SSIS'ten uyarı etkinlikleri
  • 2: seviye 1 kaydı ve SSIS'ten detaylı etkinlik bilgileri.

[ @description = ] N'description'

Koleksiyon setinin açıklaması. @descriptionnvarchar(4000)'dir ve varsayılan olarak .NULL

[ @collection_set_id = ] collection_set_id ÇIKIŞ

Koleksiyon seti için benzersiz yerel tanımlayıcı. @collection_set_id , int tipinde bir OUTPUT parametresidir.

[ @collection_set_uid = ] 'collection_set_uid' ÇIKIŞI

Koleksiyon seti için GUID. @collection_set_uid , benzersiz tanımlayıcı tipinde bir OUTPUT parametresidir.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Açıklamalar

sp_syscollector_create_collection_set sistem veritabanı bağlamında msdb çalıştırılmalıdır.

Permissions

Bu prosedürü çalıştırmak için dc_admin (EXECUTE izniyle) sabit veritabanı rolünde üyelik gerektirir.

Örnekler

A. Varsayılan değerleri kullanarak bir koleksiyon seti oluşturun

Aşağıdaki örnek, yalnızca gerekli parametreleri belirterek bir koleksiyon seti oluşturur. @collection_mode zorunlu değil, ancak varsayılan toplama modu (önbellekli) ya bir program kimliği ya da program adı belirtmeyi gerektirir.

USE msdb;
GO

DECLARE @collection_set_id AS INT;

EXECUTE dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 1',
    @description = N'This is a test collection set that runs in non-cached mode.',
    @collection_mode = 1,
    @collection_set_id = @collection_set_id OUTPUT;
GO

B. Belirlenmiş değerler kullanılarak bir koleksiyon seti oluşturun

Aşağıdaki örnek, birçok parametre için değerler belirleyerek bir koleksiyon seti oluşturur.

USE msdb;
GO

DECLARE @collection_set_id AS INT;
DECLARE @collection_set_uid AS UNIQUEIDENTIFIER;

SET @collection_set_uid = NEWID();

EXECUTE dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 2',
    @collection_mode = 0,
    @days_until_expiration = 365,
    @description = N'This is a test collection set that runs in cached mode.',
    @logging_level = 2,
    @schedule_name = N'CollectorSchedule_Every_30min',
    @collection_set_id = @collection_set_id OUTPUT,
    @collection_set_uid = @collection_set_uid OUTPUT;
GO