Merge pull request #401 from shueybubbles/ssmsTemplates

Ssms templates - initial checkin
This commit is contained in:
Jos de Bruijn
2018-05-07 09:49:54 -07:00
committed by GitHub
446 changed files with 7994 additions and 0 deletions
@@ -0,0 +1,4 @@
/* Basic DAX Query */
EVALUATE <>
ORDER BY <> <ASC or DESC>
@@ -0,0 +1,6 @@
// ==========================
// Content Query
// ==========================
SELECT <select list,expr list,*> FROM [<mining model,name,MyModel>].CONTENT
WHERE <where clause,boolean expression,>
@@ -0,0 +1,14 @@
// ==========================
// Continuous Column Values
//
// Returns the min, max, and
// mean of a continuous column,
// or of the buckets of a
// DISCRETIZED column
// ==========================
SELECT DISTINCT
RangeMin([<column,name,MyColumn>]) as [Min],
[<column,name,MyColumn>] as [Mean],
RangeMax([<column,name,MyColumn>]) as [Max]
FROM [<mining model,name,MyModel>]
@@ -0,0 +1,12 @@
// ==========================
// Discrete Column Values
//
// Returns all values of a
// DISCRETE column. For
// DISCRETIZED columns, use
// the Continuous Column
// Values template.
// ==========================
SELECT DISTINCT [<column,name,MyColumn>]
FROM [<mining model,name,MyModel>]
@@ -0,0 +1,8 @@
// ==========================
// Drillthrough Query
// ==========================
SELECT <select list,expr list,*>
FROM MINING MODEL [<mining model,name,MyModel>].CASES
WHERE IsTrainingCase() AND IsInNode('<node id,name,>')
@@ -0,0 +1,9 @@
// ==========================
// Model Attributes
//
// returns the list of attributes
// used by a model
// ==========================
CALL System.GetModelAttributes('<mining model, name, MyModel>')
@@ -0,0 +1,5 @@
// ==========================
// PMML Content
// ==========================
SELECT * FROM [<mining model,name,MyModel].PMML
@@ -0,0 +1,14 @@
// ============================
// Add Model
// ============================
ALTER MINING STRUCTURE [<mining structure,name,MyStructure>]
ADD MINING MODEL [<mining model,name,MyModel>]
(
[<key column, col def, ID>],
<column definition list,col def list,>,
<table column definition,col def,[My Table]>
( [<nested key column, col def, Nested Key>],
<nested columns,col def list,> ) [WITH FILTER (<filter>)]
) USING <algorithm,name,Microsoft_Decision_Trees>( <parameters,param list,> )
[WITH [DRILLTHROUGH] [[,] FILTER (<filter>)]]
@@ -0,0 +1,5 @@
// ===============================
// Clear Model Content
// ===============================
DELETE FROM MINING MODEL [<mining model,name,MyModel>]
@@ -0,0 +1,5 @@
// ===============================
// Clear Mining Structure
// ===============================
DELETE FROM MINING STRUCTURE [<mining structure,name,MyStructure>]
@@ -0,0 +1,15 @@
// ============================
// Create Structure Nested
// ============================
CREATE MINING STRUCTURE [<mining structure,name,MyStructure>]
(
<key column, col def, [ID] LONG KEY>,
<column definition list,col def list,>,
<table column definition,col def,[My Table] TABLE>
( <nested key column, col def, [Nested Key] TEXT KEY>,
<nested column definition list,col def list,> )
)
[WITH HOLDOUT (<holdout-specifier,holdout-maxpercent PERCENT,holdout-maxcases CASES>
[OR <holdout-specifier,holdout-maxpercent PERCENT,holdout-maxcases CASES>])
[REPEATABLE(<holdout-seed>)]]
@@ -0,0 +1,12 @@
// ============================
// Create Structure
// ============================
CREATE MINING STRUCTURE [<mining structure,name,MyStructure>]
(
<key column, col def, [ID] LONG KEY>,
<column definition list,col def list,>
)
[WITH HOLDOUT (<holdout-specifier,holdout-maxpercent PERCENT,holdout-maxcases CASES>
[OR <holdout-specifier,holdout-maxpercent PERCENT,holdout-maxcases CASES>])
[REPEATABLE(<holdout-seed>)]]
@@ -0,0 +1,9 @@
// ===============================
// Create From PMML
//
// Replace the string with PMML.
// Single quotes embedded in the
// PMML string must be doubled.
// ===============================
CREATE MINING MODEL [<mining model,name,MyModel>] FROM PMML '<pmml,string,>'
@@ -0,0 +1,5 @@
// ===============================
// Drop Model
// ===============================
DROP MINING MODEL [<mining model,name,MyModel>]
@@ -0,0 +1,5 @@
// ===============================
// Drop Structure
// ===============================
DROP MINING STRUCTURE [<mining structure,name,MyStructure>]
@@ -0,0 +1,7 @@
// ==========================
// Export Model
// ==========================
EXPORT MINING MODEL [<mining model,name,MyModel>]
TO '<file,file name,C:\MyModel.dmb>'
WITH DEPENDENCIES, PASSWORD='<password, string,>'
@@ -0,0 +1,7 @@
// ==========================
// Export Structure
// ==========================
EXPORT MINING STRUCTURE [<mining structure,name,MyStructure>]
TO '<file,file name,C:\MyStructure.dmb>'
WITH DEPENDENCIES, PASSWORD='<password, string,>'
@@ -0,0 +1,6 @@
// ==========================
// Import
// ==========================
IMPORT FROM '<file, file name,C:\MyFile.dmb>'
WITH PASSWORD='<password, string,>'
@@ -0,0 +1,6 @@
// ==========================
// Rename Model
// ==========================
RENAME MINING MODEL [<old name,name,MyModel>]
TO [<new name,name,MyNewModel>]
@@ -0,0 +1,6 @@
// ==========================
// Rename Structure
// ==========================
RENAME MINING STRUCTURE [<old name,name,MyStructure>]
TO [<new name,name,MyNewStructure>]
@@ -0,0 +1,8 @@
// ==========================
// Train Mining Model
//
// Trains a model inside a
// previously trained structure
// ==========================
INSERT INTO MINING MODEL [<mining model,name,MyModel>]
@@ -0,0 +1,18 @@
// ==========================
// Train Nested Structure
// ==========================
INSERT INTO MINING STRUCTURE [<mining structure,name,MyStructure>]
(
<column list,col ref list,>, // Case columns
[<nested table column,col ref,MyNestedTable>]
( SKIP, <nested column list,col ref list,> ) // Use SKIP for the foriegn key in SHAPE
)
SHAPE {
OPENQUERY([<datasource,name,MyDataSource>],'<case query,string,SELECT * FROM MyTable>') }
APPEND
(
{OPENQUERY([<datasource,name,MyDataSource>],'<nested query,string,SELECT * FROM MyNestedTable>')
}
RELATE [<case key,col ref,ID>] TO [<foriegn key,col ref,ID>]
) AS [<nested table,name,MyNestedTable>]
@@ -0,0 +1,9 @@
// ==================================
// Train Structure
// ==================================
INSERT INTO MINING STRUCTURE [<mining structure,name,MyStructure>]
(
<column list,col def list,>
)
OPENQUERY([<datasource,name,MyDataSource>],'<query,string,SELECT * FROM MyTable>')
@@ -0,0 +1,13 @@
// ==========================
// Base Prediction
// ==========================
SELECT <select list,expr list,*>
FROM [<mining model,name,MyModel>]
PREDICTION JOIN
OPENQUERY([<datasource,name,MyDataSource>],'<query,string,SELECT * FROM MyTable>')
AS [<input alias,alias,t>]
ON <on clause,mapping,>
WHERE <where clause,boolean expression,>
@@ -0,0 +1,15 @@
// ==========================
// Nested Prediction
// ==========================
SELECT <select list,expr list,*> FROM [<mining model,name,MyModel>]
PREDICTION JOIN
SHAPE
{ OPENQUERY([<datasource,name,MyDataSource>],'<case query,string,SELECT * FROM MyTable>') }
APPEND
( {OPENQUERY([<datasource,name,MyDataSource>],'<nested query,string,SELECT * FROM MyNestedTable>')}
RELATE [<case key,col ref,ID>] TO [<foreign key,col ref,ID>])
AS [<nested table,name,MyNestedTable>]
AS [<input alias,alias,t>]
ON <on clause,mapping,>
WHERE <where clause,boolean expression,>
@@ -0,0 +1,11 @@
// ==========================
// Nested Singleton Prediction
// ==========================
SELECT <select list,expr list,*>
FROM [<mining model,name,MyModel>] NATURAL PREDICTION JOIN
(SELECT '<value,string,>' AS [<column,name,CaseLevelColumn>],
(SELECT 'value' AS [<nested column,name,NestedKeyColumn>] UNION
SELECT 'value' AS [<nested column,name,NestedKeyColumn>] ...)
AS [<nested table,name,MyNestedTable>])
AS [<input alias,alias,t>]
@@ -0,0 +1,8 @@
// ==========================
// Singleton Prediction
// ==========================
SELECT <select list,expr list,*> FROM [<mining model,name,MyModel>]
NATURAL PREDICTION JOIN
(SELECT '<value,string,>' AS [<column,name,MyColumn>], ...)
AS [<input alias,alias,t>]
@@ -0,0 +1,9 @@
// ==========================
// Stored Procedure Call
//
// namespace and class can be
// omitted if the method is
// unique within the assembly
// ==========================
CALL <assembly,name,MyAssembly>.<namespace,name,MyNamespace>.<class,name,MyClass>.<method,name,MyMethod>(<parameters,param list,>)
@@ -0,0 +1,5 @@
// ===============================
// Clear Mining Structure Cases
// ===============================
DELETE FROM MINING STRUCTURE [<mining structure,name,MyStructure>].CASES
@@ -0,0 +1,7 @@
// ===============================
// Test Structure Cases
// ===============================
SELECT [FLATTENED] <expression-list>
FROM [<mining structure,name,MyStructure>].CASES
WHERE IsTestCase()
@@ -0,0 +1,7 @@
// ===============================
// Training Structure Cases
// ===============================
SELECT [FLATTENED] <expression-list>
FROM [<mining structure,name,MyStructure>].CASES
WHERE IsTrainingCase()
@@ -0,0 +1,18 @@
-- =============================================
-- Moving Average - Fixed
-- =============================================
With
Member [Measures].[Fixed Moving Average] As
'Avg (
{ ParallelPeriod (<time_hierarchy_level, mdx_name,>, <time_periods, constant,>,
<time_hierarchy, mdx_name,>.CurrentMember
) : <time_hierarchy, mdx_name,>.CurrentMember }, [Measures].<measure_name, mdx_name,> )'
Select {[Measures].<measure_name, mdx_name,>, [Measures].[Fixed Moving Average]} on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,31 @@
-- =============================================
-- Moving Average - Variable
-- =============================================
With
Member [Measures].[Variable Moving Average] As
'Avg(
<hierarchy_name, mdx_name,>.CurrentMember.Lag(
Case
When <hierarchy_name, mdx_name,>.CurrentMember.Level IS <level_name, mdx_name,>
Then <lag_constant, constant,>
When <hierarchy_name, mdx_name,>.CurrentMember.Level IS <level_name, mdx_name,>
Then <lag_constant, constant,>
When <hierarchy_name, mdx_name,>.CurrentMember.Level IS <level_name, mdx_name,>
Then <lag_constant, constant,>
Else 0
End
) : <hierarchy_name, mdx_name,>.CurrentMember,
<measure_name, mdx_name,>
)'
Select {[Measures].<measure_name, mdx_name,>, [Measures].[Variable Moving Average]} on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,17 @@
-- =============================================
-- Periods to Date
-- =============================================
With
Member [Measures].[PeriodsToDate] AS
'Sum (
PeriodsToDate ( <hierarchy_level, mdx_name,>, <hierarchy_name, mdx_name,>.CurrentMember ),
[Measures].<measure_name, mdx_name,>
)'
Select {[Measures].<measure_name, mdx_name,>, [Measures].[PeriodsToDate]} on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,20 @@
-- =============================================
-- Ratio to Parent
-- =============================================
With
Member [Measures].[RatioToParent] AS
'[Measures].<measure_name, mdx_name,> /
( [Measures].<measure_name, mdx_name,>, <hierarchy_name, mdx_name,>.CurrentMember.Parent )',
Format_String = 'Percent'
Select {[Measures].<measure_name, mdx_name,>, [Measures].[RatioToParent]} on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,16 @@
-- =============================================
-- Ratio to Total
-- =============================================
With
Member [Measures].[RatioToTotal] AS
'[Measures].<measure_name, mdx_name,> /
( [Measures].<measure_name, mdx_name,>, <hierarchy_name, mdx_name,>.<all_member, mdx_name,> )',
Format_String = 'Percent'
Select {[Measures].<measure_name, mdx_name,>, [Measures].[RatioToTotal]} on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,9 @@
-- =============================================
-- Basic MDX Query
-- =============================================
Select <row_axis, mdx_set,> on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,9 @@
-- =============================================
-- KPI (Key Performance Indicator) Query
-- =============================================
Select {KPIValue(<kpi_name, mdx_name,>), KPIGoal(<kpi_name, mdx_name,>)} on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,13 @@
-- =============================================
-- Sub-select Query
-- =============================================
Select <row_axis, mdx_set,> on Columns,
<column_axis, mdx_set,> on Rows
From (
Select( <sub_cube_definition, sub_cube,> ) on Columns
From <from_clause, mdx_name,>
)
Where <where_clause, mdx_set,>
@@ -0,0 +1,13 @@
-- =============================================
-- With Calculated Member
-- =============================================
With
Member <member_name, mdx_name,> AS
'<value_expression, mdx_expression,>'
Select <member_name, mdx_name,> on Columns,
<column_axis, mdx_set,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,13 @@
-- =============================================
-- With Named Set
-- =============================================
With
Set <set_name, mdx_name,> AS
'<set, mdx_expression,>'
Select <row_axis, mdx_set,> on Columns,
<set_name, mdx_name,> on Rows
From <from_clause, mdx_name,>
Where <where_clause, mdx_set,>
@@ -0,0 +1,6 @@
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>DatabaseID</DatabaseID>
</Object>
<File>File</File>
</Backup>
@@ -0,0 +1,2 @@
<Cancel xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
</Cancel>
@@ -0,0 +1,17 @@
<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<ObjectDefinition>
<Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ID>RemoteDatabaseID</ID>
<Name>RemoteDatabaseName</Name>
<MasterDataSourceID>MasterDataSource</MasterDataSourceID>
<DataSources>
<DataSource xsi:type="OlapDataSource">
<ID>MasterDataSource</ID>
<Name>MasterDataSource</Name>
<ConnectionString>Provider=MSOLAP.3;Data Source=MasterServer;Integrated Security=SSPI;Initial Catalog=MasterCatalog;Persist Security Info=False</ConnectionString>
<Timeout>PT0S</Timeout>
</DataSource>
</DataSources>
</Database>
</ObjectDefinition>
</Create>
@@ -0,0 +1,5 @@
<Delete xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>DatabaseID</DatabaseID>
</Object>
</Delete>
@@ -0,0 +1,11 @@
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Parallel>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Object>
<DatabaseID>DatabaseID</DatabaseID>
<DimensionID>DimensionID</DimensionID>
</Object>
<Type>ProcessUpdate</Type>
</Process>
</Parallel>
</Batch>
@@ -0,0 +1,14 @@
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Parallel>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Object>
<DatabaseID>DatabaseID</DatabaseID>
<CubeID>CubeID</CubeID>
<MeasureGroupID>MeasureGroupID</MeasureGroupID>
<PartitionID>PartitionID</PartitionID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Parallel>
</Batch>
@@ -0,0 +1,4 @@
<Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<File>File</File>
<DatabaseName>DatabaseName</DatabaseName>
</Restore>
@@ -0,0 +1,11 @@
<Synchronize xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Source>
<ConnectionString>Provider=MSOLAP;Data Source=SourceServer;Integrated Security=SSPI</ConnectionString>
<Object>
<DatabaseID>DatabaseID</DatabaseID>
</Object>
</Source>
<Locations />
<SynchronizeSecurity>SkipMembership</SynchronizeSecurity>
<ApplyCompression>true</ApplyCompression>
</Synchronize>
@@ -0,0 +1,17 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_SCHEMA_ROWSETS</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_CONNECTIONS</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_JOBS</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,16 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_LOCATIONS</RequestType>
<Restrictions>
<RestrictionList>
<LOCATION_BACKUP_FILE_PATHNAME>BackupFilePathName</LOCATION_BACKUP_FILE_PATHNAME>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_LOCKS</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_MEMORYGRANT</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_PERFORMANCE_COUNTERS</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_SESSIONS</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_TRACES</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,15 @@
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_TRANSACTIONS</RequestType>
<Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
@@ -0,0 +1,16 @@
-- =============================================
-- Create Aggregate Template
-- =============================================
IF EXISTS(
SELECT *
FROM sys.objects
WHERE name = N'<aggregate_name, sysname, sample_aggregate>'
AND (type = 'AF')
)
DROP AGGREGATE <aggregate_name, sysname, sample_aggregate>
GO
CREATE AGGREGATE <aggregate_name, sysname, sample_aggregate>(@<parameter_name, sysname, parameter1> <parameter_type, sysname, nvarchar(4000)>)
RETURNS <return_type, sysname, nvarchar(4000)>
EXTERNAL NAME <assembly_name, sysname, sample_assembly>.<clr_type_name, sysname, sample_clr_name>
GO
@@ -0,0 +1,11 @@
-- =============================================
-- Drop Aggregate Template
-- =============================================
IF EXISTS(
SELECT *
FROM sys.objects
WHERE name = N'<aggregate_name, sysname, test_agg>'
AND (type = 'AF')
)
DROP AGGREGATE <aggregate_name, sysname, test_agg>
GO
@@ -0,0 +1,15 @@
--=============================================================
-- Create Assembly Template
--=============================================================
IF EXISTS(
SELECT *
FROM sys.assemblies
WHERE name = N'<assembly_name, SYSNAME, MyClass>'
)
DROP ASSEMBLY <assembly_name, SYSNAME, MyClass>;
GO
CREATE ASSEMBLY <assembly_name, SYSNAME, MyClass>
FROM N'<Assembly_DLL_Name, nvarchar(4000), Path_MyAssembly.dll>'
WITH PERMISSION_SET = <Safe_External_Access_Unsafe, , SAFE>;
GO
@@ -0,0 +1,12 @@
--=============================================================
-- Drop Assembly Template
--=============================================================
IF EXISTS(
SELECT *
FROM sys.assemblies
WHERE name = N'<assembly_name, SYSNAME, MyClass>'
)
DROP ASSEMBLY <assembly_name, SYSNAME, MyClass>
@@ -0,0 +1,16 @@
-- =============================================
-- Alter Database Audit Specification Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER DATABASE AUDIT SPECIFICATION <audit_specification_name,nvarchar,audit_specification_name>
FOR SERVER AUDIT <audit_name,nvarchar,audit_name>
DROP (SELECT on <object,nvarchar,table1> BY <principal, nvarchar, user1>)
ADD (INSERT on <object,nvarchar,table1> BY <principal, nvarchar, user1>)
WITH ( STATE = <state,bool,OFF > )
@@ -0,0 +1,16 @@
-- =============================================
-- Alter Server Audit Specification Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER SERVER AUDIT SPECIFICATION <audit_specification_name,nvarchar,audit_specification_name>
FOR SERVER AUDIT <audit_name,nvarchar,audit_name>
DROP(<audit_action_group_name,name,FAILED_LOGIN_GROUP>)
ADD (<audit_action_group_name,name,SUCCESSFUL_LOGIN_GROUP>)
WITH ( STATE = <state,bool,OFF > )
@@ -0,0 +1,16 @@
-- =============================================
-- Alter Server Audit Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER SERVER AUDIT <audit_name,nvarchar,AUDIT_NAME>
TO FILE(FILEPATH = <filepath,nvarchar,N'file_path'>,
MAXSIZE=<size,integer,2147483647>,
MAX_ROLLOVER_FILES =<files,integer,0>,
RESERVE_DISK_SPACE =<reserve_disk_space,bool,OFF>)
WITH (QUEUE_DELAY = <milliseconds,integer,1000>,
ON_FAILURE = <On_failure,,SHUTDOWN> )
@@ -0,0 +1,14 @@
-- =============================================
-- Create Database Audit Specification Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE DATABASE AUDIT SPECIFICATION <audit_specification_name,nvarchar,audit_specification_name>
FOR SERVER AUDIT <audit_name,nvarchar,audit_name>
ADD (SELECT on <object,nvarchar,table1>BY <principal, nvarchar,user1>) WITH ( STATE = <state,bool,OFF > )
@@ -0,0 +1,15 @@
-- =============================================
-- Create Server Audit Specification Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE SERVER AUDIT SPECIFICATION <audit_specification_name,nvarchar,audit_specification_name>
FOR SERVER AUDIT <audit_name,nvarchar,audit_name>
ADD (<audit_action_group_name,sysname,FAILED_LOGIN_GROUP> )
WITH ( STATE = <state,bool,OFF > )
@@ -0,0 +1,16 @@
-- =============================================
-- Create Server Audit Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE SERVER AUDIT audit_name
TO FILE (FILEPATH = <filepath,nVarChar,N'file_path'>,
MAXSIZE=<size,integer,2147483647 >,
MAX_ROLLOVER_FILES =<files,integer,0>,
RESERVE_DISK_SPACE =<reserve_disk_space,bool,OFF>)
WITH (QUEUE_DELAY = <milliseconds,integer,1000>,
ON_FAILURE = <On_failure,,SHUTDOWN> )
@@ -0,0 +1,11 @@
-- =============================================
-- Drop Database Audit Specification Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
DROP DATABASE AUDIT SPECIFICATION <audit_specification_name,nVarchar,audit_specification_name>
@@ -0,0 +1,10 @@
-- =============================================
-- Drop Server Audit Specification Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
DROP SERVER AUDIT SPECIFICATION <audit_specification_name,nVarchar,audit_specification_name>
@@ -0,0 +1,10 @@
-- =============================================
-- Drop Server Audit Template
-- =============================================
-- =============================================
-- Author: <Author,,>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
DROP SERVER AUDIT <audit_name,nVarchar,audit_name>
@@ -0,0 +1,15 @@
--=================================
-- Create certificate template
--=================================
IF EXISTS(
SELECT *
FROM sys.certificates
WHERE name = N'<certificate_name, sysname, sample_certificate>'
)
DROP CERTIFICATE <certificate_name, sysname, sample_certificate>
GO
CREATE CERTIFICATE <certificate_name, sysname, sample_certificate>
ENCRYPTION BY PASSWORD = <certificate_password, sysname, '1()ds5274-785$0HA05432-22379;}'>
WITH SUBJECT = <certificate_subject, sysname, 'MySampleCertificate'>;
GO
@@ -0,0 +1,10 @@
--=================================
-- Drop certificate template
--=================================
IF EXISTS(
SELECT *
FROM sys.certificates
WHERE name = N'<certificate_name, sysname, sample_certificate>'
)
DROP CERTIFICATE <certificate_name, sysname, sample_certificate>
GO
@@ -0,0 +1,16 @@
-- ======================================
-- Backup a CDC Enabled Database Template
-- ======================================
USE master
GO
BACKUP DATABASE <Database_Name,sysname,Database_Name>
TO DISK = N'<Backup_Path,,C:\Program Files\Microsoft SQL Server\%INST_PRE%.MSSQLSERVER\MSSQL\Backup\><Database_Name,sysname,Database_Name>.bak'
WITH
NOFORMAT,
NOINIT,
NAME = N'<Database_Name,sysname,Database_Name>-Full Database Backup',
SKIP,
STATS = 10;
GO
@@ -0,0 +1,11 @@
-- ===============================================
-- Change CDC Capture Job Pollinginterval Template
-- ===============================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC [sys].[sp_cdc_change_job]
@job_type = N'capture',
@pollinginterval = <pollinginterval,bigint,pollinginterval>
GO
@@ -0,0 +1,11 @@
-- =========================================
-- Change CDC Cleanup Job Retention Template
-- =========================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC [sys].[sp_cdc_change_job]
@job_type = N'cleanup',
@retention = <retention,bigint,retention>
GO
@@ -0,0 +1,66 @@
-- =================================================
-- Compute CPS for Recent Log Scan Sessions Template
-- =================================================
USE <Database_Name,sysname,Database_Name>
GO
DECLARE @command_count bigint,
@duration int,
@total_commands bigint,
@total_duration int
DECLARE @log_scan_sessions TABLE(
session_id int,
start_time datetime,
end_time datetime,
duration int,
scan_phase nvarchar(200),
error_count int,
start_lsn nvarchar(24),
current_lsn nvarchar(24),
end_lsn nvarchar(24),
tran_count bigint,
last_commit_lsn nvarchar(24),
last_commit_time datetime,
log_record_count bigint,
schema_change_count int,
command_count bigint,
first_begin_cdc_lsn nvarchar(24),
last_commit_cdc_lsn nvarchar(24),
last_commit_cdc_time datetime,
latency int,
empty_scan_count int,
failed_sessions_count int)
INSERT INTO @log_scan_sessions
SELECT * FROM [sys].[dm_cdc_log_scan_sessions]
WHERE empty_scan_count = 0
AND session_id <> 0
SET @total_commands = 0
SET @total_duration = 0
DECLARE #session CURSOR LOCAL fast_forward
FOR
SELECT command_count, duration
FROM @log_scan_sessions
OPEN #session
FETCH #session INTO @command_count, @duration
WHILE (@@fetch_status <> -1)
BEGIN
SET @total_commands = @total_commands + @command_count
SET @total_duration = @total_duration + @duration
FETCH #session INTO @command_count, @duration
END
SELECT (@total_commands / @total_duration) AS "Commands Per Second"
CLOSE #session
DEALLOCATE #session
GO
@@ -0,0 +1,26 @@
-- =======================================
-- Restore a CDC Enabled Database Template
-- =======================================
USE master
GO
RESTORE DATABASE <Database_Name,sysname,Database_Name>
FROM DISK = N'<Backup_Path,,C:\Program Files\Microsoft SQL Server\%INST_PRE%.MSSQLSERVER\MSSQL\Backup\><Database_Name,sysname,Database_Name>.bak'
WITH
FILE = 1,
NOUNLOAD,
REPLACE,
STATS = 10,
KEEP_CDC
GO
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_add_job @job_type = N'cleanup'
GO
EXEC sys.sp_cdc_add_job @job_type = N'capture'
GO
@@ -0,0 +1,11 @@
-- =====================================================
-- Return Aggregate Log Scan Session Statistics Template
-- =====================================================
USE <Database_Name,sysname,Database_Name>
GO
SELECT * FROM [sys].[dm_cdc_log_scan_sessions]
WHERE session_id = 0
GO
@@ -0,0 +1,24 @@
-- ======================================
-- Return Capture Job Parameters Template
-- ======================================
USE <Database_Name,sysname,Database_Name>
GO
DECLARE @cdc_jobs table(
job_id uniqueidentifier,
job_type nvarchar(20) not null,
job_name sysname,
maxtrans int NULL,
maxscans int NULL,
continuous bit NULL,
pollinginterval bigint NULL,
retention bigint NULL,
threshold bigint NULL)
INSERT INTO @cdc_jobs
EXEC [sys].[sp_cdc_help_jobs]
SELECT maxtrans, maxscans, continuous, pollinginterval
FROM @cdc_jobs
WHERE job_type = N'capture'
GO
@@ -0,0 +1,8 @@
-- ===============================================
-- Return Capture Process Log Scan Errors Template
-- ===============================================
USE <Database_Name,sysname,Database_Name>
GO
SELECT * FROM [sys].[dm_cdc_errors]
GO
@@ -0,0 +1,8 @@
-- ===================================================
-- Return Capture Process Log Scan Statistics Template
-- ===================================================
USE <Database_Name,sysname,Database_Name>
GO
SELECT * FROM [sys].[dm_cdc_log_scan_sessions]
GO
@@ -0,0 +1,24 @@
-- ======================================
-- Return Cleanup Job Parameters Template
-- ======================================
USE <Database_Name,sysname,Database_Name>
GO
DECLARE @cdc_jobs table(
job_id uniqueidentifier,
job_type nvarchar(20) not null,
job_name sysname,
maxtrans int NULL,
maxscans int NULL,
continuous bit NULL,
pollinginterval bigint NULL,
retention bigint NULL,
threshold bigint NULL)
INSERT INTO @cdc_jobs
EXEC [sys].[sp_cdc_help_jobs]
SELECT retention, threshold
FROM @cdc_jobs
WHERE job_type = N'cleanup'
GO
@@ -0,0 +1,10 @@
-- ==============================
-- Start CDC Capture Job Template
-- ==============================
USE <Database_Name,sysname,Database_Name>
GO
EXEC [sys].[sp_cdc_start_job]
@job_type = N'capture'
GO
@@ -0,0 +1,10 @@
-- ==============================
-- Start CDC Cleanup Job Template
-- ==============================
USE <Database_Name,sysname,Database_Name>
GO
EXEC [sys].[sp_cdc_start_job]
@job_type = N'cleanup'
GO
@@ -0,0 +1,10 @@
-- =============================
-- Stop CDC Capture Job Template
-- =============================
USE <Database_Name,sysname,Database_Name>
GO
EXEC [sys].[sp_cdc_stop_job]
@job_type = N'capture'
GO
@@ -0,0 +1,10 @@
-- =============================
-- Stop CDC Cleanup Job Template
-- =============================
USE <Database_Name,sysname,Database_Name>
GO
EXEC [sys].[sp_cdc_stop_job]
@job_type = N'cleanup'
GO
@@ -0,0 +1,54 @@
-- ===================================================
-- Disable All Capture Instances for a Schema Template
-- ===================================================
USE <Database_Name,sysname,Database_Name>
GO
DECLARE @capture_instances table (
source_schema sysname,
source_table sysname,
capture_instance sysname,
object_id int,
source_object_id int,
start_lsn binary(10),
end_lsn binary(10) NULL,
supports_net_changes bit,
has_drop_pending bit NULL,
role_name sysname NULL,
index_name sysname NULL,
filegroup_name sysname NULL,
create_date datetime,
index_column_list nvarchar(max) NULL,
captured_column_list nvarchar(max))
DECLARE @source_schema sysname,
@source_name sysname,
@capture_instance sysname
SET @source_schema = N'<source_schema,sysname,source_schema>'
INSERT INTO @capture_instances
EXEC [sys].[sp_cdc_help_change_data_capture]
DECLARE #hinstance CURSOR LOCAL fast_forward
FOR
SELECT source_table, capture_instance
FROM @capture_instances
WHERE source_schema = @source_schema
OPEN #hinstance
FETCH #hinstance INTO @source_name, @capture_instance
WHILE (@@fetch_status <> -1)
BEGIN
EXEC [sys].[sp_cdc_disable_table]
@source_schema
,@source_name
,@capture_instance
FETCH #hinstance INTO @source_name, @capture_instance
END
CLOSE #hinstance
DEALLOCATE #hinstance
GO
@@ -0,0 +1,11 @@
-- ===============================================
-- Disable a Capture Instance for a Table Template
-- ===============================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_disable_table
@source_schema = N'<source_schema,sysname,source_schema>',
@source_name = N'<source_name,sysname,source_name>',
@capture_instance = N'<capture_instance,sysname,capture_instance>'
GO
@@ -0,0 +1,8 @@
-- =================================
-- Disable Database for CDC Template
-- =================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_disable_db
GO
@@ -0,0 +1,32 @@
-- ===============================================
-- Enable All Tables of a Database Schema Template
-- ===============================================
USE <Database_Name,sysname,Database_Name>
GO
DECLARE @source_schema sysname, @source_name sysname
SET @source_schema = N'<source_schema,sysname,source_schema>'
DECLARE #hinstance CURSOR LOCAL fast_forward
FOR
SELECT name
FROM [sys].[tables]
WHERE SCHEMA_NAME(schema_id) = @source_schema
AND is_ms_shipped = 0
OPEN #hinstance
FETCH #hinstance INTO @source_name
WHILE (@@fetch_status <> -1)
BEGIN
EXEC [sys].[sp_cdc_enable_table]
@source_schema
,@source_name
,@role_name = NULL
,@supports_net_changes = 1
FETCH #hinstance INTO @source_name
END
CLOSE #hinstance
DEALLOCATE #hinstance
GO
@@ -0,0 +1,8 @@
-- ================================
-- Enable Database for CDC Template
-- ================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_enable_db
GO
@@ -0,0 +1,13 @@
-- ===================================================
-- Enable a Table Naming the Capture Instance Template
-- ===================================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'<source_schema,sysname,source_schema>',
@source_name = N'<source_name,sysname,source_name>',
@role_name = N'<role_name,sysname,role_name>',
@capture_instance = N'<capture_instance,sysname,capture_instance>',
@supports_net_changes = 1
GO
@@ -0,0 +1,13 @@
-- ===================================================
-- Enable a Table Specifying Filegroup Option Template
-- ===================================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'<source_schema,sysname,source_schema>',
@source_name = N'<source_name,sysname,source_name>',
@role_name = N'<role_name,sysname,role_name>',
@filegroup_name = N'<filegroup_name,sysname,filegroup_name>',
@supports_net_changes = 1
GO
@@ -0,0 +1,13 @@
-- ===================================================
-- Enable a Table Specifying the Index Option Template
-- ===================================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'<source_schema,sysname,source_schema>',
@source_name = N'<source_name,sysname,source_name>',
@role_name = N'<role_name,sysname,role_name>',
@index_name = N'<index_name,sysname,index_name>',
@supports_net_changes = 1
GO
@@ -0,0 +1,12 @@
-- ===================================================
-- Enable a Table Without Using a Gating Role Template
-- ===================================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'<source_schema,sysname,source_schema>',
@source_name = N'<source_name,sysname,source_name>',
@role_name = NULL,
@supports_net_changes = 1
GO
@@ -0,0 +1,13 @@
-- ===============================================
-- Enable a Table for All Changes Queries Template
-- ===============================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'<source_schema,sysname,source_schema>',
@source_name = N'<source_name,sysname,source_name>',
@role_name = N'<role_name,sysname,role_name>',
@supports_net_changes = 0
GO
@@ -0,0 +1,12 @@
-- =======================================================
-- Enable a Table for All and Net Changes Queries Template
-- =======================================================
USE <Database_Name,sysname,Database_Name>
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'<source_schema,sysname,source_schema>',
@source_name = N'<source_name,sysname,source_name>',
@role_name = N'<role_name,sysname,role_name>',
@supports_net_changes = 1
GO
@@ -0,0 +1,74 @@
-- ==================================================
-- Instantiate CDC Wrapper TVFs for a Schema Template
-- ==================================================
USE <Database_Name,sysname,Database_Name>
GO
DECLARE @capture_instances table (
source_schema sysname,
source_table sysname,
capture_instance sysname,
object_id int,
source_object_id int,
start_lsn binary(10),
end_lsn binary(10) NULL,
supports_net_changes bit,
has_drop_pending bit NULL,
role_name sysname NULL,
index_name sysname NULL,
filegroup_name sysname NULL,
create_date datetime,
index_column_list nvarchar(max) NULL,
captured_column_list nvarchar(max))
DECLARE @wrapper_functions table (
function_name sysname,
create_script nvarchar(max))
DECLARE @source_schema sysname,
@source_name sysname,
@capture_instance sysname,
@create_script nvarchar(max)
SET @source_schema = N'<source_schema,sysname,source_schema>'
INSERT INTO @capture_instances
EXEC [sys].[sp_cdc_help_change_data_capture]
DECLARE #hinstance CURSOR LOCAL fast_forward
FOR
SELECT capture_instance
FROM @capture_instances
WHERE source_schema = @source_schema
OPEN #hinstance
FETCH #hinstance INTO @capture_instance
WHILE (@@fetch_status <> -1)
BEGIN
INSERT INTO @wrapper_functions
EXEC [sys].[sp_cdc_generate_wrapper_function] @capture_instance
FETCH #hinstance INTO @capture_instance
END
CLOSE #hinstance
DEALLOCATE #hinstance
DECLARE #hscript CURSOR LOCAL fast_forward
FOR
SELECT create_script
FROM @wrapper_functions
OPEN #hscript
FETCH #hscript INTO @create_script
WHILE (@@fetch_status <> -1)
BEGIN
EXEC (@create_script)
FETCH #hscript INTO @create_script
END
CLOSE #hscript
DEALLOCATE #hscript
GO

Some files were not shown because too many files have changed in this diff Show More