存储扩展事件的会话定义在哪里?

时间:2013-03-22 04:03:39

标签: sql-server sql-server-2008 sql-server-2008-r2 extended-events

是msdb,资源,主人还是本地?如果我备份我运行XE的本地数据库,我是否也会备份我的会话?系统表中是否还存储了元数据? 谢谢大家。

2 个答案:

答案 0 :(得分:2)

您可以从各种扩展DMV中检索它们。例如,下面的查询将返回有关扩展事件的大量信息。其中包括一些注释掉的过滤器:

-- Extended Event Packages
select
    name,
    guid,
    description
from sys.dm_xe_packages
where (capabilities is null or capabilities & 1 = 0) -- ignore private packages for SQL Server internal use

-- Events
select
    p.name as package_name,
    o.name as source_name,
    o.description
from sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and o.object_type = 'event'
--and o.name like 's%'

-- Event targets
select
    p.name as package_name,
    o.name as source_name,
    o.description
from sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and o.object_type = 'target'

-- Predicate sources
select
    p.name as package_name,
    o.name as source_name,
    o.description
from sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and o.object_type = 'pred_source'

-- Predicate comparators
select
    p.name as package_name,
    o.name as source_name,
    o.description
from sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and o.object_type = 'pred_compare'

-- Maps
select
    p.name as package_name,
    o.name as source_name,
    o.description
from sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and o.object_type = 'map'

-- Types
select
    p.name as package_name,
    o.name as source_name,
    o.description
from sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and o.object_type = 'Type'

-- Event columns
select
    o.name as [event],
    oc.name as column_name,
    oc.column_type as column_type,
    oc.column_value as column_value,
    oc.description as column_description
from
    sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
    inner join sys.dm_xe_object_columns as oc
        on o.name = oc.object_name
        and o.package_guid = oc.object_package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and (oc.capabilities is null or oc.capabilities & 1 = 0)
and o.object_type = 'event'
--and o.name like '%lock%'
order by event, column_name


-- Configurable Event Columns
-- These elements are optional and usually not present in event output.
-- They can be enabled as needed.
select
    o.name as [event],
    oc.name as column_name,
    oc.column_type as column_type,
    oc.column_value as column_value,
    oc.description as column_description
from
    sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
    inner join sys.dm_xe_object_columns as oc
        on o.name = oc.object_name
        and o.package_guid = oc.object_package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and (oc.capabilities is null or oc.capabilities & 1 = 0)
and o.object_type = 'event'
--and o.name = 'file_write_completed'
and oc.column_type = 'customizable'

-- Configurable options
select
    oc.name as column_name,
    oc.column_id,
    oc.type_name,
    oc.capabilities_desc,
    oc.description
from
    sys.dm_xe_packages as p
    inner join sys.dm_xe_objects as o
        on p.guid = o.package_guid
    inner join sys.dm_xe_object_columns as oc
        on o.name = oc.object_name
        and o.package_guid = oc.object_package_guid
where
    (p.capabilities is null or p.capabilities & 1 = 0)
and (o.capabilities is null or o.capabilities & 1 = 0)
and (oc.capabilities is null or oc.capabilities & 1 = 0)
and o.object_type = 'target'
--and o.name = 'file_write_completed'
and oc.column_type = 'customizable'

-- Map Values
select
    name,
    map_key,
    map_value
from sys.dm_xe_map_values
where 1 = 1
--and name = 'wait_types' 
--and map_value like 'lck%'

答案 1 :(得分:0)

在进行了一些挖掘之后,我发现会话的定义存储在master数据库中(当你在服务器级别定义会话时考虑它是有意义的。)

备份此数据库将备份您创建的会话,但这不是恢复它们的最简单方法。您可能最好导出会话并将其保存为模板,或将其编写脚本并将其保存在安全的地方。