diff --git a/samples/features/ssms-templates/Sql/Aggregate/Create Aggregate.sql b/samples/features/ssms-templates/Sql/Aggregate/Create Aggregate.sql new file mode 100644 index 00000000..435032ec --- /dev/null +++ b/samples/features/ssms-templates/Sql/Aggregate/Create Aggregate.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Create Aggregate Template +-- ============================================= +IF EXISTS( + SELECT * + FROM sys.objects + WHERE name = N'' + AND (type = 'AF') +) + DROP AGGREGATE +GO + +CREATE AGGREGATE (@ ) + RETURNS + EXTERNAL NAME . +GO diff --git a/samples/features/ssms-templates/Sql/Aggregate/Drop Aggregate.sql b/samples/features/ssms-templates/Sql/Aggregate/Drop Aggregate.sql new file mode 100644 index 00000000..a3e2de28 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Aggregate/Drop Aggregate.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Drop Aggregate Template +-- ============================================= +IF EXISTS( + SELECT * + FROM sys.objects + WHERE name = N'' + AND (type = 'AF') +) + DROP AGGREGATE +GO diff --git a/samples/features/ssms-templates/Sql/Assembly/Create Assembly.sql b/samples/features/ssms-templates/Sql/Assembly/Create Assembly.sql new file mode 100644 index 00000000..4e0822f3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Assembly/Create Assembly.sql @@ -0,0 +1,15 @@ +--============================================================= +-- Create Assembly Template +--============================================================= +IF EXISTS( + SELECT * + FROM sys.assemblies + WHERE name = N'' +) +DROP ASSEMBLY ; +GO + +CREATE ASSEMBLY +FROM N'' +WITH PERMISSION_SET = ; +GO diff --git a/samples/features/ssms-templates/Sql/Assembly/Drop Assembly.sql b/samples/features/ssms-templates/Sql/Assembly/Drop Assembly.sql new file mode 100644 index 00000000..9956e51c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Assembly/Drop Assembly.sql @@ -0,0 +1,12 @@ +--============================================================= +-- Drop Assembly Template +--============================================================= +IF EXISTS( + SELECT * + FROM sys.assemblies + WHERE name = N'' +) +DROP ASSEMBLY + + + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Audit/Alter database audit specification.sql b/samples/features/ssms-templates/Sql/Audit/Alter database audit specification.sql new file mode 100644 index 00000000..581b2822 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Alter database audit specification.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Alter Database Audit Specification Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +ALTER DATABASE AUDIT SPECIFICATION +FOR SERVER AUDIT +DROP (SELECT on BY ) +ADD (INSERT on BY ) +WITH ( STATE = ) + + diff --git a/samples/features/ssms-templates/Sql/Audit/Alter server audit specification.sql b/samples/features/ssms-templates/Sql/Audit/Alter server audit specification.sql new file mode 100644 index 00000000..a39588a9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Alter server audit specification.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Alter Server Audit Specification Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +ALTER SERVER AUDIT SPECIFICATION +FOR SERVER AUDIT +DROP() +ADD () +WITH ( STATE = ) + + diff --git a/samples/features/ssms-templates/Sql/Audit/Alter server audit.sql b/samples/features/ssms-templates/Sql/Audit/Alter server audit.sql new file mode 100644 index 00000000..70a0bc54 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Alter server audit.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Alter Server Audit Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +ALTER SERVER AUDIT + TO FILE(FILEPATH = , + MAXSIZE=, + MAX_ROLLOVER_FILES =, + RESERVE_DISK_SPACE =) + WITH (QUEUE_DELAY = , + ON_FAILURE = ) diff --git a/samples/features/ssms-templates/Sql/Audit/Create database audit specification.sql b/samples/features/ssms-templates/Sql/Audit/Create database audit specification.sql new file mode 100644 index 00000000..23213b9d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Create database audit specification.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Create Database Audit Specification Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE DATABASE AUDIT SPECIFICATION +FOR SERVER AUDIT +ADD (SELECT on BY ) WITH ( STATE = ) + + diff --git a/samples/features/ssms-templates/Sql/Audit/Create server audit specification.sql b/samples/features/ssms-templates/Sql/Audit/Create server audit specification.sql new file mode 100644 index 00000000..753d07cf --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Create server audit specification.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create Server Audit Specification Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE SERVER AUDIT SPECIFICATION +FOR SERVER AUDIT +ADD ( ) +WITH ( STATE = ) + + diff --git a/samples/features/ssms-templates/Sql/Audit/Create server audit.sql b/samples/features/ssms-templates/Sql/Audit/Create server audit.sql new file mode 100644 index 00000000..700c4536 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Create server audit.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Create Server Audit Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE SERVER AUDIT audit_name + TO FILE (FILEPATH = , + MAXSIZE=, + MAX_ROLLOVER_FILES =, + RESERVE_DISK_SPACE =) + WITH (QUEUE_DELAY = , + ON_FAILURE = ) diff --git a/samples/features/ssms-templates/Sql/Audit/Drop database audit specification.sql b/samples/features/ssms-templates/Sql/Audit/Drop database audit specification.sql new file mode 100644 index 00000000..2846d37f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Drop database audit specification.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Drop Database Audit Specification Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +DROP DATABASE AUDIT SPECIFICATION + diff --git a/samples/features/ssms-templates/Sql/Audit/Drop server audit specification.sql b/samples/features/ssms-templates/Sql/Audit/Drop server audit specification.sql new file mode 100644 index 00000000..cee1851c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Drop server audit specification.sql @@ -0,0 +1,10 @@ +-- ============================================= +-- Drop Server Audit Specification Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +DROP SERVER AUDIT SPECIFICATION diff --git a/samples/features/ssms-templates/Sql/Audit/Drop server audit.sql b/samples/features/ssms-templates/Sql/Audit/Drop server audit.sql new file mode 100644 index 00000000..d3d95bc7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Audit/Drop server audit.sql @@ -0,0 +1,10 @@ +-- ============================================= +-- Drop Server Audit Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +DROP SERVER AUDIT diff --git a/samples/features/ssms-templates/Sql/Certificate/Create Certificate.sql b/samples/features/ssms-templates/Sql/Certificate/Create Certificate.sql new file mode 100644 index 00000000..337f3f02 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Certificate/Create Certificate.sql @@ -0,0 +1,15 @@ +--================================= +-- Create certificate template +--================================= +IF EXISTS( + SELECT * + FROM sys.certificates + WHERE name = N'' +) +DROP CERTIFICATE +GO + +CREATE CERTIFICATE + ENCRYPTION BY PASSWORD = + WITH SUBJECT = ; +GO diff --git a/samples/features/ssms-templates/Sql/Certificate/Drop Certificate.sql b/samples/features/ssms-templates/Sql/Certificate/Drop Certificate.sql new file mode 100644 index 00000000..4396f38a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Certificate/Drop Certificate.sql @@ -0,0 +1,10 @@ +--================================= +-- Drop certificate template +--================================= +IF EXISTS( + SELECT * + FROM sys.certificates + WHERE name = N'' +) +DROP CERTIFICATE +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Backup CDC Enabled Database.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Backup CDC Enabled Database.sql new file mode 100644 index 00000000..ab22d66f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Backup CDC Enabled Database.sql @@ -0,0 +1,16 @@ +-- ====================================== +-- Backup a CDC Enabled Database Template +-- ====================================== +USE master +GO + +BACKUP DATABASE + TO DISK = N'.bak' +WITH + NOFORMAT, + NOINIT, + NAME = N'-Full Database Backup', + SKIP, + STATS = 10; +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Change CDC Capture Job Polling Interval.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Change CDC Capture Job Polling Interval.sql new file mode 100644 index 00000000..3a4b60af --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Change CDC Capture Job Polling Interval.sql @@ -0,0 +1,11 @@ +-- =============================================== +-- Change CDC Capture Job Pollinginterval Template +-- =============================================== +USE +GO + +EXEC [sys].[sp_cdc_change_job] + @job_type = N'capture', + @pollinginterval = +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Change CDC Cleanup Job Retention.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Change CDC Cleanup Job Retention.sql new file mode 100644 index 00000000..87cfeb23 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Change CDC Cleanup Job Retention.sql @@ -0,0 +1,11 @@ +-- ========================================= +-- Change CDC Cleanup Job Retention Template +-- ========================================= +USE +GO + +EXEC [sys].[sp_cdc_change_job] + @job_type = N'cleanup', + @retention = +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Compute CPS for Recent Log Scan Sessions.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Compute CPS for Recent Log Scan Sessions.sql new file mode 100644 index 00000000..573cfd90 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Compute CPS for Recent Log Scan Sessions.sql @@ -0,0 +1,66 @@ +-- ================================================= +-- Compute CPS for Recent Log Scan Sessions Template +-- ================================================= +USE +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 + + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Restore CDC Enabled Database.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Restore CDC Enabled Database.sql new file mode 100644 index 00000000..c38fe92c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Restore CDC Enabled Database.sql @@ -0,0 +1,26 @@ +-- ======================================= +-- Restore a CDC Enabled Database Template +-- ======================================= +USE master +GO + +RESTORE DATABASE + FROM DISK = N'.bak' +WITH + FILE = 1, + NOUNLOAD, + REPLACE, + STATS = 10, + KEEP_CDC +GO + +USE +GO + +EXEC sys.sp_cdc_add_job @job_type = N'cleanup' +GO + +EXEC sys.sp_cdc_add_job @job_type = N'capture' +GO + + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Aggregate Log Scan Session Statistics.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Aggregate Log Scan Session Statistics.sql new file mode 100644 index 00000000..6b2c4485 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Aggregate Log Scan Session Statistics.sql @@ -0,0 +1,11 @@ +-- ===================================================== +-- Return Aggregate Log Scan Session Statistics Template +-- ===================================================== +USE +GO + +SELECT * FROM [sys].[dm_cdc_log_scan_sessions] +WHERE session_id = 0 +GO + + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Job Parameters.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Job Parameters.sql new file mode 100644 index 00000000..2d7f5c24 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Job Parameters.sql @@ -0,0 +1,24 @@ +-- ====================================== +-- Return Capture Job Parameters Template +-- ====================================== +USE +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 diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Process Log Scan Errors.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Process Log Scan Errors.sql new file mode 100644 index 00000000..149a7467 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Process Log Scan Errors.sql @@ -0,0 +1,8 @@ +-- =============================================== +-- Return Capture Process Log Scan Errors Template +-- =============================================== +USE +GO + +SELECT * FROM [sys].[dm_cdc_errors] +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Process Log Scan Statistics.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Process Log Scan Statistics.sql new file mode 100644 index 00000000..d84370be --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Capture Process Log Scan Statistics.sql @@ -0,0 +1,8 @@ +-- =================================================== +-- Return Capture Process Log Scan Statistics Template +-- =================================================== +USE +GO + +SELECT * FROM [sys].[dm_cdc_log_scan_sessions] +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Cleanup Job Parameters.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Cleanup Job Parameters.sql new file mode 100644 index 00000000..18883a81 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Return Cleanup Job Parameters.sql @@ -0,0 +1,24 @@ +-- ====================================== +-- Return Cleanup Job Parameters Template +-- ====================================== +USE +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 diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Start CDC Capture Job.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Start CDC Capture Job.sql new file mode 100644 index 00000000..09646279 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Start CDC Capture Job.sql @@ -0,0 +1,10 @@ +-- ============================== +-- Start CDC Capture Job Template +-- ============================== +USE +GO + +EXEC [sys].[sp_cdc_start_job] + @job_type = N'capture' +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Start CDC Cleanup Job.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Start CDC Cleanup Job.sql new file mode 100644 index 00000000..08486368 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Start CDC Cleanup Job.sql @@ -0,0 +1,10 @@ +-- ============================== +-- Start CDC Cleanup Job Template +-- ============================== +USE +GO + +EXEC [sys].[sp_cdc_start_job] + @job_type = N'cleanup' +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Stop CDC Capture Job.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Stop CDC Capture Job.sql new file mode 100644 index 00000000..81119117 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Stop CDC Capture Job.sql @@ -0,0 +1,10 @@ +-- ============================= +-- Stop CDC Capture Job Template +-- ============================= +USE +GO + +EXEC [sys].[sp_cdc_stop_job] + @job_type = N'capture' +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Stop CDC Cleanup Job.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Stop CDC Cleanup Job.sql new file mode 100644 index 00000000..2bd173d1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Administration/Stop CDC Cleanup Job.sql @@ -0,0 +1,10 @@ +-- ============================= +-- Stop CDC Cleanup Job Template +-- ============================= +USE +GO + +EXEC [sys].[sp_cdc_stop_job] + @job_type = N'cleanup' +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable All Capture Instances for Schema.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable All Capture Instances for Schema.sql new file mode 100644 index 00000000..ead6654f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable All Capture Instances for Schema.sql @@ -0,0 +1,54 @@ +-- =================================================== +-- Disable All Capture Instances for a Schema Template +-- =================================================== +USE +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'' + +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 diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable Capture Instance for Table.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable Capture Instance for Table.sql new file mode 100644 index 00000000..9f92b3de --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable Capture Instance for Table.sql @@ -0,0 +1,11 @@ +-- =============================================== +-- Disable a Capture Instance for a Table Template +-- =============================================== +USE +GO + +EXEC sys.sp_cdc_disable_table + @source_schema = N'', + @source_name = N'', + @capture_instance = N'' +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable Database for CDC.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable Database for CDC.sql new file mode 100644 index 00000000..af4daf0d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Disable Database for CDC.sql @@ -0,0 +1,8 @@ +-- ================================= +-- Disable Database for CDC Template +-- ================================= +USE +GO + +EXEC sys.sp_cdc_disable_db +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable All Tables of Database Schema.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable All Tables of Database Schema.sql new file mode 100644 index 00000000..e9ba1e6d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable All Tables of Database Schema.sql @@ -0,0 +1,32 @@ +-- =============================================== +-- Enable All Tables of a Database Schema Template +-- =============================================== +USE +GO + +DECLARE @source_schema sysname, @source_name sysname +SET @source_schema = N'' +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 diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Database for CDC.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Database for CDC.sql new file mode 100644 index 00000000..6e0c2203 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Database for CDC.sql @@ -0,0 +1,8 @@ +-- ================================ +-- Enable Database for CDC Template +-- ================================ +USE +GO + +EXEC sys.sp_cdc_enable_db +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Naming the Capture Instance.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Naming the Capture Instance.sql new file mode 100644 index 00000000..87daeda5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Naming the Capture Instance.sql @@ -0,0 +1,13 @@ +-- =================================================== +-- Enable a Table Naming the Capture Instance Template +-- =================================================== +USE +GO + +EXEC sys.sp_cdc_enable_table + @source_schema = N'', + @source_name = N'', + @role_name = N'', + @capture_instance = N'', + @supports_net_changes = 1 +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Specifying Filegroup Option.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Specifying Filegroup Option.sql new file mode 100644 index 00000000..d0c58407 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Specifying Filegroup Option.sql @@ -0,0 +1,13 @@ +-- =================================================== +-- Enable a Table Specifying Filegroup Option Template +-- =================================================== +USE +GO + +EXEC sys.sp_cdc_enable_table + @source_schema = N'', + @source_name = N'', + @role_name = N'', + @filegroup_name = N'', + @supports_net_changes = 1 +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Specifying Index Option.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Specifying Index Option.sql new file mode 100644 index 00000000..b9bb3e8a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Specifying Index Option.sql @@ -0,0 +1,13 @@ +-- =================================================== +-- Enable a Table Specifying the Index Option Template +-- =================================================== +USE +GO + +EXEC sys.sp_cdc_enable_table + @source_schema = N'', + @source_name = N'', + @role_name = N'', + @index_name = N'', + @supports_net_changes = 1 +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Without Using Gating Role.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Without Using Gating Role.sql new file mode 100644 index 00000000..065399c1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table Without Using Gating Role.sql @@ -0,0 +1,12 @@ +-- =================================================== +-- Enable a Table Without Using a Gating Role Template +-- =================================================== +USE +GO + +EXEC sys.sp_cdc_enable_table + @source_schema = N'', + @source_name = N'', + @role_name = NULL, + @supports_net_changes = 1 +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table for All Changes Queries.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table for All Changes Queries.sql new file mode 100644 index 00000000..dac9fb35 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table for All Changes Queries.sql @@ -0,0 +1,13 @@ +-- =============================================== +-- Enable a Table for All Changes Queries Template +-- =============================================== +USE +GO + +EXEC sys.sp_cdc_enable_table + @source_schema = N'', + @source_name = N'', + @role_name = N'', + @supports_net_changes = 0 +GO + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table for All and Net Changes Queries.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table for All and Net Changes Queries.sql new file mode 100644 index 00000000..5c81e24c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Enable Table for All and Net Changes Queries.sql @@ -0,0 +1,12 @@ +-- ======================================================= +-- Enable a Table for All and Net Changes Queries Template +-- ======================================================= +USE +GO + +EXEC sys.sp_cdc_enable_table + @source_schema = N'', + @source_name = N'', + @role_name = N'', + @supports_net_changes = 1 +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Instantiate CDC Wrapper TVFs for Schema.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Instantiate CDC Wrapper TVFs for Schema.sql new file mode 100644 index 00000000..c7e1ebb9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Instantiate CDC Wrapper TVFs for Schema.sql @@ -0,0 +1,74 @@ +-- ================================================== +-- Instantiate CDC Wrapper TVFs for a Schema Template +-- ================================================== +USE +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'' + +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 diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Instantiate Wrapper TVF With Update Flag.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Instantiate Wrapper TVF With Update Flag.sql new file mode 100644 index 00000000..59cd2202 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Configuration/Instantiate Wrapper TVF With Update Flag.sql @@ -0,0 +1,28 @@ +-- ====================================================== +-- Instantiate a Wrapper TVF With an Update Flag Template +-- ====================================================== +USE +GO + +DECLARE @wrapper_functions table ( + function_name sysname, + create_script nvarchar(max)) + +DECLARE @create_script nvarchar(max), + @capture_instance sysname, + @update_flag_list nvarchar(max) + +SET @capture_instance = N'' +SET @update_flag_list = N'' + +INSERT INTO @wrapper_functions +EXEC [sys].[sp_cdc_generate_wrapper_function] + @capture_instance = @capture_instance, + @update_flag_list = @update_flag_list + +SELECT @create_script = create_script +FROM @wrapper_functions +WHERE function_name like N'fn_net_changes%' + +EXEC (@create_script) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Append Commit Time to All Changes Result Set.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Append Commit Time to All Changes Result Set.sql new file mode 100644 index 00000000..e3d1baab --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Append Commit Time to All Changes Result Set.sql @@ -0,0 +1,18 @@ +-- ===================================================== +-- Append Commit Time to All Changes Result Set Template +-- ===================================================== +USE +GO + +DECLARE @from_lsn binary(10), @to_lsn binary(10) + +SET @from_lsn = + sys.fn_cdc_get_min_lsn('') +SET @to_lsn = sys.fn_cdc_get_max_lsn() + +SELECT q.*, m.tran_end_time AS COMMIT_TIME +FROM cdc.fn_cdc_get_all_changes_ + (@from_lsn, @to_lsn, N'all') q +INNER JOIN cdc.lsn_time_mapping m + ON q.__$start_lsn = m.start_lsn +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Create Function fn_convertnumericlsntobinary.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Create Function fn_convertnumericlsntobinary.sql new file mode 100644 index 00000000..908a838a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Create Function fn_convertnumericlsntobinary.sql @@ -0,0 +1,24 @@ +-- ===================================================== +-- Create Function fn_convertnumericlsntobinary Template +-- ===================================================== +USE +GO + +CREATE FUNCTION dbo.fn_convertnumericlsntobinary( + @numericlsn numeric(25,0) +) returns binary(10) +AS +BEGIN + DECLARE @high4bytelsncomponent bigint, + @mid4bytelsncomponent bigint, + @low2bytelsncomponent int + SELECT @high4bytelsncomponent = CONVERT(bigint, floor(@numericlsn / 1000000000000000)) + SELECT @numericlsn = @numericlsn - CONVERT(numeric(25,0), @high4bytelsncomponent) * 1000000000000000 + SELECT @mid4bytelsncomponent = CONVERT(bigint,floor(@numericlsn / 100000)) + SELECT @numericlsn = @numericlsn - CONVERT(numeric(25,0), @mid4bytelsncomponent) * 100000 + SELECT @low2bytelsncomponent = CONVERT(int, @numericlsn) + RETURN CONVERT(binary(4), @high4bytelsncomponent) + + CONVERT(binary(4), @mid4bytelsncomponent) + + CONVERT(binary(2), @low2bytelsncomponent) +END +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes Since Previous Request.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes Since Previous Request.sql new file mode 100644 index 00000000..b9eb6046 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes Since Previous Request.sql @@ -0,0 +1,13 @@ +-- ========================================================= +-- Enumerate All Changes Since the Previous Request Template +-- ========================================================= +USE +GO + +DECLARE @from_lsn binary(10), @to_lsn binary(10), @previous_to_lsn binary(10) +SET @previous_to_lsn = +SET @from_lsn = sys.fn_cdc_increment_lsn(@previous_to_lsn) +SET @to_lsn = sys.fn_cdc_get_max_lsn() +SELECT * FROM cdc.fn_cdc_get_all_changes_ + (@from_lsn, @to_lsn, N'all') +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes Up Until Now.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes Up Until Now.sql new file mode 100644 index 00000000..d0d0c0b7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes Up Until Now.sql @@ -0,0 +1,22 @@ +-- =========================================== +-- Enumerate All Changes Up Until Now Template +-- =========================================== +USE +GO + +DECLARE @from_lsn binary(10), @to_lsn binary(10), @end_time datetime +SET @from_lsn = + sys.fn_cdc_get_min_lsn('') +SET @end_time = GETDATE() + +DELAY: + IF (sys.fn_cdc_map_lsn_to_time(sys.fn_cdc_get_max_lsn()) <= @end_time) + BEGIN + WAITFOR DELAY '00:01:00' + GOTO DELAY + END + +SET @to_lsn = sys.fn_cdc_map_time_to_lsn('largest less than or equal', @end_time) +SELECT * FROM cdc.fn_cdc_get_all_changes_ + (@from_lsn, @to_lsn, N'all') +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes for Valid Range.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes for Valid Range.sql new file mode 100644 index 00000000..756b6774 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate All Changes for Valid Range.sql @@ -0,0 +1,13 @@ +-- ================================================== +-- Enumerate All Changes for the Valid Range Template +-- ================================================== +USE +GO + +DECLARE @from_lsn binary(10), @to_lsn binary(10) +SET @from_lsn = + sys.fn_cdc_get_min_lsn('') +SET @to_lsn = sys.fn_cdc_get_max_lsn() +SELECT * FROM cdc.fn_cdc_get_all_changes_ + (@from_lsn, @to_lsn, N'all') +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes Using All With Mask.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes Using All With Mask.sql new file mode 100644 index 00000000..2a90e857 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes Using All With Mask.sql @@ -0,0 +1,23 @@ +-- ================================================== +-- Enumerate Net Changes Using All With Mask Template +-- ================================================== +USE +GO + +DECLARE @from_lsn binary(10), + @to_lsn binary(10), + @column_ordinal int + +SET @from_lsn = + sys.fn_cdc_get_min_lsn('') +SET @to_lsn = sys.fn_cdc_get_max_lsn() +SET @column_ordinal = sys.fn_cdc_get_column_ordinal + (N'', + N'') + +SELECT *, + sys.fn_cdc_is_bit_set(@column_ordinal, __$update_mask) + AS _changed +FROM cdc.fn_cdc_get_net_changes_ + (@from_lsn, @to_lsn, N'all with mask') +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes Using TRY CATCH.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes Using TRY CATCH.sql new file mode 100644 index 00000000..90da5437 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes Using TRY CATCH.sql @@ -0,0 +1,46 @@ +-- ============================================== +-- Enumerate Net Changes Using TRY CATCH Template +-- ============================================== +USE +GO + +DECLARE @from_lsn binary(10), @to_lsn binary(10) +SET @from_lsn = + sys.fn_cdc_get_min_lsn('') +SET @to_lsn = sys.fn_cdc_get_max_lsn() + +BEGIN TRY +SELECT * FROM cdc.fn_cdc_get_all_changes_ + (@from_lsn, @to_lsn, N'all') +END TRY + +BEGIN CATCH + DECLARE + @ERROR_SEVERITY INT, + @ERROR_STATE INT, + @ERROR_NUMBER INT, + @ERROR_LINE INT, + @ERROR_MESSAGE VARCHAR(245) + + SELECT + @ERROR_SEVERITY = ERROR_SEVERITY(), + @ERROR_STATE = ERROR_STATE(), + @ERROR_NUMBER = ERROR_NUMBER(), + @ERROR_LINE = ERROR_LINE(), + @ERROR_MESSAGE = ERROR_MESSAGE() + + IF @ERROR_NUMBER = 313 + RAISERROR( + 'Either a range parameter or the row filter option is not valid.', + @ERROR_SEVERITY, @ERROR_STATE) + ELSE + IF @ERROR_NUMBER = 229 + RAISERROR( + 'The caller is not authorized to perform the query.', + @ERROR_SEVERITY, @ERROR_STATE) + ELSE + RAISERROR('Msg %d, Line %d: %s', + @ERROR_SEVERITY, @ERROR_STATE, @ERROR_NUMBER, + @ERROR_LINE, @ERROR_MESSAGE) +END CATCH +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes for Valid Range.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes for Valid Range.sql new file mode 100644 index 00000000..76c9d85b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Enumerate Net Changes for Valid Range.sql @@ -0,0 +1,13 @@ +-- ================================================== +-- Enumerate Net Changes for the Valid Range Template +-- ================================================== +USE +GO + +DECLARE @from_lsn binary(10), @to_lsn binary(10) +SET @from_lsn = + sys.fn_cdc_get_min_lsn('') +SET @to_lsn = sys.fn_cdc_get_max_lsn() +SELECT * FROM cdc.fn_cdc_get_net_changes_ + (@from_lsn, @to_lsn, N'all') +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Get Net Changes Using Wrapper With Update Flags.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Get Net Changes Using Wrapper With Update Flags.sql new file mode 100644 index 00000000..08395f93 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Get Net Changes Using Wrapper With Update Flags.sql @@ -0,0 +1,9 @@ +-- ========================================================== +-- Get Net Changes Using a Wrapper With Update Flags Template +-- ========================================================== +USE +GO + +SELECT * FROM fn_net_changes_ + (NULL, NULL, N'all with mask') +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Query for All Changes With Wrapper Function.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Query for All Changes With Wrapper Function.sql new file mode 100644 index 00000000..61b8f687 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Query for All Changes With Wrapper Function.sql @@ -0,0 +1,9 @@ +-- ====================================================== +-- Query for All Changes With a Wrapper Function Template +-- ====================================================== +USE +GO + +SELECT * FROM fn_all_changes_ + (NULL, NULL, N'all') +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Query for Net Changes With Wrapper Function.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Query for Net Changes With Wrapper Function.sql new file mode 100644 index 00000000..b1475f67 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Query for Net Changes With Wrapper Function.sql @@ -0,0 +1,9 @@ +-- ====================================================== +-- Query for Net Changes With a Wrapper Function Template +-- ====================================================== +USE +GO + +SELECT * FROM fn_net_changes_ + (NULL, NULL, N'all') +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Return All Changes With Given tran_begin_lsn.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Return All Changes With Given tran_begin_lsn.sql new file mode 100644 index 00000000..0fd9ff79 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Enumeration/Return All Changes With Given tran_begin_lsn.sql @@ -0,0 +1,22 @@ +-- ======================================================= +-- Return All Changes With a Given tran_begin_lsn Template +-- ======================================================= +USE +GO + +DECLARE @from_lsn binary(10), + @to_lsn binary(10), + @database_transaction_begin_lsn numeric(25,0) + +SET @from_lsn = + sys.fn_cdc_get_min_lsn('') +SET @to_lsn = sys.fn_cdc_get_max_lsn() +SET @database_transaction_begin_lsn = + +SELECT q.* +FROM cdc.fn_cdc_get_all_changes_ + (@from_lsn, @to_lsn, N'all') q +INNER JOIN cdc.lsn_time_mapping m + ON q.__$start_lsn = m.start_lsn +WHERE dbo.fn_convertnumericlsntobinary(@database_transaction_begin_lsn) = m.tran_begin_lsn +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Determine Whether a Database is Enabled for CDC.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Determine Whether a Database is Enabled for CDC.sql new file mode 100644 index 00000000..515c8257 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Determine Whether a Database is Enabled for CDC.sql @@ -0,0 +1,11 @@ +-- ======================================================== +-- Determine Whether a Database is Enabled for CDC Template +-- ======================================================== +USE +GO + +SELECT is_cdc_enabled FROM sys.databases +WHERE name = N'' +GO + + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Determine Whether a Table is Enabled for CDC.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Determine Whether a Table is Enabled for CDC.sql new file mode 100644 index 00000000..623cdc05 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Determine Whether a Table is Enabled for CDC.sql @@ -0,0 +1,11 @@ +-- ===================================================== +-- Determine Whether a Table is Enabled for CDC Template +-- ===================================================== +USE +GO + +SELECT is_tracked_by_cdc FROM sys.tables +WHERE object_id = object_id(N'.') +GO + + diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return All Accessible Database Capture Instances.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return All Accessible Database Capture Instances.sql new file mode 100644 index 00000000..e62da180 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return All Accessible Database Capture Instances.sql @@ -0,0 +1,29 @@ +-- ========================================================= +-- Return All Accessible Database Capture Instances Template +-- ========================================================= +USE +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)) + +INSERT INTO @capture_instances +EXEC [sys].[sp_cdc_help_change_data_capture] + +SELECT source_schema, source_table, capture_instance +FROM @capture_instances +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return Captured Columns of Capture Instance.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return Captured Columns of Capture Instance.sql new file mode 100644 index 00000000..b82dd396 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return Captured Columns of Capture Instance.sql @@ -0,0 +1,27 @@ +-- ========================================================== +-- Return the Captured Columns of a Capture Instance Template +-- ========================================================== +USE +GO + +DECLARE @captured_columns table ( + source_schema sysname, + source_table sysname, + capture_instance sysname, + column_name sysname, + column_id int, + ordinal_position int, + data_type sysname, + character_maximum_length int NULL, + numeric_precision tinyint NULL, + numeric_precision_radix smallint NULL, + numeric_scale int NULL, + datetime_precision smallint NULL) + +INSERT INTO @captured_columns +EXEC [sys].[sp_cdc_get_captured_columns] N'' + +SELECT ordinal_position, column_name, data_type +FROM @captured_columns +ORDER BY ordinal_position +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return DDL Changes to All Enabled Tables.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return DDL Changes to All Enabled Tables.sql new file mode 100644 index 00000000..c252a526 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return DDL Changes to All Enabled Tables.sql @@ -0,0 +1,60 @@ +-- ===================================================== +-- Return the DDL Changes to All Enabled Tables Template +-- ===================================================== +USE +GO + +DECLARE @capture_instance sysname + +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 @ddl_history table ( + source_schema sysname, + source_table sysname, + capture_instance sysname, + required_column_update bit, + ddl_command nvarchar(max), + ddl_lsn binary(10), + ddl_time datetime) + +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 + +OPEN #hinstance +FETCH #hinstance INTO @capture_instance + +WHILE (@@fetch_status <> -1) +BEGIN + INSERT INTO @ddl_history + EXEC [sys].[sp_cdc_get_ddl_history] @capture_instance + + FETCH #hinstance INTO @capture_instance +END + +CLOSE #hinstance +DEALLOCATE #hinstance + +SELECT source_schema, source_table, capture_instance, ddl_time, ddl_command +FROM @ddl_history +ORDER BY ddl_time +GO diff --git a/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return DDL Changes to Enabled Source Table.sql b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return DDL Changes to Enabled Source Table.sql new file mode 100644 index 00000000..6eac9c67 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Data Capture/Metadata Queries/Return DDL Changes to Enabled Source Table.sql @@ -0,0 +1,23 @@ +-- ========================================================== +-- Return the DDL Changes to an Enabled Source Table Template +-- ========================================================== +USE +GO + +DECLARE @ddl_history table ( + source_schema sysname, + source_table sysname, + capture_instance sysname, + required_column_update bit, + ddl_command nvarchar(max), + ddl_lsn binary(10), + ddl_time datetime) + +INSERT INTO @ddl_history +EXEC [sys].[sp_cdc_get_ddl_history] + N'' + +SELECT source_schema, source_table, ddl_time, ddl_command +FROM @ddl_history +ORDER BY ddl_time +GO diff --git a/samples/features/ssms-templates/Sql/Change Tracking/Alter Change Tracking on Database.sql b/samples/features/ssms-templates/Sql/Change Tracking/Alter Change Tracking on Database.sql new file mode 100644 index 00000000..d2c702cd --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Tracking/Alter Change Tracking on Database.sql @@ -0,0 +1,12 @@ +-- =============================================================== +-- Alter database with modifyingt change tracking options template +-- =============================================================== +USE master +GO + +ALTER DATABASE SET CHANGE_TRACKING +( + CHANGE_RETENTION = , + AUTO_CLEANUP = +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Tracking/Disable Change Tracking on Database.sql b/samples/features/ssms-templates/Sql/Change Tracking/Disable Change Tracking on Database.sql new file mode 100644 index 00000000..7e1f862b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Tracking/Disable Change Tracking on Database.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Alter database with Disable change tracking template +-- ============================================= +USE master +GO + +ALTER DATABASE SET CHANGE_TRACKING = OFF +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Change Tracking/Disable Change Tracking on Table.sql b/samples/features/ssms-templates/Sql/Change Tracking/Disable Change Tracking on Table.sql new file mode 100644 index 00000000..19abd884 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Tracking/Disable Change Tracking on Table.sql @@ -0,0 +1,11 @@ +--========================================================================== +-- Alter Table Change Tracking template +-- +-- This template enables the Change Tracking on Table with options +--========================================================================== +USE MASTER +GO + +ALTER TABLE . + DISABLE CHANGE_TRACKING +GO diff --git a/samples/features/ssms-templates/Sql/Change Tracking/Enable Change Tracking on Table.sql b/samples/features/ssms-templates/Sql/Change Tracking/Enable Change Tracking on Table.sql new file mode 100644 index 00000000..44314f85 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Tracking/Enable Change Tracking on Table.sql @@ -0,0 +1,15 @@ +--========================================================================== +-- Alter Table Enable Change Tracking template +-- +-- This template enables the Change Tracking on Table with options +--========================================================================== +USE MASTER +GO + +ALTER TABLE . + ENABLE CHANGE_TRACKING + WITH + ( + TRACK_COLUMNS_UPDATED = + ) +GO diff --git a/samples/features/ssms-templates/Sql/Change Tracking/Set Change Tracking On Database.sql b/samples/features/ssms-templates/Sql/Change Tracking/Set Change Tracking On Database.sql new file mode 100644 index 00000000..50984fc3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Change Tracking/Set Change Tracking On Database.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Alter database Set Change Tracking On Template +-- ============================================= +USE master +GO + +ALTER DATABASE SET CHANGE_TRACKING = ON +( + CHANGE_RETENTION = , + AUTO_CLEANUP = +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Credential/Create Credential.sql b/samples/features/ssms-templates/Sql/Credential/Create Credential.sql new file mode 100644 index 00000000..84f00c1e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Credential/Create Credential.sql @@ -0,0 +1,15 @@ +--================================= +-- Create credential template +--================================= +IF EXISTS( + SELECT * + FROM sys.credentials + WHERE name = N'' +) +DROP CREDENTIAL +GO + +CREATE CREDENTIAL + WITH IDENTITY = + FOR CRYPTOGRAPHIC_PROVIDER +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Credential/Drop Credential.sql b/samples/features/ssms-templates/Sql/Credential/Drop Credential.sql new file mode 100644 index 00000000..5a5ddee7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Credential/Drop Credential.sql @@ -0,0 +1,10 @@ +--================================= +-- Drop credential template +--================================= +IF EXISTS( + SELECT * + FROM sys.credentials + WHERE name = N'' +) +DROP CREDENTIAL +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Database Role/Create Database Role.sql b/samples/features/ssms-templates/Sql/Database Role/Create Database Role.sql new file mode 100644 index 00000000..5698f44d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database Role/Create Database Role.sql @@ -0,0 +1,32 @@ +-- ================================ +-- Create Database Role template +-- ================================ +USE +GO + +-- Create the database role +CREATE ROLE AUTHORIZATION [dbo] +GO + +-- Grant access rights to a specific schema in the database +GRANT + ALTER, + CONTROL, + DELETE, + EXECUTE, + INSERT, + REFERENCES, + SELECT, + TAKE OWNERSHIP, + UPDATE, + VIEW DEFINITION +ON SCHEMA:: + TO +GO + +-- Add an existing user to the role +ALTER ROLE ADD MEMBER +GO + + + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Database Role/Drop Role Member.sql b/samples/features/ssms-templates/Sql/Database Role/Drop Role Member.sql new file mode 100644 index 00000000..4796f454 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database Role/Drop Role Member.sql @@ -0,0 +1,34 @@ +-- ============================ +-- Drop Role Member template +-- ============================ + +USE +GO + +-- Create the database role +CREATE ROLE AUTHORIZATION [dbo] +GO + +-- Grant access rights to a specific schema in the database +GRANT + ALTER, + CONTROL, + DELETE, + EXECUTE, + INSERT, + REFERENCES, + SELECT, + TAKE OWNERSHIP, + UPDATE, + VIEW DEFINITION +ON SCHEMA:: + TO +GO + +-- Add an existing user to the role +ALTER ROLE ADD MEMBER +GO + +-- Drop the user from the role +ALTER ROLE DROP MEMBER +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Database Role/Drop Role.sql b/samples/features/ssms-templates/Sql/Database Role/Drop Role.sql new file mode 100644 index 00000000..dd1abaa4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database Role/Drop Role.sql @@ -0,0 +1,14 @@ +-- ===================== +-- Drop Role template +-- ===================== + +USE ; +GO + +-- Create the database role +CREATE ROLE AUTHORIZATION [dbo]; +GO + +-- Drop the role +DROP ROLE ; +GO diff --git a/samples/features/ssms-templates/Sql/Database Trigger/Alter Database Trigger.sql b/samples/features/ssms-templates/Sql/Database Trigger/Alter Database Trigger.sql new file mode 100644 index 00000000..44a0cc38 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database Trigger/Alter Database Trigger.sql @@ -0,0 +1,18 @@ +--==================================== +-- Alter database trigger template +--==================================== +USE +GO + +ALTER TRIGGER ON DATABASE + FOR +AS +IF IS_MEMBER ('db_owner') = 0 +BEGIN + PRINT 'You must ask your DBA to drop or alter tables!' + ROLLBACK TRANSACTION +END +GO + + + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Database Trigger/Create Database Trigger.sql b/samples/features/ssms-templates/Sql/Database Trigger/Create Database Trigger.sql new file mode 100644 index 00000000..466acc7b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database Trigger/Create Database Trigger.sql @@ -0,0 +1,26 @@ +--==================================== +-- Create database trigger template +--==================================== +USE +GO + +IF EXISTS( + SELECT * + FROM sys.triggers + WHERE name = N'' + AND parent_class_desc = N'DATABASE' +) + DROP TRIGGER ON DATABASE +GO + +CREATE TRIGGER ON DATABASE + FOR +AS +IF IS_MEMBER ('db_owner') = 0 +BEGIN + PRINT 'You must ask your DBA to drop or alter tables!' + ROLLBACK TRANSACTION +END +GO + + diff --git a/samples/features/ssms-templates/Sql/Database Trigger/Drop Database Trigger.sql b/samples/features/ssms-templates/Sql/Database Trigger/Drop Database Trigger.sql new file mode 100644 index 00000000..46865743 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database Trigger/Drop Database Trigger.sql @@ -0,0 +1,11 @@ + --==================================== +-- Drop database trigger template +--==================================== +IF EXISTS( + SELECT * + FROM sys.triggers + WHERE name = N'' + AND parent_class_desc = N'DATABASE' +) + DROP TRIGGER ON DATABASE +GO diff --git a/samples/features/ssms-templates/Sql/Database/Bring Database Online.sql b/samples/features/ssms-templates/Sql/Database/Bring Database Online.sql new file mode 100644 index 00000000..ed5ea503 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/Bring Database Online.sql @@ -0,0 +1,7 @@ +--================================== +-- Bring database online template +--================================== +ALTER DATABASE + SET ONLINE +GO + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Database/Create Database Snapshot.sql b/samples/features/ssms-templates/Sql/Database/Create Database Snapshot.sql new file mode 100644 index 00000000..ca6ca989 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/Create Database Snapshot.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Create Database Snapshot Template +-- ============================================= +USE master +GO + +-- Drop database snapshot if it already exists +IF EXISTS ( + SELECT name + FROM sys.databases + WHERE name = N'_' +) +DROP DATABASE _ +GO + +-- Create the database snapshot +CREATE DATABASE _ ON +( NAME = , FILENAME = +'C:\Program Files\Microsoft SQL Server\%INST_PRE%.MSSQLSERVER\MSSQL\Data\_.ss' ) +AS SNAPSHOT OF ; +GO diff --git a/samples/features/ssms-templates/Sql/Database/Create Database on Multiple Filegroups.sql b/samples/features/ssms-templates/Sql/Database/Create Database on Multiple Filegroups.sql new file mode 100644 index 00000000..5fdaf936 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/Create Database on Multiple Filegroups.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Create database on mulitple filegroups +-- ============================================= +IF EXISTS ( + SELECT * + FROM sys.databases + WHERE name = N'' +) + DROP DATABASE +GO + +CREATE DATABASE +ON PRIMARY + (NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + +FILEGROUP + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + +FILEGROUP + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%) + +LOG ON + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 5MB, + MAXSIZE = 25MB, + FILEGROWTH = 5MB) +GO + diff --git a/samples/features/ssms-templates/Sql/Database/Create Database with Filestream Filegroups.sql b/samples/features/ssms-templates/Sql/Database/Create Database with Filestream Filegroups.sql new file mode 100644 index 00000000..890476df --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/Create Database with Filestream Filegroups.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Create database with filestream filegroups +-- ============================================= +IF EXISTS ( + SELECT * + FROM sys.databases + WHERE name = N'' +) + DROP DATABASE +GO + +CREATE DATABASE +ON PRIMARY + (NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + +FILEGROUP CONTAINS FILESTREAM + ( NAME = , + FILENAME = N''), + +FILEGROUP CONTAINS FILESTREAM + ( NAME = , + FILENAME = N'') + +LOG ON + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 5MB, + MAXSIZE = 25MB, + FILEGROWTH = 5MB) +GO + diff --git a/samples/features/ssms-templates/Sql/Database/Create Database with Memory Optimized Data Filegroup.sql b/samples/features/ssms-templates/Sql/Database/Create Database with Memory Optimized Data Filegroup.sql new file mode 100644 index 00000000..9735c56f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/Create Database with Memory Optimized Data Filegroup.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Create Database with MEMORY_OPTIMIZED_DATA Filegroup Template +-- ============================================= + +IF EXISTS ( + SELECT * + FROM sys.databases + WHERE name = N'' +) + DROP DATABASE +GO + +CREATE DATABASE +ON PRIMARY + (NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%), + +FILEGROUP CONTAINS MEMORY_OPTIMIZED_DATA + ( NAME = , + FILENAME = N'') + +LOG ON + ( NAME = , + FILENAME = N'', + SIZE = 10MB, + MAXSIZE = 50MB, + FILEGROWTH = 10%) +GO diff --git a/samples/features/ssms-templates/Sql/Database/Take Database Offline.sql b/samples/features/ssms-templates/Sql/Database/Take Database Offline.sql new file mode 100644 index 00000000..f37e0bf5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/Take Database Offline.sql @@ -0,0 +1,6 @@ +--================================== +-- Take database offline template +--================================== +ALTER DATABASE + SET OFFLINE +GO diff --git a/samples/features/ssms-templates/Sql/Database/attach database.sql b/samples/features/ssms-templates/Sql/Database/attach database.sql new file mode 100644 index 00000000..f214e5e0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/attach database.sql @@ -0,0 +1,12 @@ +--===================================== +-- Attach database template +--===================================== +IF NOT EXISTS( + SELECT * + FROM sys.databases + WHERE name = N'' +) + CREATE DATABASE + ON PRIMARY (FILENAME = '') + FOR ATTACH +GO diff --git a/samples/features/ssms-templates/Sql/Database/create database.sql b/samples/features/ssms-templates/Sql/Database/create database.sql new file mode 100644 index 00000000..eb8be7c6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/create database.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Create database template +-- ============================================= +USE master +GO + +-- Drop the database if it already exists +IF EXISTS ( + SELECT name + FROM sys.databases + WHERE name = N'' +) +DROP DATABASE +GO + +CREATE DATABASE +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Database/detach database.sql b/samples/features/ssms-templates/Sql/Database/detach database.sql new file mode 100644 index 00000000..afb9c70b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/detach database.sql @@ -0,0 +1,7 @@ +--===================================== +-- Detach database template +--===================================== +EXEC sp_detach_db @dbname = '' + ,@skipchecks = 'true' + ,@KeepFulltextIndexFile = 'true' +GO diff --git a/samples/features/ssms-templates/Sql/Database/drop database.sql b/samples/features/ssms-templates/Sql/Database/drop database.sql new file mode 100644 index 00000000..4a1eb213 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Database/drop database.sql @@ -0,0 +1,13 @@ +-- ========================= +-- Drop Database Template +-- ========================= +USE master +GO + +IF EXISTS ( + SELECT name + FROM sys.databases + WHERE name = N'' +) +DROP DATABASE +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Default/Create Default.sql b/samples/features/ssms-templates/Sql/Default/Create Default.sql new file mode 100644 index 00000000..33e1e458 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Default/Create Default.sql @@ -0,0 +1,18 @@ +-- ========================== +-- Create Default template +-- ========================== +-- This feature is marked for deprecation + +USE +GO + +CREATE DEFAULT . +AS + getdate() +GO + +-- Bind the default to a column +EXEC sp_bindefault + N'.', + N'..' +GO diff --git a/samples/features/ssms-templates/Sql/Default/Default Constraint.sql b/samples/features/ssms-templates/Sql/Default/Default Constraint.sql new file mode 100644 index 00000000..bf8fc0a2 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Default/Default Constraint.sql @@ -0,0 +1,10 @@ +-- ============================ +-- Create default constraint +-- ============================ + +ALTER TABLE . + ADD CONSTRAINT df_ + DEFAULT + FOR +GO + diff --git a/samples/features/ssms-templates/Sql/Default/Drop Default Constraint.sql b/samples/features/ssms-templates/Sql/Default/Drop Default Constraint.sql new file mode 100644 index 00000000..316abd66 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Default/Drop Default Constraint.sql @@ -0,0 +1,7 @@ +-- =================================== +-- Drop Default Constraint template +-- =================================== + +ALTER TABLE . + DROP CONSTRAINT +GO diff --git a/samples/features/ssms-templates/Sql/Default/Drop Default.sql b/samples/features/ssms-templates/Sql/Default/Drop Default.sql new file mode 100644 index 00000000..90cc1288 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Default/Drop Default.sql @@ -0,0 +1,7 @@ +-- ======================== +-- Drop Default template +-- ======================== +-- This feature is marked for deprecation + +DROP DEFAULT . +GO diff --git a/samples/features/ssms-templates/Sql/Default/Unbind Default.sql b/samples/features/ssms-templates/Sql/Default/Unbind Default.sql new file mode 100644 index 00000000..c747ae0b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Default/Unbind Default.sql @@ -0,0 +1,7 @@ +-- ========================== +-- Unbind Default template +-- ========================== +-- This feature is marked for deprecation + +EXEC sp_unbindefault N'..' +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Attach Database Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Attach Database Template.sql new file mode 100644 index 00000000..d11ec9ee --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Attach Database Template.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Attach database via sp_attach_db +-- ============================================= +EXECUTE sp_attach_db @dbname = N'', + @filename1 = N'', + @filename2 = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Attach Single File Database.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Attach Single File Database.sql new file mode 100644 index 00000000..37d4e5d6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Attach Single File Database.sql @@ -0,0 +1,9 @@ +-- ============================================= +-- Attach database via sp_attach_single_file_db +-- ============================================= +-- note: it builds a new log file and performs additional cleanup work +-- to remove replication from the newly attached database +EXECUTE sp_attach_single_file_db @dbname = N'', + @physname = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Detach Database Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Detach Database Template.sql new file mode 100644 index 00000000..3a1e2d3d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Attach and Detach Database/Detach Database Template.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Detach database via sp_detach_db +-- ============================================= +EXECUTE sp_detach_db @dbname = N'', + @skipchecks = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Basic Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Basic Template.sql new file mode 100644 index 00000000..0a963372 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Basic Template.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Basic Create Database Template +-- ============================================= +IF EXISTS (SELECT * + FROM master..sysdatabases + WHERE name = N'') + DROP DATABASE +GO + +CREATE DATABASE +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Multiple Filegroups.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Multiple Filegroups.sql new file mode 100644 index 00000000..6aec290d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Multiple Filegroups.sql @@ -0,0 +1,51 @@ +-- ============================================= +-- Create database on mulitple file groups +-- ============================================= +IF EXISTS (SELECT * + FROM master..sysdatabases + WHERE name = N'') + DROP DATABASE +GO + +CREATE DATABASE +ON PRIMARY + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%), + +FILEGROUP + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%), + +FILEGROUP + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%) + +LOG ON + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Specifying Collation.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Specifying Collation.sql new file mode 100644 index 00000000..9aeb0614 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database Specifying Collation.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Create database specifying collation +-- ============================================= +IF EXISTS (SELECT * + FROM master..sysdatabases + WHERE name = N'') + DROP DATABASE +GO + +CREATE DATABASE +COLLATE +GO + +-- ========================================================== +-- sample query to retrieve all types of collations available +-- ========================================================== +-- SELECT * +-- FROM ::fn_helpcollations() +-- GO + + + + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database for Attach.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database for Attach.sql new file mode 100644 index 00000000..079eea70 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database for Attach.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Create database for attach +-- ============================================= +IF EXISTS (SELECT * + FROM master..sysdatabases + WHERE name = N'') + DROP DATABASE +GO + +CREATE DATABASE +ON PRIMARY + (FILENAME = N'') +FOR ATTACH +GO + + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database on Multiple Files.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database on Multiple Files.sql new file mode 100644 index 00000000..29c07205 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Database/Create Database on Multiple Files.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Create database on multiple data and transaction log files +-- ============================================= +IF EXISTS (SELECT * + FROM master..sysdatabases + WHERE name = N'') + DROP DATABASE +GO + +CREATE DATABASE +ON PRIMARY + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 1MB, + MAXSIZE = 200MB, + FILEGROWTH = 10%) + +LOG ON + ( NAME = , + FILENAME = N'', + SIZE = 512KB, + MAXSIZE = 200MB, + FILEGROWTH = 10%), + + ( NAME = , + FILENAME = N'', + SIZE = 512KB, + MAXSIZE = 200MB, + FILEGROWTH = 10%) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Inline Function.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Inline Function.sql new file mode 100644 index 00000000..fdc6994d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Inline Function.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Create inline function (IF) +-- ============================================= +IF EXISTS (SELECT * + FROM sysobjects + WHERE name = N'') + DROP FUNCTION +GO + +CREATE FUNCTION + (<@param1, sysname, @p1> , + <@param2, sysname, @p2> ) +RETURNS TABLE +AS + RETURN SELECT @p1 AS c1, + @p2 AS c2 +GO + +-- ============================================= +-- Example to execute function +-- ============================================= +SELECT * +FROM . + (, + ) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Scalar Function.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Scalar Function.sql new file mode 100644 index 00000000..4bfa008c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Scalar Function.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Create scalar function (FN) +-- ============================================= +IF EXISTS (SELECT * + FROM sysobjects + WHERE name = N'') + DROP FUNCTION +GO + +CREATE FUNCTION + (<@param1, sysname, @p1> , + <@param2, sysname, @p2> ) +RETURNS +AS +BEGIN + +-- eg. +-- DECLARE @sum AS int +-- SELECT @sum = @p1 + @P2 +-- RETURN @sum +END +GO + +-- ============================================= +-- Example to execute function +-- ============================================= +SELECT . + (, + ) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Table Function.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Table Function.sql new file mode 100644 index 00000000..cdfea07f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Function/Create Table Function.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Create table function (TF) +-- ============================================= +IF EXISTS (SELECT * + FROM sysobjects + WHERE name = N'') + DROP FUNCTION +GO + +CREATE FUNCTION + (<@param1, sysname, @p1> , + <@param2, sysname, @p2> ) +RETURNS <@table_variable_name, sysname, @table_var> TABLE + ( , + ) +AS +BEGIN + INSERT <@table_variable_name, sysname, @table_var> + SELECT 1, 2 + RETURN +END +GO + +-- ============================================= +-- Example to execute function +-- ============================================= +SELECT * FROM . + (, + ) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Index/Create Index Basic.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Index/Create Index Basic.sql new file mode 100644 index 00000000..69e09d03 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Index/Create Index Basic.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Create index basic template +-- ============================================= +CREATE INDEX +ON .. + (, + ) +GO + + + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Index/Create Index Full Syntax.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Index/Create Index Full Syntax.sql new file mode 100644 index 00000000..2ba395d1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Index/Create Index Full Syntax.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Create index full syntax template +-- ============================================= +CREATE UNIQUE CLUSTERED INDEX +ON .. + ( DESC, + ) +WITH +PAD_INDEX, +FILLFACTOR = , +IGNORE_DUP_KEY, +DROP_EXISTING, +STATISTICS_NORECOMPUTE +ON +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure Basic Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure Basic Template.sql new file mode 100644 index 00000000..14df1917 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure Basic Template.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Create basic stored procedure template +-- ============================================= +IF EXISTS ( + SELECT * + FROM sysobjects + WHERE name = N'' + AND type = 'P' +) + DROP PROCEDURE +GO + +CREATE PROCEDURE + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> = +AS + SELECT @p1, @p2 +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +EXECUTE , +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure with CURSOR OUTPUT Parameter.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure with CURSOR OUTPUT Parameter.sql new file mode 100644 index 00000000..0bfa878b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure with CURSOR OUTPUT Parameter.sql @@ -0,0 +1,41 @@ +-- ======================================================= +-- Create stored procedure with CURSOR OUTPUT parameters +-- ======================================================= + +-- drop stored procedure if it already exists +IF EXISTS ( + SELECT * + FROM sysobjects + WHERE name = N'' + AND type = 'P' +) + DROP PROCEDURE +GO + +-- create the specified stored procedure +CREATE PROCEDURE + <@proc_cursor_name, , @sample_procedure_cursor> CURSOR VARYING OUTPUT +AS + SET <@proc_cursor_name, , @sample_procedure_cursor> = CURSOR FOR + + OPEN <@proc_cursor_name, , @sample_procedure_cursor> +GO + + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +DECLARE <@variable_cursor_name, , @test_cursor_variable> CURSOR + +EXEC <@proc_cursor_name, , @sample_procedure_cursor> = <@variable_cursor_name, , @test_cursor_variable> OUTPUT + +WHILE (@@FETCH_STATUS = 0) +BEGIN + FETCH NEXT FROM <@variable_cursor_name, , @test_cursor_variable> + PRINT 'put user defined code here' +END + +CLOSE <@variable_cursor_name, , @test_cursor_variable> + +DEALLOCATE <@variable_cursor_name, , @test_cursor_variable> +GO diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure with OUTPUT Parameter.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure with OUTPUT Parameter.sql new file mode 100644 index 00000000..15ce04da --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Procedure/Create Procedure with OUTPUT Parameter.sql @@ -0,0 +1,27 @@ +-- =============================================== +-- Create stored procedure with OUTPUT parameters +-- =============================================== +IF EXISTS ( + SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'P' +) + DROP PROCEDURE +GO + +CREATE PROCEDURE + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> OUTPUT +AS + SELECT @p2 = @p2 + @p1 +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +DECLARE <@variable_for_output_parameter, sysname, @p2_output> +EXECUTE , <@variable_for_output_parameter, sysname, @p2_output> OUTPUT +SELECT <@variable_for_output_parameter, sysname, @p2_output> +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Statistics/Create Statistics Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Statistics/Create Statistics Template.sql new file mode 100644 index 00000000..01fe01d3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Statistics/Create Statistics Template.sql @@ -0,0 +1,10 @@ +-- ============================================= +-- Create Statistics Template +-- ============================================= +CREATE STATISTICS +ON + () +WITH +SAMPLE PERCENT +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Basic Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Basic Template.sql new file mode 100644 index 00000000..6eab2095 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Basic Template.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create table basic template +-- ============================================= +IF EXISTS(SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'U') + DROP TABLE +GO + +CREATE TABLE ( + NULL, + NOT NULL) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Specifying Constraints.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Specifying Constraints.sql new file mode 100644 index 00000000..eff96e29 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Specifying Constraints.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Create table specify constraints +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'U') + DROP TABLE +GO + +CREATE TABLE ( + NOT NULL, + NOT NULL + CONSTRAINT CHECK(c2 > 0), +CONSTRAINT PRIMARY KEY (c1) ) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Specifying Filegroups.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Specifying Filegroups.sql new file mode 100644 index 00000000..2af4f312 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table Specifying Filegroups.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Create table specifying filegroups +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'U') + DROP TABLE +GO + +CREATE TABLE ( + NOT NULL, + ) +ON +TEXTIMAGE_ON +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with Computed Column.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with Computed Column.sql new file mode 100644 index 00000000..83f2ff7d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with Computed Column.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create table with Computed column +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'U') + DROP TABLE +GO + +CREATE TABLE ( + NOT NULL, + AS ) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with IDENTITY Column.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with IDENTITY Column.sql new file mode 100644 index 00000000..306beb30 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with IDENTITY Column.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create table with IDENTITY column +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'U') + DROP TABLE +GO + +create table ( + IDENTITY(, ), + NOT NULL) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with ROWGUIDCOL Column.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with ROWGUIDCOL Column.sql new file mode 100644 index 00000000..6e91299c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Table with ROWGUIDCOL Column.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Create table with ROWGUIDCOL column +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'U') + DROP TABLE +GO + +create table ( + uniqueidentifier ROWGUIDCOL + CONSTRAINT DEFAULT NEWID(), + NOT NULL) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Temp Table.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Temp Table.sql new file mode 100644 index 00000000..ead08430 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Table/Create Temp Table.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Create temp table +-- ============================================= +CREATE TABLE # ( + NULL, + NOT NULL) +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create INSTEAD OF Trigger Basic Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create INSTEAD OF Trigger Basic Template.sql new file mode 100644 index 00000000..304ed2a3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create INSTEAD OF Trigger Basic Template.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Create basic Instead Of Trigger +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'TR') + DROP TRIGGER +GO + +CREATE TRIGGER +ON +INSTEAD OF INSERT +AS +BEGIN + RAISERROR (50009, 16, 10) + EXEC sp_who +END +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Basic Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Basic Template.sql new file mode 100644 index 00000000..b9a69b75 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Basic Template.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Create trigger basic template(After trigger) +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'TR') + DROP TRIGGER +GO + +CREATE TRIGGER +ON +FOR DELETE, INSERT, UPDATE +AS +BEGIN + RAISERROR (50009, 16, 10) +END +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Contained IF COLUMNS_UPDATED.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Contained IF COLUMNS_UPDATED.sql new file mode 100644 index 00000000..4af93332 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Contained IF COLUMNS_UPDATED.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Create trigger contained If (COLUMNS_UPDATED()) +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'TR') + DROP TRIGGER +GO + +CREATE TRIGGER +ON +FOR INSERT, UPDATE +AS +--eg. check if all of column 2, 3, 4 are updated +IF (COLUMNS_UPDATED() & 14) = 14 +BEGIN + RAISERROR ('These columns can not be updated at the same time', 16, 1) + ROLLBACK TRANSACTION +END +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Contained IF UPDATE.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Contained IF UPDATE.sql new file mode 100644 index 00000000..174edcfc --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create Trigger/Create Trigger Contained IF UPDATE.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Create trigger contained If UPDATE(column) +-- ============================================= +IF EXISTS (SELECT name + FROM sysobjects + WHERE name = N'' + AND type = 'TR') + DROP TRIGGER +GO + +CREATE TRIGGER +ON +FOR INSERT, UPDATE +AS +If UPDATE() OR UPDATE() +BEGIN + RAISERROR ('These columns should never be updated', 16, 1) + ROLLBACK TRANSACTION +END +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View Basic Template.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View Basic Template.sql new file mode 100644 index 00000000..c0800b21 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View Basic Template.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Create view basic template +-- ============================================= +IF EXISTS (SELECT TABLE_NAME + FROM INFORMATION_SCHEMA.VIEWS + WHERE TABLE_NAME = N'') + DROP VIEW +GO + +CREATE VIEW +AS + +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View with CHECK OPTION.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View with CHECK OPTION.sql new file mode 100644 index 00000000..37eb37e2 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View with CHECK OPTION.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create view with CHECK OPTION +-- ============================================= +IF EXISTS (SELECT TABLE_NAME + FROM INFORMATION_SCHEMA.VIEWS + WHERE TABLE_NAME = N'') + DROP VIEW +GO + +CREATE VIEW +AS + +WITH CHECK OPTION +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View with SCHEMABINDING.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View with SCHEMABINDING.sql new file mode 100644 index 00000000..54c3bbcc --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Create View/Create View with SCHEMABINDING.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Create schemabinding view +-- ============================================= +IF EXISTS (SELECT TABLE_NAME + FROM INFORMATION_SCHEMA.VIEWS + WHERE TABLE_NAME = N'') + DROP VIEW +GO + +CREATE VIEW WITH SCHEMABINDING +AS + +--note: need to specify specific column names and owner of the table +--eg. SELECT column_1, column_2 FROM owner.table_or_view_name WHERE search_condition +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Add Extended Property.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Add Extended Property.sql new file mode 100644 index 00000000..ba6224e3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Add Extended Property.sql @@ -0,0 +1,9 @@ +-- ============================================= +-- Add extended property +-- ============================================= +EXEC sp_addextendedproperty N'', , + N'', N'', + N'', N'', + N'', N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Drop Extended Property.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Drop Extended Property.sql new file mode 100644 index 00000000..f624c11b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Drop Extended Property.sql @@ -0,0 +1,9 @@ +-- ============================================= +-- Drop extended property +-- ============================================= +EXEC sp_dropextendedproperty N'', + N'', N'', + N'', N'', + N'', N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/List Extended Property.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/List Extended Property.sql new file mode 100644 index 00000000..e635decc --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/List Extended Property.sql @@ -0,0 +1,10 @@ +-- ============================================= +-- List extended property +-- ============================================= +SELECT * FROM ::fn_listextendedproperty( + N'', + N'', N'', + N'', N'', + N'', N'') +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Update Extended Property.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Update Extended Property.sql new file mode 100644 index 00000000..50227c43 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Extended Property/Update Extended Property.sql @@ -0,0 +1,9 @@ +-- ============================================= +-- Update extended property +-- ============================================= +EXEC sp_updateextendedproperty N'', , + N'', N'', + N'', N'', + N'', N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add Linked Server Login.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add Linked Server Login.sql new file mode 100644 index 00000000..9435c15e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add Linked Server Login.sql @@ -0,0 +1,10 @@ +-- ============================================= +-- Add linked server login +-- ============================================= +sp_addlinkedsrvlogin @rmtsrvname = N'', + @useself = '', + @locallogin = , + @rmtuser = , + @rmtpassword = +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add Sql Server as Linked Server.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add Sql Server as Linked Server.sql new file mode 100644 index 00000000..74d8210a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add Sql Server as Linked Server.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Add another Sql Server as linked server +-- ============================================= +sp_addlinkedserver N'', N'SQL Server' +GO + +-- ============================================= +-- List linked server +-- ============================================= +sp_linkedservers +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add non-Sql Server as Linked Server.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add non-Sql Server as Linked Server.sql new file mode 100644 index 00000000..5e93cd37 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Add non-Sql Server as Linked Server.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Add another non-Sql Server as linked server +-- ============================================= +sp_addlinkedserver @server = N'', + @srvproduct = N'', + @provider = N'', + @datasrc = N'', + @location = , + @provstr = , + @catalog = +GO + +-- ============================================= +-- List linked server +-- ============================================= +sp_linkedservers +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Configure Linked Server.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Configure Linked Server.sql new file mode 100644 index 00000000..0528f363 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Configure Linked Server.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Configure linked server +-- ============================================= +sp_serveroption @server = N'', + @optname = '', + @optvalue = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Drop Linked Server Login.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Drop Linked Server Login.sql new file mode 100644 index 00000000..84c41a4e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Drop Linked Server Login.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Drop linked server login +-- ============================================= +sp_droplinkedsrvlogin @rmtsrvname = N'', + @locallogin = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Drop Linked Server.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Drop Linked Server.sql new file mode 100644 index 00000000..da4f1591 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Linked Server/Drop Linked Server.sql @@ -0,0 +1,13 @@ +-- ============================================= +-- Drop linked server +-- ============================================= +sp_dropserver @server = N'', + @droplogins = +GO + +-- ============================================= +-- List linked server +-- ============================================= +sp_linkedservers +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add Login to Server Role.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add Login to Server Role.sql new file mode 100644 index 00000000..d7a13805 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add Login to Server Role.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Add login to server roles +-- ============================================= +sp_addsrvrolemember @loginame = N'', + @rolename = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add Sql Server Login.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add Sql Server Login.sql new file mode 100644 index 00000000..0b2a61f1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add Sql Server Login.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Add Sql Server login +-- ============================================= +sp_addlogin @loginame = N'', + @passwd = '', + @defdb = N'', + @deflanguage = N'', + @sid = , + @encryptopt = +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add User to Database Role.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add User to Database Role.sql new file mode 100644 index 00000000..4d0fe96b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Add User to Database Role.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Add user to database role +-- ============================================= +sp_addrolemember @rolename = N'', + @membername = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Deny SQL Server Access.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Deny SQL Server Access.sql new file mode 100644 index 00000000..3b9864c0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Deny SQL Server Access.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Deny Sql Server access to Windows user or group +-- ============================================= +sp_denylogin @loginame = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop Login from Server Role.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop Login from Server Role.sql new file mode 100644 index 00000000..f1af72ca --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop Login from Server Role.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Drop login from server role +-- ============================================= +sp_dropsrvrolemember @loginame = N'', + @rolename = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop Sql Server Login.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop Sql Server Login.sql new file mode 100644 index 00000000..a1986250 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop Sql Server Login.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Drop Sql Server login +-- ============================================= +sp_droplogin @loginame = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop User from Database Role.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop User from Database Role.sql new file mode 100644 index 00000000..e77a306e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Drop User from Database Role.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Drop user from database role +-- ============================================= +sp_droprolemember @rolename = N'', + @membername = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Grant Database Access.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Grant Database Access.sql new file mode 100644 index 00000000..292a1449 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Grant Database Access.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Grant dbaccess to login (Windows or Sql Server login) +-- ============================================= +sp_grantdbaccess @loginame = N'', + @name_in_db = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Grant SQL Server Access.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Grant SQL Server Access.sql new file mode 100644 index 00000000..dea8abec --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Grant SQL Server Access.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Grant Sql Server access to Windows user or group +-- ============================================= +sp_grantlogin @loginame = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Revoke Database Access.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Revoke Database Access.sql new file mode 100644 index 00000000..78b2bd7b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Revoke Database Access.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Revoke dbaccess from User (User name in current Database, Windows User, or Sql Server login) +-- ============================================= +sp_revokedbaccess @name_in_db = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Revoke SQL Server Access.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Revoke SQL Server Access.sql new file mode 100644 index 00000000..f32f9343 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Manage Logins, Roles, and Users/Revoke SQL Server Access.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Revoke Sql Server access to Windows user or group +-- ============================================= +sp_revokelogin @loginame = N'' +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use KEYSET Cursor.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use KEYSET Cursor.sql new file mode 100644 index 00000000..c7130b8a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use KEYSET Cursor.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Declare and using a KEYSET cursor +-- ============================================= +DECLARE CURSOR +KEYSET +FOR + +DECLARE @name varchar(40) + +OPEN + +FETCH NEXT FROM INTO @name +WHILE (@@fetch_status <> -1) +BEGIN + IF (@@fetch_status <> -2) + BEGIN +-- PRINT 'add user defined code here' +-- eg. + PRINT 'updating record for ' + @name + UPDATE pubs.dbo.authors + SET phone = replace(phone, ' ', '-') + WHERE CURRENT OF + END + FETCH NEXT FROM INTO @name +END + +CLOSE +DEALLOCATE +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use READ_ONLY Cursor.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use READ_ONLY Cursor.sql new file mode 100644 index 00000000..eeb3e8dd --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use READ_ONLY Cursor.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Declare and using a READ_ONLY cursor +-- ============================================= +DECLARE CURSOR +READ_ONLY +FOR + +DECLARE @name varchar(40) +OPEN + +FETCH NEXT FROM INTO @name +WHILE (@@fetch_status <> -1) +BEGIN + IF (@@fetch_status <> -2) + BEGIN +-- PRINT 'add user defined code here' +-- eg. + DECLARE @message varchar(100) + SELECT @message = 'my name is: ' + @name + PRINT @message + END + FETCH NEXT FROM INTO @name +END + +CLOSE +DEALLOCATE +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use UPDATE Cursor.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use UPDATE Cursor.sql new file mode 100644 index 00000000..8dd3ac4a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/Declare and Use UPDATE Cursor.sql @@ -0,0 +1,35 @@ +-- ============================================= +-- Declare and using an UPDATE cursor +-- ============================================= +DECLARE <@variable_1, sysname, @v1> , + <@variable_2, sysname, @v2> + +DECLARE CURSOR +FOR SELECT , FROM +FOR UPDATE of + +DECLARE @count smallint +SELECT @count = 1 + +OPEN +FETCH NEXT FROM INTO <@variable_1, sysname, @v1>, <@variable_2, sysname, @v2> + +WHILE (@@fetch_status <> -1) +BEGIN + IF (@@fetch_status <> -2) + BEGIN +-- PRINT 'add user-defined code here...' +-- eg + PRINT 'updating record of ' + @v1 + ' ' + @v2 + UPDATE pubs.dbo.authors + SET au_fname = @v1 + '-' + CAST(@count AS varchar(4)) + WHERE au_lname = @v2 + END + FETCH NEXT FROM INTO <@variable_1, sysname, @v1>, <@variable_2, sysname, @v2> + SELECT @count = @count + 1 +END + +CLOSE +DEALLOCATE +GO + diff --git a/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/SCROLL Cursor with Various FETCH Options.sql b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/SCROLL Cursor with Various FETCH Options.sql new file mode 100644 index 00000000..d5cc2a4e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Earlier Versions/Using Cursor/SCROLL Cursor with Various FETCH Options.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Declare a SCROLL cursor and use various FETCH options +-- ============================================= +DECLARE SCROLL CURSOR FOR + + +OPEN + +-- Fetch the first row in the cursor. +FETCH FIRST FROM + +-- Fetch the last row in the cursor. +FETCH LAST FROM + +-- Fetch the row immediately prior to the current row in the cursor. +FETCH PRIOR FROM + +-- Fetch the row immediately after the current row in the cursor. +FETCH NEXT FROM + +-- Fetch the nth row in the cursor. +FETCH ABSOLUTE FROM + +-- Fetch the row that is n rows before or after the current row. +FETCH RELATIVE <-/+ row_number, int, -2> FROM + +CLOSE +DEALLOCATE +GO + diff --git a/samples/features/ssms-templates/Sql/Endpoint/Create Endpoint.sql b/samples/features/ssms-templates/Sql/Endpoint/Create Endpoint.sql new file mode 100644 index 00000000..990e19d3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Endpoint/Create Endpoint.sql @@ -0,0 +1,49 @@ +-- =========================== +-- Create Endpoint Template +-- =========================== +USE +GO + +---------------------------------------------------------------------------- +-- First create a stored procedure that will be exposed as a web service +---------------------------------------------------------------------------- +IF EXISTS ( + SELECT * + FROM INFORMATION_SCHEMA.ROUTINES + WHERE SPECIFIC_SCHEMA = N'' + AND SPECIFIC_NAME = N'' +) + DROP PROCEDURE . +GO + +CREATE PROCEDURE . + (@msg NVARCHAR(256)) +AS + SELECT @msg AS message +GO + + +---------------------------------------------------------------------------- +-- Then, create the HTTP endpoint to expose hello_world_proc as a webmethod +---------------------------------------------------------------------------- +IF EXISTS ( + SELECT name from sys.http_endpoints + WHERE name = N'' +) + DROP ENDPOINT +GO + +CREATE ENDPOINT + STATE = STARTED + AS HTTP ( + path='/sql/hello_world', + AUTHENTICATION=(INTEGRATED), + PORTS = (CLEAR) + ) + FOR SOAP( + WEBMETHOD 'http://tempuri.org/' . '' (NAME = '..' ), + WSDL = DEFAULT, + BATCHES=ENABLED + ) +GO + diff --git a/samples/features/ssms-templates/Sql/Event Notification/CREATE DATABASE EVENT NOTIFICATION.sql b/samples/features/ssms-templates/Sql/Event Notification/CREATE DATABASE EVENT NOTIFICATION.sql new file mode 100644 index 00000000..b5ff93e8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Event Notification/CREATE DATABASE EVENT NOTIFICATION.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create Database Event Notification Template +-- ============================================= +IF EXISTS (SELECT * + FROM sys.event_notifications + WHERE name = N'') +DROP EVENT NOTIFICATION +ON DATABASE +GO +CREATE EVENT NOTIFICATION +ON DATABASE +WITH FAN_IN +FOR +TO SERVICE 'broker_service', +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Event Notification/CREATE SERVER EVENT NOTIFICATION.sql b/samples/features/ssms-templates/Sql/Event Notification/CREATE SERVER EVENT NOTIFICATION.sql new file mode 100644 index 00000000..eb569fc3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Event Notification/CREATE SERVER EVENT NOTIFICATION.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create Server Event Notification Template +-- ============================================= +IF EXISTS (SELECT * + FROM sys.server_event_notifications + WHERE name = N'') +DROP EVENT NOTIFICATION +ON SERVER +GO +CREATE EVENT NOTIFICATION +ON SERVER +WITH FAN_IN +FOR +TO +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Event Notification/DROP DATABASE EVENT NOTIFICATION.sql b/samples/features/ssms-templates/Sql/Event Notification/DROP DATABASE EVENT NOTIFICATION.sql new file mode 100644 index 00000000..86d554a2 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Event Notification/DROP DATABASE EVENT NOTIFICATION.sql @@ -0,0 +1,9 @@ +-- ============================================= +-- Drop Database Event Notification Template +-- ============================================= +IF EXISTS (SELECT * + FROM sys.event_notifications + WHERE name = N'') +DROP EVENT NOTIFICATION +ON DATABASE +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Event Notification/DROP SERVER EVENT NOTIFICATION.sql b/samples/features/ssms-templates/Sql/Event Notification/DROP SERVER EVENT NOTIFICATION.sql new file mode 100644 index 00000000..fd111dbf --- /dev/null +++ b/samples/features/ssms-templates/Sql/Event Notification/DROP SERVER EVENT NOTIFICATION.sql @@ -0,0 +1,9 @@ +-- ============================================= +-- Drop Server Event Notification Template +-- ============================================= +IF EXISTS (SELECT * + FROM sys.server_event_notifications + WHERE name = N'') +DROP EVENT NOTIFICATION +ON SERVER +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Extended Property/Add Extended Properties to Table.sql b/samples/features/ssms-templates/Sql/Extended Property/Add Extended Properties to Table.sql new file mode 100644 index 00000000..a05b1ca2 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Extended Property/Add Extended Properties to Table.sql @@ -0,0 +1,36 @@ +-- ========================================= +-- Add Extended Properties to Table template +-- ========================================= +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + CONSTRAINT PRIMARY KEY () +) +-- Add description to table object +EXEC sys.sp_addextendedproperty + @name=N'MS_Description', + @value=N'' , + @level0type=N'SCHEMA', + @level0name=N'', + @level1type=N'TABLE', + @level1name=N'' +GO + +-- Add description to a specific column +EXEC sys.sp_addextendedproperty + @name=N'MS_Description', + @value=N'' , + @level0type=N'SCHEMA', + @level0name=N'', + @level1type=N'TABLE', + @level1name=N'', + @level2type=N'COLUMN', + @level2name=N'' +GO diff --git a/samples/features/ssms-templates/Sql/Extended Property/Extended Properties on Database.sql b/samples/features/ssms-templates/Sql/Extended Property/Extended Properties on Database.sql new file mode 100644 index 00000000..96aeb4c7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Extended Property/Extended Properties on Database.sql @@ -0,0 +1,26 @@ +-- =========================================== +-- Extended Properties on Database template +-- =========================================== +USE +GO + +-- Add an extended property to a database +EXEC sp_addextendedproperty + @name=N'', + @value=N'' +GO + +-- Modify an existing extended property on a database +EXEC sp_updateextendedproperty + @name=N'MS_Description', + @value=N'' +GO + +-- List the extended properties for the database object +SELECT name, value +FROM fn_listextendedproperty(default, default, default, default, default, default, default); +GO + +-- Drop the new extended property () +EXEC sp_dropextendedproperty @name=N'' +GO diff --git a/samples/features/ssms-templates/Sql/External Data Source/Alter External Data Source.sql b/samples/features/ssms-templates/Sql/External Data Source/Alter External Data Source.sql new file mode 100644 index 00000000..69d78e03 --- /dev/null +++ b/samples/features/ssms-templates/Sql/External Data Source/Alter External Data Source.sql @@ -0,0 +1,11 @@ +-- ========================================= +-- Alter external data source template +-- ========================================= +USE +GO + +ALTER EXTERNAL DATA SOURCE SET + LOCATION = N'', + RESOURCE_MANAGER_LOCATION = N'', + CREDENTIAL = +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/External Data Source/Create External Data Source.sql b/samples/features/ssms-templates/Sql/External Data Source/Create External Data Source.sql new file mode 100644 index 00000000..55c58e8f --- /dev/null +++ b/samples/features/ssms-templates/Sql/External Data Source/Create External Data Source.sql @@ -0,0 +1,22 @@ +-- ========================================= +-- Create external data source template +-- ========================================= +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.external_data_sources + WHERE name = N'' +) +DROP EXTERNAL DATA SOURCE +GO + +CREATE EXTERNAL DATA SOURCE WITH +( + TYPE = , + LOCATION = N'', + RESOURCE_MANAGER_LOCATION = N'', + CREDENTIAL = +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/External Data Source/Drop External Data Source.sql b/samples/features/ssms-templates/Sql/External Data Source/Drop External Data Source.sql new file mode 100644 index 00000000..0b767cae --- /dev/null +++ b/samples/features/ssms-templates/Sql/External Data Source/Drop External Data Source.sql @@ -0,0 +1,13 @@ +-- ========================================= +-- Drop external data source template +-- ========================================= +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.external_data_sources + WHERE name = N'' +) +DROP EXTERNAL DATA SOURCE +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/External File Format/Create External File Format.sql b/samples/features/ssms-templates/Sql/External File Format/Create External File Format.sql new file mode 100644 index 00000000..584510c2 --- /dev/null +++ b/samples/features/ssms-templates/Sql/External File Format/Create External File Format.sql @@ -0,0 +1,28 @@ +-- ========================================= +-- Create external file format template +-- ========================================= +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.external_file_formats + WHERE name = N'' +) +DROP EXTERNAL FILE FORMAT +GO + +CREATE EXTERNAL FILE FORMAT WITH +( + FORMAT_TYPE = , + SERDE_METHOD = N'', + FORMAT_OPTIONS + ( + FIELD_TERMINATOR = N'', + STRING_DELIMITER = N'', + DATE_FORMAT = N'', + USE_TYPE_DEFAULT = , + ), + DATA_COMPRESSION = N'' +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/External File Format/Drop External File Format.sql b/samples/features/ssms-templates/Sql/External File Format/Drop External File Format.sql new file mode 100644 index 00000000..aa963e28 --- /dev/null +++ b/samples/features/ssms-templates/Sql/External File Format/Drop External File Format.sql @@ -0,0 +1,13 @@ +-- ========================================= +-- Drop external file format template +-- ========================================= +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.external_file_formats + WHERE name = N'' +) +DROP EXTERNAL FILE FORMAT +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Full-text/Create Full-text Catalog.sql b/samples/features/ssms-templates/Sql/Full-text/Create Full-text Catalog.sql new file mode 100644 index 00000000..5f2e5cba --- /dev/null +++ b/samples/features/ssms-templates/Sql/Full-text/Create Full-text Catalog.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Create Full-text catalog template +-- ============================================= +IF EXISTS ( + SELECT * + FROM sys.fulltext_catalogs + WHERE name = N'' +) + DROP FULLTEXT CATALOG +GO + +CREATE FULLTEXT CATALOG +GO + diff --git a/samples/features/ssms-templates/Sql/Full-text/Create Full-text Index.sql b/samples/features/ssms-templates/Sql/Full-text/Create Full-text Index.sql new file mode 100644 index 00000000..39f6f21e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Full-text/Create Full-text Index.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Basic Create Full-text Index Template +-- +-- This template assumes there is already a +-- full-text catalog in your database +-- ============================================= +IF EXISTS( + SELECT * + FROM sys.fulltext_indexes + JOIN sys.tables + ON sys.tables.object_id = sys.fulltext_indexes.object_id + WHERE sys.tables.name = '' +) + DROP FULLTEXT INDEX ON +GO + +CREATE FULLTEXT INDEX ON () + KEY INDEX + ON + WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM) +GO diff --git a/samples/features/ssms-templates/Sql/Full-text/Create Full-text Stoplist.sql b/samples/features/ssms-templates/Sql/Full-text/Create Full-text Stoplist.sql new file mode 100644 index 00000000..b631e6a8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Full-text/Create Full-text Stoplist.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Create Full-text stoplist template +-- ============================================= +IF EXISTS ( + SELECT * + FROM sys.fulltext_stoplists + WHERE name = N'' +) + DROP FULLTEXT STOPLIST +GO + +CREATE FULLTEXT STOPLIST +GO + diff --git a/samples/features/ssms-templates/Sql/Full-text/Start Full Population.sql b/samples/features/ssms-templates/Sql/Full-text/Start Full Population.sql new file mode 100644 index 00000000..644c693a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Full-text/Start Full Population.sql @@ -0,0 +1,13 @@ +-- ============================================= +-- Full-text start population template +-- ============================================= +IF EXISTS( + SELECT * + FROM sys.fulltext_indexes + JOIN sys.tables + ON sys.tables.object_id = sys.fulltext_indexes.object_id + WHERE sys.tables.name = '' +) +ALTER FULLTEXT INDEX ON + START FULL POPULATION +GO diff --git a/samples/features/ssms-templates/Sql/Full-text/Stop Population.sql b/samples/features/ssms-templates/Sql/Full-text/Stop Population.sql new file mode 100644 index 00000000..3fc21a37 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Full-text/Stop Population.sql @@ -0,0 +1,13 @@ +-- ============================================= +-- Full-text stop population template +-- ============================================= +IF EXISTS( + SELECT * + FROM sys.fulltext_indexes + JOIN sys.tables + ON sys.tables.object_id = sys.fulltext_indexes.object_id + WHERE sys.tables.name = '' +) + ALTER FULLTEXT INDEX ON + STOP POPULATION +GO diff --git a/samples/features/ssms-templates/Sql/Function/CLR Function.sql b/samples/features/ssms-templates/Sql/Function/CLR Function.sql new file mode 100644 index 00000000..7413d9fd --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/CLR Function.sql @@ -0,0 +1,19 @@ +--============================================================= +-- Create CLR Function template +-- +-- This example creates an assembly named "utf8string" in the +-- local database. Then, it creates a CLR function named +-- "GetCurrentTimeMs" that references "GetCurrentTimeMs" +-- of classutf8.Utils in assembly utf8string. +--============================================================= +USE AdventureWorks +GO + +CREATE ASSEMBLY utf8string + FROM '\\MachineName\utf8string\bin\Debug\utf8string.dll' +GO + +CREATE FUNCTION GetCurrentTimeMs() +RETURNS bigint +AS EXTERNAL NAME utf8string.utf8string.GetCurrentTimeMs +GO diff --git a/samples/features/ssms-templates/Sql/Function/Create Inline Function (New Menu).sql b/samples/features/ssms-templates/Sql/Function/Create Inline Function (New Menu).sql new file mode 100644 index 00000000..e7493974 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/Create Inline Function (New Menu).sql @@ -0,0 +1,34 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Inline Function (New Menu).SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the function. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION +( + -- Add the parameters for the function here + <@param1, sysname, @p1> , + <@param2, sysname, @p2> +) +RETURNS TABLE +AS +RETURN +( + -- Add the SELECT statement with parameter references here + SELECT 0 +) +GO diff --git a/samples/features/ssms-templates/Sql/Function/Create Inline Table-valued Function.sql b/samples/features/ssms-templates/Sql/Function/Create Inline Table-valued Function.sql new file mode 100644 index 00000000..fc3efdfc --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/Create Inline Table-valued Function.sql @@ -0,0 +1,17 @@ +--================================================ +-- Create Inline Table-valued Function template +--================================================ +USE +GO + +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO + +CREATE FUNCTION .( ) +RETURNS TABLE +AS RETURN +( + +) +GO diff --git a/samples/features/ssms-templates/Sql/Function/Create Multi-statement Function (New Menu).sql b/samples/features/ssms-templates/Sql/Function/Create Multi-statement Function (New Menu).sql new file mode 100644 index 00000000..dd67ce60 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/Create Multi-statement Function (New Menu).sql @@ -0,0 +1,40 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Multi-Statement Function (New Menu).SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the function. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION +( + -- Add the parameters for the function here + <@param1, sysname, @p1> , + <@param2, sysname, @p2> +) +RETURNS +<@Table_Variable_Name, sysname, @Table_Var> TABLE +( + -- Add the column definitions for the TABLE variable here + , + +) +AS +BEGIN + -- Fill the table variable with the rows for your result set + + RETURN +END +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Function/Create Multi-statement Table-valued Function.sql b/samples/features/ssms-templates/Sql/Function/Create Multi-statement Table-valued Function.sql new file mode 100644 index 00000000..4082e8c1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/Create Multi-statement Table-valued Function.sql @@ -0,0 +1,54 @@ +--================================================ +-- Create Multi-statement Table-valued Function +--================================================ +USE +GO + +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO + +CREATE FUNCTION .( ) +RETURNS TABLE +( + -- columns returned by the function + NOT NULL, + NOT NULL, + NOT NULL, + NOT NULL +) +AS +-- body of the function +BEGIN + WITH DirectReports(Name, Title, EmployeeID, EmployeeLevel, Sort) AS + (SELECT CONVERT(varchar(255), c.FirstName + ' ' + c.LastName), + e.Title, + e.EmployeeID, + 1, + CONVERT(varchar(255), c.FirstName + ' ' + c.LastName) + FROM HumanResources.Employee AS e + JOIN Person.Contact AS c ON e.ContactID = c.ContactID + WHERE e.EmployeeID = @InEmpID + UNION ALL + SELECT CONVERT(varchar(255), REPLICATE ('| ' , EmployeeLevel) + + c.FirstName + ' ' + c.LastName), + e.Title, + e.EmployeeID, + EmployeeLevel + 1, + CONVERT (varchar(255), RTRIM(Sort) + '| ' + FirstName + ' ' + + LastName) + FROM HumanResources.Employee as e + JOIN Person.Contact AS c ON e.ContactID = c.ContactID + JOIN DirectReports AS d ON e.ManagerID = d.EmployeeID + ) + -- copy the required columns to the result of the function + + INSERT @retFindReports + SELECT EmployeeID, Name, Title, EmployeeLevel + FROM DirectReports + ORDER BY Sort + RETURN +END +GO + + diff --git a/samples/features/ssms-templates/Sql/Function/Create Natively Compiled Scalar Function.sql b/samples/features/ssms-templates/Sql/Function/Create Natively Compiled Scalar Function.sql new file mode 100644 index 00000000..db92e1b9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/Create Natively Compiled Scalar Function.sql @@ -0,0 +1,48 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Natively Compiled Scalar Function.SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the function. +-- ================================================ + +USE [] +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [] +( + -- Add the parameters for the function here + <@Param1, sysname, @p1> +) +RETURNS +WITH NATIVE_COMPILATION, SCHEMABINDING +AS +BEGIN ATOMIC WITH +( + TRANSACTION ISOLATION LEVEL = , LANGUAGE = +) + -- Declare the return variable here + DECLARE <@ResultVar, sysname, @Result> + + -- Add the T-SQL statements to compute the return value here + SELECT <@ResultVar, sysname, @Result> = <@Param1, sysname, @p1> + + -- Return the result of the function + RETURN <@ResultVar, sysname, @Result> + +END +GO + diff --git a/samples/features/ssms-templates/Sql/Function/Create Scalar Function (New Menu).sql b/samples/features/ssms-templates/Sql/Function/Create Scalar Function (New Menu).sql new file mode 100644 index 00000000..3261841c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/Create Scalar Function (New Menu).sql @@ -0,0 +1,40 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Scalar Function (New Menu).SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the function. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION +( + -- Add the parameters for the function here + <@Param1, sysname, @p1> +) +RETURNS +AS +BEGIN + -- Declare the return variable here + DECLARE <@ResultVar, sysname, @Result> + + -- Add the T-SQL statements to compute the return value here + SELECT <@ResultVar, sysname, @Result> = <@Param1, sysname, @p1> + + -- Return the result of the function + RETURN <@ResultVar, sysname, @Result> + +END +GO + diff --git a/samples/features/ssms-templates/Sql/Function/Drop Function.sql b/samples/features/ssms-templates/Sql/Function/Drop Function.sql new file mode 100644 index 00000000..60859c4e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/Drop Function.sql @@ -0,0 +1,9 @@ + --================================================ +-- Drop function template +--================================================ +USE +GO + +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO diff --git a/samples/features/ssms-templates/Sql/Function/create scalar-valued function.sql b/samples/features/ssms-templates/Sql/Function/create scalar-valued function.sql new file mode 100644 index 00000000..b89739d7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Function/create scalar-valued function.sql @@ -0,0 +1,20 @@ +--========================================= +-- Create scalar-valued function template +--========================================= + +USE +GO + +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO + +CREATE FUNCTION . ( ) +RETURNS +WITH EXECUTE AS CALLER +AS +-- place the body of the function here +BEGIN + +END +GO diff --git a/samples/features/ssms-templates/Sql/Index/Create Clustered Columnstore Index.sql b/samples/features/ssms-templates/Sql/Index/Create Clustered Columnstore Index.sql new file mode 100644 index 00000000..b54a9565 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create Clustered Columnstore Index.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Create Clustered Columnstore Index template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template creates a clustered columnstore index. +-- ============================================= +USE +GO + +CREATE CLUSTERED COLUMNSTORE INDEX +ON . +WITH (DATA_COMPRESSION = ) +GO diff --git a/samples/features/ssms-templates/Sql/Index/Create Index Basic.sql b/samples/features/ssms-templates/Sql/Index/Create Index Basic.sql new file mode 100644 index 00000000..92e4b057 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create Index Basic.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Create index basic template +-- ============================================= +USE +GO + +CREATE INDEX +ON . +( + +) +GO diff --git a/samples/features/ssms-templates/Sql/Index/Create Nonclustered Columnstore Index.sql b/samples/features/ssms-templates/Sql/Index/Create Nonclustered Columnstore Index.sql new file mode 100644 index 00000000..3d75c2c5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create Nonclustered Columnstore Index.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Create Nonclustered Columnstore Index template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template creates a nonclustered columnstore index. +-- ============================================= +USE +GO + +CREATE NONCLUSTERED COLUMNSTORE INDEX +ON . +( + +) +WITH (DATA_COMPRESSION = ) +GO diff --git a/samples/features/ssms-templates/Sql/Index/Create Primary XML Index.sql b/samples/features/ssms-templates/Sql/Index/Create Primary XML Index.sql new file mode 100644 index 00000000..283d60d8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create Primary XML Index.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Create Primary XML Index Template +-- ============================================= +-- Creates a primary XML index on an XML column. +-- It must be created before any secondary XML indexes +-- of type PATH, VALUE or PROPERTY can be created +-- on the XML column + +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.xml_indexes + WHERE name = '' AND + object_id = OBJECT_ID ('.') + ) +DROP INDEX + ON . +GO + +CREATE PRIMARY XML INDEX +ON . +( + +) +GO diff --git a/samples/features/ssms-templates/Sql/Index/Create Unique Nonclustered Index.sql b/samples/features/ssms-templates/Sql/Index/Create Unique Nonclustered Index.sql new file mode 100644 index 00000000..99f0814e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create Unique Nonclustered Index.sql @@ -0,0 +1,29 @@ +-- =================================== +-- Create Unique Nonclustered Index +-- =================================== +USE +GO + +CREATE UNIQUE NONCLUSTERED INDEX +ON . +( + ASC +) +WITH +( + SORT_IN_TEMPDB = OFF, + DROP_EXISTING = OFF +) +ON +GO + +EXEC sys.sp_addextendedproperty + @name=N'MS_Description', + @value=N'' , + @level0type=N'SCHEMA', + @level0name=N'', + @level1type=N'TABLE', + @level1name=N'', + @level2type=N'INDEX', + @level2name=N'' +GO diff --git a/samples/features/ssms-templates/Sql/Index/Create XML Index Type Path.sql b/samples/features/ssms-templates/Sql/Index/Create XML Index Type Path.sql new file mode 100644 index 00000000..1c467cb9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create XML Index Type Path.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Create XML Index Type PATH Template +-- ============================================= +-- Creates a secondary XML index of type PATH on +-- an XML column using a primary XML index on the +-- XML column + +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.xml_indexes + WHERE name = '' AND + object_id = OBJECT_ID ('.') + ) +DROP INDEX + ON . +GO + +CREATE XML INDEX +ON . +( + +) +USING XML INDEX +FOR PATH +GO diff --git a/samples/features/ssms-templates/Sql/Index/Create XML Index Type Property.sql b/samples/features/ssms-templates/Sql/Index/Create XML Index Type Property.sql new file mode 100644 index 00000000..92f03a15 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create XML Index Type Property.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Create XML Index Type PROPERTY Template +-- ============================================= +-- Creates a secondary XML index of type PROPERTY +-- on an XML column using a primary XML index on +-- the XML column + +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.xml_indexes + WHERE name = '' AND + object_id = OBJECT_ID ('.') + ) +DROP INDEX + ON . +GO + +CREATE XML INDEX +ON . +( + +) +USING XML INDEX +FOR PROPERTY +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Index/Create XML Index Type Value.sql b/samples/features/ssms-templates/Sql/Index/Create XML Index Type Value.sql new file mode 100644 index 00000000..f5a0ff42 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Index/Create XML Index Type Value.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Create XML Index Type VALUE Template +-- ============================================= +-- Creates a secondary XML index of type VALUE on +-- an XML column using a primary XML index on the +-- XML column + +USE +GO + +IF EXISTS ( + SELECT * + FROM sys.xml_indexes + WHERE name = '' AND + object_id = OBJECT_ID ('.') + ) +DROP INDEX + ON . +GO + +CREATE XML INDEX +ON . +( + +) +USING XML INDEX +FOR VALUE +GO diff --git a/samples/features/ssms-templates/Sql/Linked Server/Add Linked Server Access MDB.sql b/samples/features/ssms-templates/Sql/Linked Server/Add Linked Server Access MDB.sql new file mode 100644 index 00000000..25ab663d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Linked Server/Add Linked Server Access MDB.sql @@ -0,0 +1,26 @@ +-- ======================================== +-- Add Linked Server Access MDB template +-- ======================================== + +EXEC sp_addlinkedserver + @server = N'', + @provider = N'Microsoft.Jet.OLEDB.4.0', + @srvproduct = N'OLE DB Provider for Jet', + @datasrc = N'' +GO + +-- Set up login mapping using current user's security context +EXEC sp_addlinkedsrvlogin + @rmtsrvname = N'', + @useself = N'TRUE', + @locallogin = NULL, + @rmtuser = N'', + @rmtpassword = +GO + +-- List the tables on the linked server +EXEC sp_tables_ex N'' +GO + +-- Select all the rows from the Customer table +SELECT * FROM ...Customers diff --git a/samples/features/ssms-templates/Sql/Linked Server/Add Linked Server Simple.sql b/samples/features/ssms-templates/Sql/Linked Server/Add Linked Server Simple.sql new file mode 100644 index 00000000..c23e50cc --- /dev/null +++ b/samples/features/ssms-templates/Sql/Linked Server/Add Linked Server Simple.sql @@ -0,0 +1,15 @@ +-- ===================================== +-- Add Linked Server Simplet template +-- ===================================== + +-- Create linked server reference to Database Engine instance on same machine +EXEC master.dbo.sp_addlinkedserver @server = N'', @srvproduct=N'SQL Server' +GO + +-- Use current login's security context for the link +EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'', @locallogin = NULL , @useself = N'True' +GO + +-- Run a test query +SELECT * FROM []... +GO diff --git a/samples/features/ssms-templates/Sql/Linked Server/Drop Linked Server.sql b/samples/features/ssms-templates/Sql/Linked Server/Drop Linked Server.sql new file mode 100644 index 00000000..e8e0feb0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Linked Server/Drop Linked Server.sql @@ -0,0 +1,8 @@ +-- ============================== +-- Drop Linked Server template +-- ============================== + +-- Drops a linked server reference to a Database Engine instance +-- Related logins will also be dropped in this example +EXEC master.dbo.sp_dropserver @server=N'', @droplogins='droplogins' +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Login/Create Login For SysAdmin User.sql b/samples/features/ssms-templates/Sql/Login/Create Login For SysAdmin User.sql new file mode 100644 index 00000000..e9210582 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Login/Create Login For SysAdmin User.sql @@ -0,0 +1,11 @@ +-- ========================================== +-- Create Login For SysAdmin User template +-- ========================================== + +CREATE LOGIN [\] FROM WINDOWS WITH DEFAULT_DATABASE= +GO +ALTER SERVER ROLE [sysadmin] +ADD MEMBER [\] +GO + + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Login/Create SQL Login Must Change Password.sql b/samples/features/ssms-templates/Sql/Login/Create SQL Login Must Change Password.sql new file mode 100644 index 00000000..2fc76725 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Login/Create SQL Login Must Change Password.sql @@ -0,0 +1,9 @@ +-- ================================================= +-- Create SQL Login Must Change Password template +-- ================================================= + +CREATE LOGIN + WITH PASSWORD = N'' + MUST_CHANGE, + CHECK_POLICY = ; +GO diff --git a/samples/features/ssms-templates/Sql/Login/Drop Login.sql b/samples/features/ssms-templates/Sql/Login/Drop Login.sql new file mode 100644 index 00000000..0cb69e99 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Login/Drop Login.sql @@ -0,0 +1,6 @@ +-- ====================== +-- Drop Login template +-- ====================== + +DROP LOGIN +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Partition Function/Alter Partition Function Merge.sql b/samples/features/ssms-templates/Sql/Partition Function/Alter Partition Function Merge.sql new file mode 100644 index 00000000..4fba5be8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Function/Alter Partition Function Merge.sql @@ -0,0 +1,19 @@ +-- ========================================== +-- Alter Partition Function Merge template +-- ========================================== +USE +GO + +-- Create the partition function with an original defined range +CREATE PARTITION FUNCTION ( ) +AS RANGE LEFT FOR VALUES (, , ); +GO + +-- Merge the partitions between boundary_values and +-- and between boundary_values and to create one partition +-- between boundary_values and . +ALTER PARTITION FUNCTION () +MERGE RANGE (); +GO + + diff --git a/samples/features/ssms-templates/Sql/Partition Function/Alter Partition Function Split.sql b/samples/features/ssms-templates/Sql/Partition Function/Alter Partition Function Split.sql new file mode 100644 index 00000000..1b2153d2 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Function/Alter Partition Function Split.sql @@ -0,0 +1,19 @@ +-- ========================================== +-- Alter Partition Function Split template +-- ========================================== +USE +GO + +-- Create the partition function with an original defined range +CREATE PARTITION FUNCTION ( ) +AS RANGE LEFT FOR VALUES (, , ); +GO + +--Split the partition between boundary_values and +--to create two partitions between boundary_values and +--and between boundary_values and . +ALTER PARTITION FUNCTION () +SPLIT RANGE (); +GO + + diff --git a/samples/features/ssms-templates/Sql/Partition Function/Create Partition Function.sql b/samples/features/ssms-templates/Sql/Partition Function/Create Partition Function.sql new file mode 100644 index 00000000..aaad1d4a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Function/Create Partition Function.sql @@ -0,0 +1,14 @@ +-- ===================================== +-- Create Partition Function template +-- ===================================== +USE +GO + +CREATE PARTITION FUNCTION ( ) +AS RANGE LEFT FOR VALUES (, , ); + +-- Partition function on a partitioning column col1 would be partitioned as follows: +-- Partition 1: col1 less than or equal to +-- Partition 2: col1 greater than AND col1 less than or equal to +-- Partition 3: col1 greater than AND col1 less than or equal to +-- Partition 4: col1 greater than diff --git a/samples/features/ssms-templates/Sql/Partition Function/Create Partitioned Table.sql b/samples/features/ssms-templates/Sql/Partition Function/Create Partitioned Table.sql new file mode 100644 index 00000000..93abef1e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Function/Create Partitioned Table.sql @@ -0,0 +1,53 @@ +--==================================================== +-- Create partitioned table template +-- +-- This template assumes AdventureWorks database +-- has three filegroups named, +-- PRIMARY +-- TransactionHistoryGroup +-- WorkOrderGroup +--==================================================== +USE AdventureWorks +GO + +-- Drop existing objects in reverse order, if necessary +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +IF EXISTS( + SELECT * + FROM sys.partition_schemes + WHERE name = N'' +) + DROP PARTITION SCHEME +GO + +IF EXISTS( + SELECT * + FROM sys.partition_functions + WHERE name = N'' +) + DROP PARTITION FUNCTION +GO + +-- Create partition function +CREATE PARTITION FUNCTION () +AS + RANGE LEFT FOR VALUES (1, 1000) +GO + +-- Create partition scheme +CREATE PARTITION SCHEME +AS + PARTITION TO ([PRIMARY], TransactionHistoryGroup, WorkOrderGroup) +GO + +-- Create table on partition scheme +CREATE TABLE . +( + col1 int, + col2 char(10) +) + ON (col1) +GO diff --git a/samples/features/ssms-templates/Sql/Partition Function/Drop Partition Function.sql b/samples/features/ssms-templates/Sql/Partition Function/Drop Partition Function.sql new file mode 100644 index 00000000..ce4b1ca6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Function/Drop Partition Function.sql @@ -0,0 +1,8 @@ +-- ========================== +-- Drop Partition Function +-- ========================== + +-- A partition function can be dropped only if there are no partition +-- schemes currently using the partition function. +DROP PARTITION FUNCTION ; +GO diff --git a/samples/features/ssms-templates/Sql/Partition Scheme/Alter Partition Scheme Mark Next Used.sql b/samples/features/ssms-templates/Sql/Partition Scheme/Alter Partition Scheme Mark Next Used.sql new file mode 100644 index 00000000..45430d7a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Scheme/Alter Partition Scheme Mark Next Used.sql @@ -0,0 +1,14 @@ +-- ================================================= +-- Alter Partition Schema Mark Next Used template +-- ================================================= +USE ; +GO + +-- Adds a filegroup to a partition scheme or alters the designation of the +-- NEXT USED filegroup for the partition scheme +ALTER PARTITION SCHEME +NEXT USED ; + +-- Filegroup filegroup_name, sysname, test5fg> will receive any additional partition of a +-- partitioned table or index as a result of +-- an ALTER PARTITION FUNCTION statement diff --git a/samples/features/ssms-templates/Sql/Partition Scheme/Create Partition Scheme.sql b/samples/features/ssms-templates/Sql/Partition Scheme/Create Partition Scheme.sql new file mode 100644 index 00000000..7cb5124a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Scheme/Create Partition Scheme.sql @@ -0,0 +1,18 @@ +-- =================================== +-- Create Partition Scheme template +-- =================================== +USE +GO + +-- Step 1. Create a partition function +CREATE PARTITION FUNCTION () +AS + RANGE LEFT FOR VALUES (, ) +GO + +-- Step 2. Create a partition scheme that references the function +CREATE PARTITION SCHEME +AS + PARTITION + TO (, , ) +GO diff --git a/samples/features/ssms-templates/Sql/Partition Scheme/Create Partitioned Nonclustered Index.sql b/samples/features/ssms-templates/Sql/Partition Scheme/Create Partitioned Nonclustered Index.sql new file mode 100644 index 00000000..6d613755 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Scheme/Create Partitioned Nonclustered Index.sql @@ -0,0 +1,59 @@ +-- =================================================== +-- Create Partitioned Non-Clustered Index template +-- =================================================== +-- This template assumes AdventureWorks database +-- has three filegroups named, +-- PRIMARY +-- TransactionHistoryGroup +-- WorkOrderGroup +-- =================================================== +USE AdventureWorks +GO + +-- Drop existing objects in reverse order, if necessary +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +IF EXISTS( + SELECT * + FROM sys.partition_schemes + WHERE name = N'' +) + DROP PARTITION SCHEME +GO + +IF EXISTS( + SELECT * + FROM sys.partition_functions + WHERE name = N'' +) + DROP PARTITION FUNCTION +GO + +-- Create partition function +CREATE PARTITION FUNCTION () +AS + RANGE LEFT FOR VALUES (1, 1000) +GO + +-- Create partition scheme +CREATE PARTITION SCHEME +AS + PARTITION TO ([PRIMARY], TransactionHistoryGroup, WorkOrderGroup) +GO + +-- Create table on partition scheme +CREATE TABLE . +( + , + col2 char(10) +) + ON () +GO + +-- Create the index on the partition column () +CREATE NONCLUSTERED INDEX + ON .() + ON (); +GO diff --git a/samples/features/ssms-templates/Sql/Partition Scheme/Drop Partition Scheme.sql b/samples/features/ssms-templates/Sql/Partition Scheme/Drop Partition Scheme.sql new file mode 100644 index 00000000..7864c07b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Partition Scheme/Drop Partition Scheme.sql @@ -0,0 +1,10 @@ +-- ================================= +-- Drop Partition Scheme template +-- ================================= +USE ; +GO + +DROP PARTITION SCHEME ; + +-- A partition scheme can be dropped only if there are no +-- tables or indexes currently using the partition scheme. diff --git a/samples/features/ssms-templates/Sql/Recursive Queries/Common Table Expression With Averages.sql b/samples/features/ssms-templates/Sql/Recursive Queries/Common Table Expression With Averages.sql new file mode 100644 index 00000000..92cb3105 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Recursive Queries/Common Table Expression With Averages.sql @@ -0,0 +1,21 @@ +-- ================================================= +-- Common Table Expression With Averages template +-- ================================================= +-- Using a common table expression to limit counts and report averages +-- The following example shows the average number of employees reporting +-- to managers with Adventure Works database. + +USE ; +GO + +WITH (, ) AS +( + SELECT , COUNT(*) AS + FROM . + GROUP BY +) +SELECT AVG() AS [Average Number of Direct Reports] +FROM +WHERE >= 2 ; +GO + diff --git a/samples/features/ssms-templates/Sql/Recursive Queries/Direct Reports Recursion Example.sql b/samples/features/ssms-templates/Sql/Recursive Queries/Direct Reports Recursion Example.sql new file mode 100644 index 00000000..45f05386 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Recursive Queries/Direct Reports Recursion Example.sql @@ -0,0 +1,41 @@ +-- =================================== +-- Direct Reports Recursion Example +-- =================================== +-- The following example shows the semantics of the recursive CTE structure by returning a +-- hierarchical list of employees, starting with the highest ranking employee, in the +-- Adventure Works Cycles company. The statement that executes the CTE limits the result +-- set to employees in the Research and Development Group. A walkthrough of the code execution +-- follows the example. + +USE ; +GO + +WITH (, , Title, DeptID, ) +AS +( +-- Anchor member definition + SELECT e., e., e.Title, edh.DepartmentID, + 0 AS + FROM . AS e + INNER JOIN .EmployeeDepartmentHistory AS edh + ON e. = edh. AND edh.EndDate IS NULL + WHERE IS NULL + UNION ALL +-- Recursive member definition + SELECT e., e., e.Title, edh.DepartmentID, + + 1 + FROM . AS e + INNER JOIN .EmployeeDepartmentHistory AS edh + ON e. = edh. AND edh.EndDate IS NULL + INNER JOIN DirectReports AS d + ON e. = d. +) +-- Statement that executes the common table expression +SELECT ManagerID, , Title, +FROM +INNER JOIN .Department AS dp + ON .DeptID = dp.DepartmentID +WHERE dp.GroupName = N'Research and Development' OR = 0; +GO + + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Recursive Queries/Product Assemblies Recursion Example.sql b/samples/features/ssms-templates/Sql/Recursive Queries/Product Assemblies Recursion Example.sql new file mode 100644 index 00000000..01efbe5b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Recursive Queries/Product Assemblies Recursion Example.sql @@ -0,0 +1,33 @@ +-- ================================================ +-- Product Assemblies Recursion Example template +-- ================================================ +-- Uses a common table expression to selectively step through a recursive +-- relationship in a SELECT statement. +-- The following example shows the hierarchy of product assemblies and +-- components that are required to build the bicycle for ProductAssemblyID = 800. + +USE ; +GO + +WITH (, , PerAssemblyQty, EndDate, ) AS +( + SELECT b.ProductAssemblyID, b.ComponentID, b.PerAssemblyQty, + b.EndDate, 0 AS + FROM Production.BillOfMaterials AS b + WHERE b.ProductAssemblyID = 800 + AND b.EndDate IS NULL + UNION ALL + SELECT bom.ProductAssemblyID, bom.ComponentID, p.PerAssemblyQty, + bom.EndDate, + 1 + FROM Production.BillOfMaterials AS bom + INNER JOIN AS p + ON bom.ProductAssemblyID = p. + AND bom.EndDate IS NULL +) +SELECT , , Name, PerAssemblyQty, EndDate, + +FROM AS p + INNER JOIN Production.Product AS pr + ON p. = pr.ProductID +ORDER BY , , ; +GO diff --git a/samples/features/ssms-templates/Sql/Resource Governor/Configure Resource Governor.sql b/samples/features/ssms-templates/Sql/Resource Governor/Configure Resource Governor.sql new file mode 100644 index 00000000..f88f0a0e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Resource Governor/Configure Resource Governor.sql @@ -0,0 +1,87 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Configure Resource Governor.sql +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This template creates "admin" workload group +-- which uses "admin" resource pool and creates +-- corresponding classifier function which puts +-- sysadmins in such group +-- ================================================ +-- Classifier functions for the Resource Governor must +-- reside within the master database. +USE [master] +GO +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +-- Create resource pool to be used +CREATE RESOURCE POOL +WITH ( + -- allocate at least % of the CPU bandwidth for admin queries + MIN_CPU_PERCENT = + -- do not let them exceed % either + , MAX_CPU_PERCENT = + -- admin queries should be small and we will allocate about % + -- of the server memory for them + , MIN_MEMORY_PERCENT = + , MAX_MEMORY_PERCENT = +) +GO + +-- TODO +-- Create additional resource pools here + +-- Create admin workload group +CREATE WORKLOAD GROUP +WITH ( + -- use all defaults + IMPORTANCE = + , REQUEST_MAX_MEMORY_GRANT_PERCENT = + , REQUEST_MEMORY_GRANT_TIMEOUT_SEC = + , REQUEST_MAX_CPU_TIME_SEC = + , MAX_DOP = + , GROUP_MAX_REQUESTS = +) +USING + +GO + +-- TODO +-- Create additional workload groups here + +CREATE FUNCTION () +RETURNS sysname +WITH SCHEMABINDING +AS +BEGIN + -- Define the return sysname variable for the function + DECLARE @grp_name AS sysname; + SET @grp_name = 'default'; + + -- Specify the T-SQL statements for mapping session information + -- with Workload Groups defined for the Resource Governor. + IF (IS_SRVROLEMEMBER ('sysadmin') = 1) + SET @grp_name = ''; + + -- TODO + -- Put additional classification logic here + RETURN @grp_name; +END +GO + +-- Set the classifier function for Resource Governor +ALTER RESOURCE GOVERNOR +WITH ( + CLASSIFIER_FUNCTION = +) +GO + +-- Make changes effective +ALTER RESOURCE GOVERNOR RECONFIGURE +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Restore/Restore Database.sql b/samples/features/ssms-templates/Sql/Restore/Restore Database.sql new file mode 100644 index 00000000..df82d4fb --- /dev/null +++ b/samples/features/ssms-templates/Sql/Restore/Restore Database.sql @@ -0,0 +1,14 @@ +-- ============================ +-- Restore Database Template +-- ============================ +USE master +GO + +RESTORE DATABASE + FROM DISK = N'.bak' +WITH + FILE = 1, + NOUNLOAD, + REPLACE, + STATS = 10 +GO diff --git a/samples/features/ssms-templates/Sql/Restore/Restore Files and Filegroups.sql b/samples/features/ssms-templates/Sql/Restore/Restore Files and Filegroups.sql new file mode 100644 index 00000000..5bb2209f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Restore/Restore Files and Filegroups.sql @@ -0,0 +1,79 @@ +-- ======================================= +-- Restore File and Filegroups template +-- ======================================= + +-- Create database using three file groups, including PRIMARY +CREATE DATABASE [] ON + PRIMARY ( + Name= N'_data', + FILENAME= N'_data.mdf'), + FILEGROUP [] ( + NAME=N' _', + FILENAME =N'_.ndf'), + FILEGROUP [] ( + NAME=N' _', + FILENAME =N'_.ndf') + LOG ON ( + NAME =N'_log', + FILENAME =N'_log.ldf'); +GO + +-- Backup database +BACKUP DATABASE [] + FILEGROUP=N'PRIMARY', + FILEGROUP=N'', + FILEGROUP=N'' + TO DISK = N'.bak' + +-- Backup log +BACKUP LOG [] + TO DISK = '.bak' + WITH + NO_TRUNCATE , + NORECOVERY, + NOFORMAT, + NOINIT, + NAME = ' backup', + SKIP, + NOREWIND, + NOUNLOAD, + STATS = 10 + +-- Restore filegroups - one at a time +RESTORE DATABASE [] + FILE = N'_data' + FROM DISK = N'.bak' + WITH + FILE = 1, + NORECOVERY, + NOUNLOAD, + STATS = 10 +GO + +RESTORE DATABASE [] + FILE = N' _' + FROM DISK = N'.bak' + WITH + FILE = 1, + NORECOVERY, + NOUNLOAD, + STATS = 10 +GO + +RESTORE DATABASE [] + FILE = N' _' + FROM DISK = N'.bak' + WITH + FILE = 1, + NORECOVERY, + NOUNLOAD, + STATS = 10 + +-- Restore log +RESTORE LOG [] + FROM DISK = N'.bak' + WITH + FILE = 2, + NOUNLOAD, + STATS = 10 +GO diff --git a/samples/features/ssms-templates/Sql/Rule/Create Bound Rule.sql b/samples/features/ssms-templates/Sql/Rule/Create Bound Rule.sql new file mode 100644 index 00000000..5035f436 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Rule/Create Bound Rule.sql @@ -0,0 +1,19 @@ +-- ============================= +-- Create Bound Rule template +-- ============================= +-- This feature is marked for deprecation + +USE +GO + +-- Define the rule for use in the database +CREATE RULE . +AS + @value >= 0 +GO + +-- Bind the rule to a specific column in a table +EXEC sp_bindrule + '.', + '..' +GO diff --git a/samples/features/ssms-templates/Sql/Rule/Unbind Rule.sql b/samples/features/ssms-templates/Sql/Rule/Unbind Rule.sql new file mode 100644 index 00000000..c3c771ad --- /dev/null +++ b/samples/features/ssms-templates/Sql/Rule/Unbind Rule.sql @@ -0,0 +1,13 @@ +-- ============================= +-- Unbind Rule template +-- ============================= +-- This feature is marked for deprecation + +USE +GO + +-- Assumes that designated column has a bound rule +-- Unbind the rule from the column +EXEC sp_unbindrule + '..' +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Database Trigger/Create Database Trigger.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Database Trigger/Create Database Trigger.sql new file mode 100644 index 00000000..709ca5b6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Database Trigger/Create Database Trigger.sql @@ -0,0 +1,24 @@ +-- =========================================================== +-- Create database ddl trigger template for Azure SQL Database +-- =========================================================== +-- Drop the database ddl trigger if it already exists +IF EXISTS( + SELECT * + FROM sys.triggers + WHERE name = N'' + AND parent_class_desc = N'DATABASE' +) + DROP TRIGGER ON DATABASE +GO + +CREATE TRIGGER ON DATABASE + FOR +AS +IF IS_MEMBER ('db_owner') = 0 +BEGIN + PRINT 'You must ask your DBA to drop or alter tables!' + ROLLBACK TRANSACTION +END +GO + + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Database Trigger/Drop Database Trigger.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Database Trigger/Drop Database Trigger.sql new file mode 100644 index 00000000..73838141 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Database Trigger/Drop Database Trigger.sql @@ -0,0 +1,11 @@ +-- ========================================================= +-- Drop database ddl trigger template for Azure SQL Database +-- ========================================================= +IF EXISTS( + SELECT * + FROM sys.triggers + WHERE name = N'' + AND parent_class_desc = N'DATABASE' +) + DROP TRIGGER ON DATABASE +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Database/Create Database.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Database/Create Database.sql new file mode 100644 index 00000000..08c11275 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Database/Create Database.sql @@ -0,0 +1,35 @@ +-- =================================================================================================================================== +-- Create database template for Azure SQL Database and Azure SQL Data Warehouse Database +-- +-- This script will only run in the context of the master database. To manage this database in +-- SQL Server Management Studio, either connect to the created database, or connect to master. +-- +-- SQL Database is a relational database-as-a-service that makes tier-1 capabilities easily accessible +-- for cloud architects and developers by delivering predictable performance, scalability, business +-- continuity, data protection and security, and near-zero administration — all backed by the power +-- and reach of Microsoft Azure. +-- +-- SQL Database is available in the following service tiers: Basic, Standard, Premium , DataWarehouse, Web (Retired) +-- and Business (Retired). +-- Standard is the go-to option for getting started with cloud-designed business applications and +-- offers mid-level performance and business continuity features. Performance objectives for Standard +-- deliver predictable per minute transaction rates. +-- +-- See http://go.microsoft.com/fwlink/p/?LinkId=306622 for more information about Azure SQL Database. +-- +-- See http://go.microsoft.com/fwlink/?LinkId=787140 for more information about Azure SQL Data Warehouse. +-- +-- See http://go.microsoft.com/fwlink/p/?LinkId=402063 for more information about CREATE DATABASE for Azure SQL Database. +-- +-- See http://go.microsoft.com/fwlink/?LinkId=787139 for more information about CREATE DATABASE for Azure SQL Data Warehouse Database. +-- =================================================================================================================================== + + +CREATE DATABASE COLLATE + ( + EDITION = '', + SERVICE_OBJECTIVE='', + MAXSIZE = + ) + +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Database/Drop Database.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Database/Drop Database.sql new file mode 100644 index 00000000..6b1c6790 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Database/Drop Database.sql @@ -0,0 +1,5 @@ +-- =================================================================================== +-- Drop database template for Azure SQL Database and Azure SQL Data Warehouse Database +-- =================================================================================== +DROP DATABASE +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Alter External Data Source DW.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Alter External Data Source DW.sql new file mode 100644 index 00000000..77a40355 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Alter External Data Source DW.sql @@ -0,0 +1,9 @@ +-- ========================================================================= +-- Alter external data source template for Azure SQL Data Warehouse Database +-- ========================================================================= + +ALTER EXTERNAL DATA SOURCE SET + LOCATION = N'', + RESOURCE_MANAGER_LOCATION = N'', + CREDENTIAL = +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Create External Data Source DW.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Create External Data Source DW.sql new file mode 100644 index 00000000..886d87b6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Create External Data Source DW.sql @@ -0,0 +1,20 @@ +-- ========================================================================== +-- Create external data source template for Azure SQL Data Warehouse Database +-- ========================================================================== + +IF EXISTS ( + SELECT * + FROM sys.external_data_sources + WHERE name = N'' +) +DROP EXTERNAL DATA SOURCE +GO + +CREATE EXTERNAL DATA SOURCE WITH +( + TYPE = , + LOCATION = N'', + RESOURCE_MANAGER_LOCATION = N'', + CREDENTIAL = +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Create External Data Source.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Create External Data Source.sql new file mode 100644 index 00000000..13b90e80 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Create External Data Source.sql @@ -0,0 +1,20 @@ +-- =========================================================== +-- Create external data source template for Azure SQL Database +-- =========================================================== +IF EXISTS ( + SELECT * + FROM sys.external_data_sources + WHERE name = N'' +) +DROP EXTERNAL DATA SOURCE +GO + +CREATE EXTERNAL DATA SOURCE WITH +( + TYPE = , + LOCATION = N'', + DATABASE_NAME = N'', + SHARD_MAP_NAME = N'', + CREDENTIAL = +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Drop External Data Source.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Drop External Data Source.sql new file mode 100644 index 00000000..69e66fd3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/External Data Source/Drop External Data Source.sql @@ -0,0 +1,11 @@ +-- =============================================================================================== +-- Drop external data source template for Azure SQL Database and Azure SQL Data Warehouse Database +-- =============================================================================================== + +IF EXISTS ( + SELECT * + FROM sys.external_data_sources + WHERE name = N'' +) +DROP EXTERNAL DATA SOURCE +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/External File Format/Create External File Format.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/External File Format/Create External File Format.sql new file mode 100644 index 00000000..6f0a5fdf --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/External File Format/Create External File Format.sql @@ -0,0 +1,27 @@ +-- ========================================================================== +-- Create external file format template for Azure SQL Data Warehouse Database +-- ========================================================================== + +IF EXISTS ( + SELECT * + FROM sys.external_file_formats + WHERE name = N'' +) +DROP EXTERNAL FILE FORMAT +GO + +CREATE EXTERNAL FILE FORMAT WITH +( + FORMAT_TYPE = , + SERDE_METHOD = N'', + FORMAT_OPTIONS + ( + FIELD_TERMINATOR = N'', + STRING_DELIMITER = N'', + DATE_FORMAT = N'', + USE_TYPE_DEFAULT = , + FIRST_ROW = -- Optional property + ), + DATA_COMPRESSION = N'' +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/External File Format/Drop External File Format.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/External File Format/Drop External File Format.sql new file mode 100644 index 00000000..e39fec07 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/External File Format/Drop External File Format.sql @@ -0,0 +1,11 @@ +-- ======================================================================== +-- Drop external file format template for Azure SQL Data Warehouse Database +-- ======================================================================== + +IF EXISTS ( + SELECT * + FROM sys.external_file_formats + WHERE name = N'' +) +DROP EXTERNAL FILE FORMAT +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Inline Function (New Menu).sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Inline Function (New Menu).sql new file mode 100644 index 00000000..ee90a137 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Inline Function (New Menu).sql @@ -0,0 +1,26 @@ +-- ========================================================= +-- Create Inline Function Template for Azure SQL Database +-- ========================================================= +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION +( + -- Add the parameters for the function here + <@param1, sysname, @p1> , + <@param2, sysname, @p2> +) +RETURNS TABLE +AS +RETURN +( + -- Add the SELECT statement with parameter references here + SELECT 0 AS +) +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Inline Table-valued Function.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Inline Table-valued Function.sql new file mode 100644 index 00000000..c53654cc --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Inline Table-valued Function.sql @@ -0,0 +1,14 @@ +--======================================================================== +-- Create Inline Table-valued Function template for Azure SQL Database +--======================================================================== +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO + +CREATE FUNCTION .( ) +RETURNS TABLE +AS RETURN +( + +) +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Multi-statement Function (New Menu).sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Multi-statement Function (New Menu).sql new file mode 100644 index 00000000..1d06c025 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Multi-statement Function (New Menu).sql @@ -0,0 +1,32 @@ +-- ================================================================== +-- Create Multi-Statement Function template for Azure SQL Database +-- ================================================================== +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION +( + -- Add the parameters for the function here + <@param1, sysname, @p1> , + <@param2, sysname, @p2> +) +RETURNS +<@Table_Variable_Name, sysname, @Table_Var> TABLE +( + -- Add the column definitions for the TABLE variable here + , + +) +AS +BEGIN + -- Fill the table variable with the rows for your result set + + RETURN +END +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Multi-statement Table-valued Function.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Multi-statement Table-valued Function.sql new file mode 100644 index 00000000..b52b79de --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Multi-statement Table-valued Function.sql @@ -0,0 +1,51 @@ +--======================================================================= +-- Create Multi-statement Table-valued Function for Azure SQL Database +--======================================================================= +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO + +CREATE FUNCTION .( ) +RETURNS TABLE +( + -- columns returned by the function + NOT NULL, + NOT NULL, + NOT NULL, + NOT NULL +) +AS +-- body of the function +BEGIN + WITH DirectReports(Name, Title, EmployeeID, EmployeeLevel, Sort) AS + (SELECT CONVERT(varchar(255), c.FirstName + ' ' + c.LastName), + e.Title, + e.EmployeeID, + 1, + CONVERT(varchar(255), c.FirstName + ' ' + c.LastName) + FROM HumanResources.Employee AS e + JOIN Person.Contact AS c ON e.ContactID = c.ContactID + WHERE e.EmployeeID = @InEmpID + UNION ALL + SELECT CONVERT(varchar(255), REPLICATE ('| ' , EmployeeLevel) + + c.FirstName + ' ' + c.LastName), + e.Title, + e.EmployeeID, + EmployeeLevel + 1, + CONVERT (varchar(255), RTRIM(Sort) + '| ' + FirstName + ' ' + + LastName) + FROM HumanResources.Employee as e + JOIN Person.Contact AS c ON e.ContactID = c.ContactID + JOIN DirectReports AS d ON e.ManagerID = d.EmployeeID + ) + -- copy the required columns to the result of the function + + INSERT @retFindReports + SELECT EmployeeID, Name, Title, EmployeeLevel + FROM DirectReports + ORDER BY Sort + RETURN +END +GO + + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Natively Compiled Scalar Function.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Natively Compiled Scalar Function.sql new file mode 100644 index 00000000..ff118fab --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Natively Compiled Scalar Function.sql @@ -0,0 +1,45 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Natively Compiled Scalar Function.SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the function. +-- ================================================ + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE FUNCTION [] +( + -- Add the parameters for the function here + <@Param1, sysname, @p1> +) +RETURNS +WITH NATIVE_COMPILATION, SCHEMABINDING +AS +BEGIN ATOMIC WITH +( + TRANSACTION ISOLATION LEVEL = , LANGUAGE = +) + -- Declare the return variable here + DECLARE <@ResultVar, sysname, @Result> + + -- Add the T-SQL statements to compute the return value here + SELECT <@ResultVar, sysname, @Result> = <@Param1, sysname, @p1> + + -- Return the result of the function + RETURN <@ResultVar, sysname, @Result> + +END +GO + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Scalar Function (New Menu).sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Scalar Function (New Menu).sql new file mode 100644 index 00000000..9112a360 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Scalar Function (New Menu).sql @@ -0,0 +1,31 @@ +-- ====================================================== +-- Create Scalar Function Template for Azure SQL Database +-- ====================================================== +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create Date: +-- Description: +-- ============================================= +CREATE FUNCTION +( + -- Add the parameters for the function here + <@Param1, sysname, @p1> +) +RETURNS +AS +BEGIN + -- Declare the return variable here + DECLARE <@ResultVar, sysname, @Result> + + -- Add the T-SQL statements to compute the return value here + SELECT <@ResultVar, sysname, @Result> = <@Param1, sysname, @p1> + + -- Return the result of the function + RETURN <@ResultVar, sysname, @Result> +END +GO + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Scalar Function DW (New Menu).sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Scalar Function DW (New Menu).sql new file mode 100644 index 00000000..bc24016a --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Create Scalar Function DW (New Menu).sql @@ -0,0 +1,31 @@ +-- ===================================================================== +-- Create Scalar Function Template for Azure SQL Data Warehouse Database +-- ===================================================================== +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create Date: +-- Description: +-- ============================================= +CREATE FUNCTION +( + -- Add the parameters for the function here + <@Param1, sysname, @p1> +) +RETURNS +AS +BEGIN + -- Declare the return variable here + DECLARE <@ResultVar, sysname, @Result> + + -- Add the T-SQL statements to compute the return value here + SET <@ResultVar, sysname, @Result> = <@Param1, sysname, @p1> + + -- Return the result of the function + RETURN <@ResultVar, sysname, @Result> +END +GO + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Drop Function.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Drop Function.sql new file mode 100644 index 00000000..acce825a --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/Drop Function.sql @@ -0,0 +1,6 @@ + --=================================================================================== +-- Drop function template for Azure SQL Database and Azure SQL Data Warehouse Database +--==================================================================================== +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Function/create scalar-valued function.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/create scalar-valued function.sql new file mode 100644 index 00000000..730aa25b --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Function/create scalar-valued function.sql @@ -0,0 +1,16 @@ +--================================================================= +-- Create scalar-valued function template for Azure SQL Database +--================================================================= +IF OBJECT_ID (N'.') IS NOT NULL + DROP FUNCTION . +GO + +CREATE FUNCTION . ( ) +RETURNS +WITH EXECUTE AS CALLER +AS +-- place the body of the function here +BEGIN + +END +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Create Index.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Create Index.sql new file mode 100644 index 00000000..861fea58 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Create Index.sql @@ -0,0 +1,10 @@ +-- ================================================================================== +-- Create index template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ================================================================================== + +CREATE INDEX +ON . +( + +) +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Create Unique Clustered Index.Sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Create Unique Clustered Index.Sql new file mode 100644 index 00000000..02bd1d14 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Create Unique Clustered Index.Sql @@ -0,0 +1,15 @@ +-- =============================================================== +-- Create Unique Clustered Index template for Azure SQL Database +-- =============================================================== + +CREATE UNIQUE CLUSTERED INDEX +ON . +( + ASC +) +WITH +( + DROP_EXISTING = OFF +) +GO + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Drop Index.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Drop Index.sql new file mode 100644 index 00000000..7da05954 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Index/Drop Index.sql @@ -0,0 +1,10 @@ +--======================================================================== +-- Drop index template for Azure SQL Database and Azure SQL Data Warehouse +--======================================================================== +IF EXISTS ( + SELECT * + FROM sys.indexes + WHERE indexes.name = N'' +) + DROP Index on . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Login/Create Login.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Login/Create Login.sql new file mode 100644 index 00000000..a060f492 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Login/Create Login.sql @@ -0,0 +1,7 @@ +-- ====================================================================================== +-- Create SQL Login template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ====================================================================================== + +CREATE LOGIN + WITH PASSWORD = '' +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Login/Drop Login.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Login/Drop Login.sql new file mode 100644 index 00000000..ce390455 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Login/Drop Login.sql @@ -0,0 +1,6 @@ +-- ==================================================================================== +-- Drop SQL Login template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ==================================================================================== + +DROP LOGIN +Go diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Role/Create Role.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Role/Create Role.sql new file mode 100644 index 00000000..216bc3de --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Role/Create Role.sql @@ -0,0 +1,29 @@ +-- ========================================================================================== +-- Create Database Role template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ========================================================================================== +-- Create the database role +CREATE ROLE AUTHORIZATION [dbo] +GO + +-- Grant access rights to a specific schema in the database +GRANT + ALTER, + CONTROL, + DELETE, + EXECUTE, + INSERT, + REFERENCES, + SELECT, + TAKE OWNERSHIP, + UPDATE, + VIEW DEFINITION +ON SCHEMA:: + TO +GO + +-- Add an existing user to the role +EXEC sp_addrolemember N'', N'' +GO + + + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Role/Drop Role.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Role/Drop Role.sql new file mode 100644 index 00000000..2f00d1ec --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Role/Drop Role.sql @@ -0,0 +1,7 @@ +-- ======================================================================================== +-- Drop Database Role template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ======================================================================================== + +-- Drop the role +DROP ROLE ; +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Schema/Create Schema.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Schema/Create Schema.sql new file mode 100644 index 00000000..5db793fa --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Schema/Create Schema.sql @@ -0,0 +1,6 @@ +-- =================================================================================== +-- Create Schema Template for Azure SQL Database and Azure SQL Data Warehouse Database +-- =================================================================================== + +CREATE SCHEMA +AUTHORIZATION diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Schema/Drop Schema.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Schema/Drop Schema.sql new file mode 100644 index 00000000..ca204aba --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Schema/Drop Schema.sql @@ -0,0 +1,10 @@ +--================================================================================== +-- Drop Schema template for Azure SQL Database and Azure SQL Data Warehouse Database +--================================================================================== +IF EXISTS( + SELECT * + FROM sys.schemas + WHERE name = N'' +) +DROP SCHEMA +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Security Policy/Create Security Policy.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Security Policy/Create Security Policy.sql new file mode 100644 index 00000000..8c974739 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Security Policy/Create Security Policy.sql @@ -0,0 +1,29 @@ +-- ================================================ +-- Basic Create Security Policy Template +-- +-- This template assumes that the inline function +-- and table for the policy exist in the database. +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the security policy. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE SECURITY POLICY +-- Add the filter predicates here + ADD FILTER PREDICATE .() + ON . +--Set the state on or off + WITH (STATE = ) + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Statistics/Create Statistics.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Statistics/Create Statistics.sql new file mode 100644 index 00000000..8010ace8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Statistics/Create Statistics.sql @@ -0,0 +1,13 @@ +-- =============================================================================================== +-- Create Sampled Statistics Template for Azure SQL Database and Azure SQL Data Warehouse Database +-- =============================================================================================== +CREATE STATISTICS +ON . +( + , + +) +WITH SAMPLE PERCENT; +GO +-- Instead of PERCENT, you can say ROWS to specify the number of rows to sample. + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Statistics/Drop Statistics.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Statistics/Drop Statistics.sql new file mode 100644 index 00000000..be0d700a --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Statistics/Drop Statistics.sql @@ -0,0 +1,17 @@ +--====================================================================================== +-- Drop Statistics template for Azure SQL Database and Azure SQL Data Warehouse Database +--====================================================================================== +IF EXISTS ( + SELECT * + FROM sys.stats as st + JOIN sys.tables as tb + ON st.object_id = tb.object_id + JOIN sys.schemas as sc + ON tb.schema_id = sc.schema_id + WHERE sc.name = N'' + AND tb.name = N'' + AND st.name = N'' +) + +DROP STATISTICS ..; +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Natively Compiled Stored Procedure.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Natively Compiled Stored Procedure.sql new file mode 100644 index 00000000..0d966e5b --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Natively Compiled Stored Procedure.sql @@ -0,0 +1,28 @@ +--====================================================== +-- Create Natively Compiled Stored Procedure Template +--====================================================== + +-- Drop stored procedure if it already exists +IF OBJECT_ID('.','P') IS NOT NULL + DROP PROCEDURE . +GO + +CREATE PROCEDURE . + -- Add the parameters for the stored procedure here + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> = +WITH NATIVE_COMPILATION, SCHEMABINDING +AS BEGIN ATOMIC WITH +( + TRANSACTION ISOLATION LEVEL = , LANGUAGE = +) + --Insert statements for the stored procedure here + SELECT <@param1, sysname, @p1>, <@param2, sysname, @p2> +END +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +EXECUTE . , +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Stored Procedure (New Menu).sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Stored Procedure (New Menu).sql new file mode 100644 index 00000000..e6bb0436 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Stored Procedure (New Menu).sql @@ -0,0 +1,28 @@ +-- ======================================================= +-- Create Stored Procedure Template for Azure SQL Database +-- ======================================================= +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create Date: +-- Description: +-- ============================================= +CREATE PROCEDURE +( + -- Add the parameters for the stored procedure here + <@Param1, sysname, @p1> = , + <@Param2, sysname, @p2> = +) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON + + -- Insert statements for procedure here + SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2> +END +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Stored Procedure DW (New Menu).sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Stored Procedure DW (New Menu).sql new file mode 100644 index 00000000..a723c18f --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Create Stored Procedure DW (New Menu).sql @@ -0,0 +1,28 @@ +-- ====================================================================== +-- Create Stored Procedure Template for Azure SQL Data Warehouse Database +-- ====================================================================== +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create Date: +-- Description: +-- ============================================= +CREATE PROCEDURE +( + -- Add the parameters for the stored procedure here + <@Param1, sysname, @p1> , + <@Param2, sysname, @p2> +) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON + + -- Insert statements for procedure here + SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2> +END +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Drop Stored Procedure.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Drop Stored Procedure.sql new file mode 100644 index 00000000..8914ee50 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Stored Procedure/Drop Stored Procedure.sql @@ -0,0 +1,13 @@ +-- =========================================================================================== +-- Drop Stored Procedure Template for Azure SQL Database and Azure SQL Data Warehouse Database +-- =========================================================================================== + +-- Drop stored procedure if it already exists +IF EXISTS ( + SELECT * + FROM INFORMATION_SCHEMA.ROUTINES + WHERE SPECIFIC_SCHEMA = N'' + AND SPECIFIC_NAME = N'' +) + DROP PROCEDURE . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Synonym/Create Synonym.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Synonym/Create Synonym.sql new file mode 100644 index 00000000..2dbd4da2 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Synonym/Create Synonym.sql @@ -0,0 +1,6 @@ +--================================================== +-- Create synonym template for Azure SQL Database +--================================================== +CREATE SYNONYM + FOR . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Synonym/Drop Synonym.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Synonym/Drop Synonym.sql new file mode 100644 index 00000000..54ccca4f --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Synonym/Drop Synonym.sql @@ -0,0 +1,10 @@ +--================================================ +-- Drop synonym template for Azure SQL Database +--================================================ +IF EXISTS( + SELECT * + FROM sys.synonyms + WHERE name = N'' +) +DROP SYNONYM +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Add Memory Optimized Trigger.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Add Memory Optimized Trigger.sql new file mode 100644 index 00000000..2074e938 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Add Memory Optimized Trigger.sql @@ -0,0 +1,18 @@ +--====================================================== +-- Add Trigger to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a trigger to a memory optimized table. +--====================================================== + +CREATE TRIGGER [].[] + ON [].[] + WITH NATIVE_COMPILATION, SCHEMABINDING + AFTER +AS BEGIN ATOMIC WITH +( + TRANSACTION ISOLATION LEVEL = , LANGUAGE = +) + --Insert statements for the trigger here + +END +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create External Table DW.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create External Table DW.sql new file mode 100644 index 00000000..ff56e788 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create External Table DW.sql @@ -0,0 +1,25 @@ +-- ==================================================================== +-- Create External Table Template for Azure SQL Data Warehouse Database +-- ==================================================================== + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP EXTERNAL TABLE . +GO + +CREATE EXTERNAL TABLE . +( + , + , + +) +WITH +( + LOCATION = N'', + DATA_SOURCE = , + FILE_FORMAT = , + REJECT_TYPE = , + REJECT_VALUE = , + REJECT_SAMPLE_VALUE = , + REJECTED_ROW_LOCATION = N'' -- Optional Property +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create External Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create External Table.sql new file mode 100644 index 00000000..efe0c609 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create External Table.sql @@ -0,0 +1,21 @@ +-- ===================================================== +-- Create External Table Template for Azure SQL Database +-- ===================================================== + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP EXTERNAL TABLE . +GO + +CREATE EXTERNAL TABLE . +( + , + , + +) +WITH +( + DATA_SOURCE = , + -- The sharding column name is only applicable when using SHARDED distribution. + DISTRIBUTION = () +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Graph Edge Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Graph Edge Table.sql new file mode 100644 index 00000000..9c520ee5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Graph Edge Table.sql @@ -0,0 +1,26 @@ +-- ========================================= +-- Create Graph Edge Template +-- ========================================= + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + -- Columns are optional for Edge Tables. + -- + , + , + , + + -- Unique index on $edge_id is required. + -- If no user-defined index is specified, a default index is created instead. + INDEX ix_graphid UNIQUE ($edge_id), + + -- indexes on $from_id and $to_id are optional, but support faster lookups. + INDEX ix_fromid ($from_id, $to_id), + INDEX ix_toid ($to_id, $from_id) +) +AS EDGE +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Graph Node Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Graph Node Table.sql new file mode 100644 index 00000000..01f61b8a --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Graph Node Table.sql @@ -0,0 +1,20 @@ +-- ========================================= +-- Create Graph Node Template +-- ========================================= + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + , + + -- Unique index on $node_id is required. + -- If no user-defined index is specified, a default index is created. + INDEX ix_graphid UNIQUE ($node_id) +) +AS NODE +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Memory Optimized Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Memory Optimized Table.sql new file mode 100644 index 00000000..2157552e --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Memory Optimized Table.sql @@ -0,0 +1,23 @@ +--====================================================== +-- Create Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template creates a memory optimized table and indexes on the memory optimized table. +-- The database must have a MEMORY_OPTIMIZED_DATA filegroup before the memory optimized table can be created. +--====================================================== + +--Drop table if it already exists. +IF OBJECT_ID('.','U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + INDEX NONCLUSTERED (), + + CONSTRAINT PRIMARY KEY NONCLUSTERED (), + -- See SQL Server Books Online for guidelines on determining appropriate bucket count for the index + INDEX HASH () WITH (BUCKET_COUNT = ) +) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = ) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create SQL DW Partitioned Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create SQL DW Partitioned Table.sql new file mode 100644 index 00000000..6762010e --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create SQL DW Partitioned Table.sql @@ -0,0 +1,21 @@ +-- ======================================================================= +-- Create Partitioned Table Template for Azure SQL Data Warehouse Database +-- ======================================================================= + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + +) +WITH +( + DISTRIBUTION = HASH (), + CLUSTERED COLUMNSTORE INDEX, + PARTITION ( RANGE RIGHT FOR VALUES ()) +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create SQL DW Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create SQL DW Table.sql new file mode 100644 index 00000000..ee646172 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create SQL DW Table.sql @@ -0,0 +1,20 @@ +-- =========================================================== +-- Create Table Template for Azure SQL Data Warehouse Database +-- =========================================================== + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + +) +WITH +( + DISTRIBUTION = HASH (), + CLUSTERED COLUMNSTORE INDEX +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create System-Versioned Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create System-Versioned Table.sql new file mode 100644 index 00000000..fff691c8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create System-Versioned Table.sql @@ -0,0 +1,50 @@ +-- ========================================= +-- Create system-versioned temporal table template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- +-- This template creates a system-versioned temporal table. +-- +-- For more details on system-versioned temporal tables please refer to MSDN documentation: +-- https://msdn.microsoft.com/en-IN/library/dn935015.aspx#Anchor_0 +-- +-- To learn more how to use system-versioned tables in your applications, take a look at "Getting Started with System-Versioned Temporal Tables": +-- https://msdn.microsoft.com/en-US/library/mt604462.aspx +-- ========================================= + +BEGIN + --If table is system-versioned, SYSTEM_VERSIONING must be set to OFF first + IF ((SELECT temporal_type FROM SYS.TABLES WHERE object_id = OBJECT_ID('.', 'U')) = 2) + BEGIN + ALTER TABLE [].[] SET (SYSTEM_VERSIONING = OFF) + END + DROP TABLE IF EXISTS [].[] +END +GO + +--Create system-versioned temporal table. It must have primary key and two datetime2 columns that are part of SYSTEM_TIME period definition +CREATE TABLE [].[] +( + , + , + , + + --Period columns and PERIOD FOR SYSTEM_TIME definition + datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL , + datetime2(7) GENERATED ALWAYS AS ROW END NOT NULL , + PERIOD FOR SYSTEM_TIME(,), + + --Primary key definition + CONSTRAINT PRIMARY KEY () +) +WITH +( + --Set SYSTEM_VERSIONING to ON and provide reference to HISTORY_TABLE. + SYSTEM_VERSIONING = ON + ( + --If HISTORY_TABLE does not exists, default table will be created. + HISTORY_TABLE = [].[], + --Specifies whether data consistency check will be performed across current and history tables (default is ON) + DATA_CONSISTENCY_CHECK = + ) +) +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Table.sql new file mode 100644 index 00000000..2b9751dc --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Create Table.sql @@ -0,0 +1,16 @@ +-- ======================================== +-- Create table template Azure SQL Database +-- ======================================== + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + , + CONSTRAINT PRIMARY KEY () +) +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Drop External Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Drop External Table.sql new file mode 100644 index 00000000..1bb161fa --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Drop External Table.sql @@ -0,0 +1,13 @@ +--========================================================================================== +-- Drop External Table template for Azure SQL Database and Azure SQL Data Warehouse Database +--========================================================================================== +IF EXISTS ( + SELECT * + FROM sys.tables + JOIN sys.schemas + ON sys.tables.schema_id = sys.schemas.schema_id + WHERE sys.schemas.name = N'' + AND sys.tables.name = N'' +) +DROP EXTERNAL TABLE . +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Drop Table.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Drop Table.sql new file mode 100644 index 00000000..7758c8b9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Table/Drop Table.sql @@ -0,0 +1,13 @@ +--================================================================================= +-- Drop Table template for Azure SQL Database and Azure SQL Data Warehouse Database +--================================================================================= +IF EXISTS ( + SELECT * + FROM sys.tables + JOIN sys.schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = N'' + AND tables.name = N'' +) + DROP TABLE . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Trigger/Create T-SQL Trigger (New Menu).sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Trigger/Create T-SQL Trigger (New Menu).sql new file mode 100644 index 00000000..5fde55b0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Trigger/Create T-SQL Trigger (New Menu).sql @@ -0,0 +1,26 @@ +-- ============================================== +-- Create dml trigger template Azure SQL Database +-- ============================================== +-- Drop the dml trigger if it already exists +IF EXISTS( + SELECT * + FROM sys.triggers + WHERE name = N'' + AND parent_class_desc = N'OBJECT_OR_COLUMN' +) + DROP TRIGGER . +GO + +CREATE TRIGGER . + ON . + AFTER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for trigger here + +END +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/Trigger/Drop Trigger.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/Trigger/Drop Trigger.sql new file mode 100644 index 00000000..ae6262a6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/Trigger/Drop Trigger.sql @@ -0,0 +1,13 @@ +-- ============================================ +-- Drop dml trigger template Azure SQL Database +-- ============================================ + +IF EXISTS( + SELECT * + FROM sys.triggers + WHERE name = N'' + AND parent_class_desc = N'OBJECT_OR_COLUMN' +) + DROP TRIGGER . +GO + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Data Type/Create User-defined Data Type.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Data Type/Create User-defined Data Type.sql new file mode 100644 index 00000000..4c66f32c --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Data Type/Create User-defined Data Type.sql @@ -0,0 +1,8 @@ +-- ============================================================= +-- Create User-defined Data Type template for Azure SQL Database +-- ============================================================= + +CREATE TYPE . + FROM () + +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Data Type/Drop User-defined Data Type.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Data Type/Drop User-defined Data Type.sql new file mode 100644 index 00000000..2931e369 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Data Type/Drop User-defined Data Type.sql @@ -0,0 +1,7 @@ +-- =========================================================== +-- Drop User-defined Data Type template for Azure SQL Database +-- =========================================================== + +-- Drop the data type - this will fail if it is being used +DROP TYPE . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Create User-defined Memory Optimized Table Type.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Create User-defined Memory Optimized Table Type.sql new file mode 100644 index 00000000..3625602e --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Create User-defined Memory Optimized Table Type.sql @@ -0,0 +1,23 @@ +--====================================================== +-- Create User-defined Memory Optimized Table Type Template for Azure SQL Database +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template creates a memory optimized table type and indexes on the memory optimized table type. +--====================================================== + +--Drop table if it already exists. +IF TYPE_ID('.') IS NOT NULL + DROP TYPE . +GO + +CREATE TYPE . AS TABLE +( + , + , + INDEX NONCLUSTERED (), + + PRIMARY KEY NONCLUSTERED (), + -- See SQL Server Books Online for guidelines on determining appropriate bucket count for the index + INDEX HASH () WITH (BUCKET_COUNT = ) +) WITH (MEMORY_OPTIMIZED = ON) +GO + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Create User-defined Table Type.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Create User-defined Table Type.sql new file mode 100644 index 00000000..baf3febb --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Create User-defined Table Type.sql @@ -0,0 +1,12 @@ +-- ============================================================== +-- Create User-defined Table Type template for Azure SQL Database +-- ============================================================== + +CREATE TYPE . AS TABLE +( + , + , + , + PRIMARY KEY () +) +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Drop User-defined Table Type.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Drop User-defined Table Type.sql new file mode 100644 index 00000000..17a7f621 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/User-defined Table Type/Drop User-defined Table Type.sql @@ -0,0 +1,7 @@ +-- ============================================================ +-- Drop User-defined Table Type template for Azure SQL Database +-- ============================================================ + +-- Drop the table type - this will fail if it is being used +DROP TYPE . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/User/Create User.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/User/Create User.sql new file mode 100644 index 00000000..61de5bf7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/User/Create User.sql @@ -0,0 +1,12 @@ +-- ======================================================================================== +-- Create User as DBO template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ======================================================================================== +-- For login , create a user in the database +CREATE USER + FOR LOGIN + WITH DEFAULT_SCHEMA = +GO + +-- Add user to the database owner role +EXEC sp_addrolemember N'db_owner', N'' +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/User/Drop User.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/User/Drop User.sql new file mode 100644 index 00000000..f1a830b4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/User/Drop User.sql @@ -0,0 +1,5 @@ +-- ======================================================================================== +-- Create User as DBO template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ======================================================================================== +DROP USER +GO diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/View/Create View.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/View/Create View.sql new file mode 100644 index 00000000..93570399 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/View/Create View.sql @@ -0,0 +1,10 @@ +-- ================================================================================= +-- Create View template for Azure SQL Database and Azure SQL Data Warehouse Database +-- ================================================================================= + +IF object_id(N'.', 'V') IS NOT NULL + DROP VIEW . +GO + +CREATE VIEW . AS + diff --git a/samples/features/ssms-templates/Sql/SQL Azure Database/View/Drop View.sql b/samples/features/ssms-templates/Sql/SQL Azure Database/View/Drop View.sql new file mode 100644 index 00000000..a5aeb66f --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Azure Database/View/Drop View.sql @@ -0,0 +1,13 @@ +--================================================================================ +-- Drop View template for Azure SQL Database and Azure SQL Data Warehouse Database +--================================================================================ +IF EXISTS ( + SELECT * + FROM sys.views + JOIN sys.schemas + ON views.schema_id = schemas.schema_id + WHERE schemas.name = N'' + AND views.name = N'' +) + DROP VIEW . +GO diff --git a/samples/features/ssms-templates/Sql/SQL Mail/Simple Database Mail Configuration.sql b/samples/features/ssms-templates/Sql/SQL Mail/Simple Database Mail Configuration.sql new file mode 100644 index 00000000..1876fb84 --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Mail/Simple Database Mail Configuration.sql @@ -0,0 +1,88 @@ +------------------------------------------------------------- +-- Database Mail Simple Configuration Template. +-- +-- This template creates a Database Mail profile, an SMTP account and +-- associates the account to the profile. +-- The template does not grant access to the new profile for +-- any database principals. Use msdb.dbo.sysmail_add_principalprofile +-- to grant access to the new profile for users who are not +-- members of sysadmin. +------------------------------------------------------------- + +DECLARE @profile_name sysname, + @account_name sysname, + @SMTP_servername sysname, + @email_address NVARCHAR(128), + @display_name NVARCHAR(128); + +-- Profile name. Replace with the name for your profile + SET @profile_name = ''; + +-- Account information. Replace with the information for your account. + + SET @account_name = ''; + SET @SMTP_servername = ''; + SET @email_address = ''; + SET @display_name = ''; + + +-- Verify the specified account and profile do not already exist. +IF EXISTS (SELECT * FROM msdb.dbo.sysmail_profile WHERE name = @profile_name) +BEGIN + RAISERROR('The specified Database Mail profile () already exists.', 16, 1); + GOTO done; +END; + +IF EXISTS (SELECT * FROM msdb.dbo.sysmail_account WHERE name = @account_name ) +BEGIN + RAISERROR('The specified Database Mail account () already exists.', 16, 1) ; + GOTO done; +END; + +-- Start a transaction before adding the account and the profile +BEGIN TRANSACTION ; + +DECLARE @rv INT; + +-- Add the account +EXECUTE @rv=msdb.dbo.sysmail_add_account_sp + @account_name = @account_name, + @email_address = @email_address, + @display_name = @display_name, + @mailserver_name = @SMTP_servername; + +IF @rv<>0 +BEGIN + RAISERROR('Failed to create the specified Database Mail account ().', 16, 1) ; + GOTO done; +END + +-- Add the profile +EXECUTE @rv=msdb.dbo.sysmail_add_profile_sp + @profile_name = @profile_name ; + +IF @rv<>0 +BEGIN + RAISERROR('Failed to create the specified Database Mail profile ().', 16, 1); + ROLLBACK TRANSACTION; + GOTO done; +END; + +-- Associate the account with the profile. +EXECUTE @rv=msdb.dbo.sysmail_add_profileaccount_sp + @profile_name = @profile_name, + @account_name = @account_name, + @sequence_number = 1 ; + +IF @rv<>0 +BEGIN + RAISERROR('Failed to associate the specified profile with the specified account ().', 16, 1) ; + ROLLBACK TRANSACTION; + GOTO done; +END; + +COMMIT TRANSACTION; + +done: + +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/SQL Trace/Default Profiler Trace.sql b/samples/features/ssms-templates/Sql/SQL Trace/Default Profiler Trace.sql new file mode 100644 index 00000000..0880e5cb --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Trace/Default Profiler Trace.sql @@ -0,0 +1,100 @@ +-- =================================================== +-- Default Profiler Trace +-- =================================================== + +-- Create a Queue +declare @rc int +declare @TraceID int +declare @maxfilesize bigint +declare @traceoptions int +declare @stoptime datetime +set @traceoptions = +set @maxfilesize = +set @stoptime = + +-- Create the trace with the name of the output file - .trc extension is added to filename +exec @rc = sp_trace_create @TraceID output, , N'', @maxfilesize, +if (@rc != 0) goto error + +-- Set the events +declare @on bit +set @on = 1 +-- Audit Login events +exec sp_trace_setevent @TraceID, 14, 1, @on +exec sp_trace_setevent @TraceID, 14, 9, @on +exec sp_trace_setevent @TraceID, 14, 6, @on +exec sp_trace_setevent @TraceID, 14, 10, @on +exec sp_trace_setevent @TraceID, 14, 14, @on +exec sp_trace_setevent @TraceID, 14, 11, @on +exec sp_trace_setevent @TraceID, 14, 12, @on +-- Audit Logout events +exec sp_trace_setevent @TraceID, 15, 15, @on +exec sp_trace_setevent @TraceID, 15, 16, @on +exec sp_trace_setevent @TraceID, 15, 9, @on +exec sp_trace_setevent @TraceID, 15, 13, @on +exec sp_trace_setevent @TraceID, 15, 17, @on +exec sp_trace_setevent @TraceID, 15, 6, @on +exec sp_trace_setevent @TraceID, 15, 10, @on +exec sp_trace_setevent @TraceID, 15, 14, @on +exec sp_trace_setevent @TraceID, 15, 18, @on +exec sp_trace_setevent @TraceID, 15, 11, @on +exec sp_trace_setevent @TraceID, 15, 12, @on +-- ExistingConnection events +exec sp_trace_setevent @TraceID, 17, 12, @on +exec sp_trace_setevent @TraceID, 17, 1, @on +exec sp_trace_setevent @TraceID, 17, 9, @on +exec sp_trace_setevent @TraceID, 17, 6, @on +exec sp_trace_setevent @TraceID, 17, 10, @on +exec sp_trace_setevent @TraceID, 17, 14, @on +exec sp_trace_setevent @TraceID, 17, 11, @on +-- RPC:Completed events +exec sp_trace_setevent @TraceID, 10, 15, @on +exec sp_trace_setevent @TraceID, 10, 16, @on +exec sp_trace_setevent @TraceID, 10, 1, @on +exec sp_trace_setevent @TraceID, 10, 9, @on +exec sp_trace_setevent @TraceID, 10, 17, @on +exec sp_trace_setevent @TraceID, 10, 10, @on +exec sp_trace_setevent @TraceID, 10, 18, @on +exec sp_trace_setevent @TraceID, 10, 11, @on +exec sp_trace_setevent @TraceID, 10, 12, @on +exec sp_trace_setevent @TraceID, 10, 13, @on +exec sp_trace_setevent @TraceID, 10, 6, @on +exec sp_trace_setevent @TraceID, 10, 14, @on +-- SQL:BatchCompleted events +exec sp_trace_setevent @TraceID, 12, 15, @on +exec sp_trace_setevent @TraceID, 12, 16, @on +exec sp_trace_setevent @TraceID, 12, 1, @on +exec sp_trace_setevent @TraceID, 12, 9, @on +exec sp_trace_setevent @TraceID, 12, 17, @on +exec sp_trace_setevent @TraceID, 12, 6, @on +exec sp_trace_setevent @TraceID, 12, 10, @on +exec sp_trace_setevent @TraceID, 12, 14, @on +exec sp_trace_setevent @TraceID, 12, 18, @on +exec sp_trace_setevent @TraceID, 12, 11, @on +exec sp_trace_setevent @TraceID, 12, 12, @on +exec sp_trace_setevent @TraceID, 12, 13, @on +-- SQL:BatchStarting events +exec sp_trace_setevent @TraceID, 13, 12, @on +exec sp_trace_setevent @TraceID, 13, 1, @on +exec sp_trace_setevent @TraceID, 13, 9, @on +exec sp_trace_setevent @TraceID, 13, 6, @on +exec sp_trace_setevent @TraceID, 13, 10, @on +exec sp_trace_setevent @TraceID, 13, 14, @on +exec sp_trace_setevent @TraceID, 13, 11, @on + + +-- Filter out the SQL Profiler events +exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Profiler' + +-- Set the trace status to start +exec sp_trace_setstatus @TraceID, 1 + +-- display trace id for future references +select TraceID=@TraceID +goto finish + +error: +select ErrorCode=@rc + +finish: +go diff --git a/samples/features/ssms-templates/Sql/SQL Trace/Stop Trace.sql b/samples/features/ssms-templates/Sql/SQL Trace/Stop Trace.sql new file mode 100644 index 00000000..b30652ee --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQL Trace/Stop Trace.sql @@ -0,0 +1,17 @@ +-- ====================== +-- Stop Trace template +-- ====================== +IF EXISTS ( + SELECT * FROM sys.fn_trace_getinfo() +) +BEGIN + -- Stops the specified trace + EXEC sp_trace_setstatus , 0 + + -- Closes the specified trace and deletes its definition from the server + EXEC sp_trace_setstatus , 2 +END +ELSE + PRINT 'Traceid () does not exist' +GO + diff --git a/samples/features/ssms-templates/Sql/SQLFile.sql b/samples/features/ssms-templates/Sql/SQLFile.sql new file mode 100644 index 00000000..e69de29b diff --git a/samples/features/ssms-templates/Sql/SQLiMail/Simple Configuration.sql b/samples/features/ssms-templates/Sql/SQLiMail/Simple Configuration.sql new file mode 100644 index 00000000..ada4e7dc --- /dev/null +++ b/samples/features/ssms-templates/Sql/SQLiMail/Simple Configuration.sql @@ -0,0 +1,88 @@ +------------------------------------------------------------- +-- SQLiMail Simple Configuration Template. +-- +-- This template creates a SQLiMail profile, an SMTP account and +-- associates the account to the profile. +-- The template does not grant access to the new profile for +-- any database principals. Use msdb.dbo.sysmail_add_principalprofile +-- to grant access to the new profile for users who are not +-- members of sysadmin. +------------------------------------------------------------- + +DECLARE @profile_name sysname, + @account_name sysname, + @SMTP_servername sysname, + @email_address NVARCHAR(128), + @display_name NVARCHAR(128); + +-- Profile name. Replace with the name for your profile + SET @profile_name = 'SampleProfile'; + +-- Account information. Replace with the information for your account. + + SET @account_name = 'SampleAccount'; + SET @SMTP_servername = 'your SMTP server name'; + SET @email_address = 'sender email address'; + SET @display_name = 'name of the sender'; + + +-- Verify the specified account and profile do not already exist. +IF EXISTS (SELECT * FROM msdb.dbo.sysmail_profile WHERE name = @profile_name) +BEGIN + RAISERROR('The specified SQLiMail profile already exists.', 16, 1); + GOTO done; +END; + +IF EXISTS (SELECT * FROM msdb.dbo.sysmail_account WHERE name = @account_name ) +BEGIN + RAISERROR('The specified SQLiMail account already exists.', 16, 1) ; + GOTO done; +END; + +-- Start a transaction before adding the account and the profile +BEGIN TRANSACTION ; + +DECLARE @rv INT; + +-- Add the account +EXECUTE @rv=msdb.dbo.sysmail_add_account_sp + @account_name = @account_name, + @email_address = @email_address, + @display_name = @display_name, + @mailserver_name = @SMTP_servername; + +IF @rv<>0 +BEGIN + RAISERROR('Failed to create the specified SQLiMail account.', 16, 1) ; + GOTO done; +END + +-- Add the profile +EXECUTE @rv=msdb.dbo.sysmail_add_profile_sp + @profile_name = @profile_name ; + +IF @rv<>0 +BEGIN + RAISERROR('Failed to create the specified SQLiMail profile.', 16, 1); + ROLLBACK TRANSACTION; + GOTO done; +END; + +-- Associate the account with the profile. +EXECUTE @rv=msdb.dbo.sysmail_add_profileaccount_sp + @profile_name = @profile_name, + @account_name = @account_name, + @sequence_number = 1 ; + +IF @rv<>0 +BEGIN + RAISERROR('Failed to associate the specified profile with the specified account.', 16, 1) ; + ROLLBACK TRANSACTION; + GOTO done; +END; + +COMMIT TRANSACTION; + +done: + +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Security Policy/Create Security Policy.sql b/samples/features/ssms-templates/Sql/Security Policy/Create Security Policy.sql new file mode 100644 index 00000000..8c974739 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Security Policy/Create Security Policy.sql @@ -0,0 +1,29 @@ +-- ================================================ +-- Basic Create Security Policy Template +-- +-- This template assumes that the inline function +-- and table for the policy exist in the database. +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the security policy. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE SECURITY POLICY +-- Add the filter predicates here + ADD FILTER PREDICATE .() + ON . +--Set the state on or off + WITH (STATE = ) + diff --git a/samples/features/ssms-templates/Sql/Server Role/Add Server Role Member.sql b/samples/features/ssms-templates/Sql/Server Role/Add Server Role Member.sql new file mode 100644 index 00000000..e4de8b20 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Add Server Role Member.sql @@ -0,0 +1,10 @@ +-- ================================== +-- Add Server Role Member template +-- ================================== +USE [master] +GO + +-- Add an existing principal as a role member +ALTER SERVER ROLE [] +ADD MEMBER [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Change Server Role Owner.sql b/samples/features/ssms-templates/Sql/Server Role/Change Server Role Owner.sql new file mode 100644 index 00000000..4ce870bd --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Change Server Role Owner.sql @@ -0,0 +1,10 @@ +-- ===================================== +-- Change owning principal template +-- ===================================== +USE [master] +GO + +-- Alter the server principal that owns the server role +ALTER AUTHORIZATION ON SERVER ROLE :: [] +TO [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Create Server Role.sql b/samples/features/ssms-templates/Sql/Server Role/Create Server Role.sql new file mode 100644 index 00000000..0a9fd1d9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Create Server Role.sql @@ -0,0 +1,19 @@ +-- ============================== +-- Create Server Role template +-- ============================== +USE [master] +GO + +-- Drop the server role if it already exists +IF EXISTS ( + SELECT name + FROM sys.server_principals + WHERE name = N'' +) +DROP SERVER ROLE [] + + +-- Create the server role +CREATE SERVER ROLE [] +AUTHORIZATION [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Deny Server Role Permission.sql b/samples/features/ssms-templates/Sql/Server Role/Deny Server Role Permission.sql new file mode 100644 index 00000000..e1f68bb8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Deny Server Role Permission.sql @@ -0,0 +1,17 @@ +-- ========================================== +-- Deny Permission on Server Role template +-- ========================================== +USE [master] +GO + +-- Deny access rights on a specific server role on the server +DENY + ALTER, + CONTROL, + TAKE OWNERSHIP, + VIEW DEFINITION +ON SERVER ROLE :: [] + TO [] + CASCADE + AS [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Drop Server Role Member.sql b/samples/features/ssms-templates/Sql/Server Role/Drop Server Role Member.sql new file mode 100644 index 00000000..d191b049 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Drop Server Role Member.sql @@ -0,0 +1,10 @@ +-- ==================================== +-- Drop Server Role Member template +-- ==================================== +USE [master] +GO + +-- Revoke membership of an existing principal from a server role +ALTER SERVER ROLE [] +DROP MEMBER [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Drop Server Role.sql b/samples/features/ssms-templates/Sql/Server Role/Drop Server Role.sql new file mode 100644 index 00000000..1842b4e4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Drop Server Role.sql @@ -0,0 +1,16 @@ +-- ============================ +-- Drop Server Role template +-- ============================ +USE [master] +GO + +-- Drop the server role if it exists +IF EXISTS ( + SELECT name + FROM sys.server_principals + WHERE name = N'' +) + +-- Drop an existing server role +DROP SERVER ROLE [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Grant Server Role Permission.sql b/samples/features/ssms-templates/Sql/Server Role/Grant Server Role Permission.sql new file mode 100644 index 00000000..b3627d15 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Grant Server Role Permission.sql @@ -0,0 +1,17 @@ +-- ========================================== +-- Grant Permission on Server Role template +-- ========================================== +USE [master] +GO + +-- Grant access rights on a specific server role on the server +GRANT + ALTER, + CONTROL, + TAKE OWNERSHIP, + VIEW DEFINITION +ON SERVER ROLE :: [] + TO [] + WITH GRANT OPTION + AS [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Rename Server Role.sql b/samples/features/ssms-templates/Sql/Server Role/Rename Server Role.sql new file mode 100644 index 00000000..b5ab8e0d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Rename Server Role.sql @@ -0,0 +1,10 @@ +-- ===================================== +-- Rename Server Role Member template +-- ===================================== +USE [master] +GO + +-- Rename the server role +ALTER SERVER ROLE [] +WITH NAME = [] +GO diff --git a/samples/features/ssms-templates/Sql/Server Role/Revoke Server Role Permission.sql b/samples/features/ssms-templates/Sql/Server Role/Revoke Server Role Permission.sql new file mode 100644 index 00000000..7bfd7670 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Role/Revoke Server Role Permission.sql @@ -0,0 +1,17 @@ +-- ========================================== +-- Revoke Permission on Server Role template +-- ========================================== +USE [master] +GO + +-- Revoke access rights on a specific server role on the server +REVOKE GRANT OPTION FOR + ALTER, + CONTROL, + TAKE OWNERSHIP, + VIEW DEFINITION +ON SERVER ROLE :: [] + TO [] + CASCADE + AS [] +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Server Trigger/Alter Server Trigger.sql b/samples/features/ssms-templates/Sql/Server Trigger/Alter Server Trigger.sql new file mode 100644 index 00000000..df62449b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Trigger/Alter Server Trigger.sql @@ -0,0 +1,12 @@ +--==================================== +-- Alter server trigger template +--==================================== +ALTER TRIGGER ON ALL SERVER +FOR +AS +IF IS_MEMBER ('db_owner') = 0 +BEGIN + PRINT 'You must ask your DBA to drop or alter databases!' + ROLLBACK TRANSACTION +END +GO diff --git a/samples/features/ssms-templates/Sql/Server Trigger/Create Server Trigger.sql b/samples/features/ssms-templates/Sql/Server Trigger/Create Server Trigger.sql new file mode 100644 index 00000000..2c529726 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Trigger/Create Server Trigger.sql @@ -0,0 +1,22 @@ +--==================================== +-- Create server trigger template +--==================================== +IF EXISTS( + SELECT * + FROM sys.server_triggers + WHERE name = N'' + AND parent_class_desc = N'SERVER' +) + DROP TRIGGER ON ALL SERVER +GO + + +CREATE TRIGGER trigger_name ON ALL SERVER +FOR +AS +IF IS_MEMBER ('db_owner') = 0 +BEGIN + PRINT 'You must ask your DBA to drop or alter databases!' + ROLLBACK TRANSACTION +END +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Server Trigger/Drop Server Trigger.sql b/samples/features/ssms-templates/Sql/Server Trigger/Drop Server Trigger.sql new file mode 100644 index 00000000..c3f966a5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Server Trigger/Drop Server Trigger.sql @@ -0,0 +1,11 @@ +--==================================== +-- Drop server trigger template +--==================================== +IF EXISTS( + SELECT * + FROM sys.server_triggers + WHERE name = N'' + AND parent_class_desc = N'SERVER' +) + DROP TRIGGER ON ALL SERVER +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Service Broker/Application/Create Request Response Contract.sql b/samples/features/ssms-templates/Sql/Service Broker/Application/Create Request Response Contract.sql new file mode 100644 index 00000000..91a27e61 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Application/Create Request Response Contract.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Create Request Response Application Template +-- ============================================= + + +-- Create the stored procedure + +if exists (select 1 from sys.procedures where [object_id] = OBJECT_ID(N'[dbo].[]')) +drop procedure [dbo].[] +GO +SET ANSI_NULLS ON +go +SET QUOTED_IDENTIFIER ON +go + +CREATE PROCEDURE [dbo].[] + AS declare @message_body varbinary(MAX) + + declare @message_type int + declare @dialog uniqueidentifier + + + +while (1 = 1) +begin + begin transaction + +-- Receive the next available message from the queue + + WAITFOR ( + RECEIVE top(1) -- just handle one message at a time + @message_type=message_type_id, --the type of message received + @message_body=message_body, -- the message contents + @dialog = conversation_handle -- the identifier of the dialog this message was received on + FROM + ), TIMEOUT 1000 -- if the queue is empty for one second, give UPDATE and go away + +-- If we didn't get anything, bail out + if (@@ROWCOUNT = 0) + BEGIN + Rollback Transaction + BREAK + END + +-- Check for the End Dialog message. + If (@message_type <> 2) -- End dialog message + BEGIN +-- Send the message back to the sender. + SEND ON CONVERSATION @dialog -- send it back on the dialog we received the message on + MESSAGE TYPE [] -- Must always supply a message type + (@message_body); -- the message contents (a varbinary(MAX) blob + END + +-- Commit the transaction. At any point before this, we could roll +-- back - the received message would be back on the queue and the response +-- wouldn't be sent. + commit transaction +end +go + + +-- Create the required meta-data + +CREATE MESSAGE TYPE VALIDATION = NONE + +CREATE MESSAGE TYPE VALIDATION = NONE + +CREATE CONTRACT + ( SENT BY INITIATOR, + SENT BY TARGET) + +CREATE QUEUE + +CREATE SERVICE [] +ON QUEUE + +ALTER SERVICE [] + ( ADD CONTRACT ) + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Application/Create Request Response with Activation.sql b/samples/features/ssms-templates/Sql/Service Broker/Application/Create Request Response with Activation.sql new file mode 100644 index 00000000..3e9e1387 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Application/Create Request Response with Activation.sql @@ -0,0 +1,85 @@ + +-- ============================================================ +-- Create Request Response Application with Activation Template +-- ============================================================ + + + +-- Create the stored procedure + +If EXISTS (select 1 from sys.procedures where [object_id] = OBJECT_ID(N'[dbo].[]')) +drop procedure [dbo].[] +GO +SET ANSI_NULLS ON +go +SET QUOTED_IDENTIFIER ON +go + +CREATE PROCEDURE [dbo].[] + AS declare @message_body varbinary(MAX) + + declare @message_type int + declare @dialog uniqueidentifier + + + +while (1 = 1) +begin + begin transaction + +-- Receive the next available message from the queue + + WAITFOR ( + RECEIVE top(1) -- just handle one message at a time + @message_type=message_type_id, --the type of message received + @message_body=message_body, -- the message contents + @dialog = conversation_handle -- the identifier of the dialog this message was received on + FROM + ), TIMEOUT 1000 -- if the queue is empty for one second, give UPDATE and go away + +-- If we didn't get anything, bail out + if (@@ROWCOUNT = 0) + BEGIN + Rollback Transaction + BREAK + END + +-- Check for the End Dialog message. + If (@message_type <> 2) -- End dialog message + BEGIN +-- Send the message back to the sender. + SEND ON CONVERSATION @dialog -- send it back on the dialog we received the message on + MESSAGE TYPE [] -- Must always supply a message type + (@message_body); -- the message contents (a varbinary(MAX) blob + END + +-- Commit the transaction. At any point before this, we could roll +-- back - the received message would be back on the queue and the response +-- wouldn't be sent. + commit transaction +end +go + + +-- Create the required meta-data + + +CREATE MESSAGE TYPE VALIDATION = NONE + +CREATE MESSAGE TYPE VALIDATION = NONE + +CREATE CONTRACT + ( SENT BY INITIATOR, + SENT BY TARGET) + +CREATE QUEUE + WITH ACTIVATION ( + PROCEDURE_NAME = [] , + MAX_QUEUE_READERS = 5, + EXECUTE AS SELF ) + +CREATE SERVICE [] + ON QUEUE + +ALTER SERVICE [] + ( ADD CONTRACT ) diff --git a/samples/features/ssms-templates/Sql/Service Broker/Contract/Create One Way Contract.sql b/samples/features/ssms-templates/Sql/Service Broker/Contract/Create One Way Contract.sql new file mode 100644 index 00000000..11eda0e3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Contract/Create One Way Contract.sql @@ -0,0 +1,7 @@ +-- ============================================= +-- Create One Way contract Template +-- ============================================= + +CREATE CONTRACT + ( SENT BY INITIATOR ) + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Contract/Create Request Response Contract.sql b/samples/features/ssms-templates/Sql/Service Broker/Contract/Create Request Response Contract.sql new file mode 100644 index 00000000..3e0c7a1d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Contract/Create Request Response Contract.sql @@ -0,0 +1,13 @@ +-- ============================================= +-- Create Request Response contract Template +-- ============================================= +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE CONTRACT + AUTHORIZATION + ( SENT BY INITIATOR, + SENT BY TARGET ) diff --git a/samples/features/ssms-templates/Sql/Service Broker/Contract/Drop Contract.sql b/samples/features/ssms-templates/Sql/Service Broker/Contract/Drop Contract.sql new file mode 100644 index 00000000..c7af5e64 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Contract/Drop Contract.sql @@ -0,0 +1,5 @@ +-- ============================================= +-- Basic Drop Contract Template +-- ============================================= + +DROP CONTRACT diff --git a/samples/features/ssms-templates/Sql/Service Broker/EndPoint/Create Broker Endpoint.sql b/samples/features/ssms-templates/Sql/Service Broker/EndPoint/Create Broker Endpoint.sql new file mode 100644 index 00000000..ba6260c0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/EndPoint/Create Broker Endpoint.sql @@ -0,0 +1,13 @@ + +-- ============================================= +-- Basic Create Service Broker Endpoint Template +-- ============================================= + +CREATE ENDPOINT +AS TCP ( + LISTENER_PORT = + ) +FOR SERVICE_BROKER ( + AUTHENTICATION = WINDOWS + ) + diff --git a/samples/features/ssms-templates/Sql/Service Broker/MessageType/Add Message Type Validation.sql b/samples/features/ssms-templates/Sql/Service Broker/MessageType/Add Message Type Validation.sql new file mode 100644 index 00000000..3d92d16a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/MessageType/Add Message Type Validation.sql @@ -0,0 +1,8 @@ + +-- ============================================= +-- Add Validation to Message Type Template +-- ============================================= + +ALTER MESSAGE TYPE VALIDATION = + VALID_XML WITH SCHEMA COLLECTION + diff --git a/samples/features/ssms-templates/Sql/Service Broker/MessageType/Create Message Type.sql b/samples/features/ssms-templates/Sql/Service Broker/MessageType/Create Message Type.sql new file mode 100644 index 00000000..fb12b60d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/MessageType/Create Message Type.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Create Message Type Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE MESSAGE TYPE +AUTHORIZATION +VALIDATION = + diff --git a/samples/features/ssms-templates/Sql/Service Broker/MessageType/Drop Message Type.sql b/samples/features/ssms-templates/Sql/Service Broker/MessageType/Drop Message Type.sql new file mode 100644 index 00000000..49e0c957 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/MessageType/Drop Message Type.sql @@ -0,0 +1,5 @@ +-- ============================================= +-- Basic Drop Message Type Template +-- ============================================= + +DROP MESSAGE TYPE diff --git a/samples/features/ssms-templates/Sql/Service Broker/Priority/Alter Broker Priority.sql b/samples/features/ssms-templates/Sql/Service Broker/Priority/Alter Broker Priority.sql new file mode 100644 index 00000000..6d798927 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Priority/Alter Broker Priority.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Change the Broker Priority Template +-- ============================================= + + +ALTER BROKER PRIORITY +FOR CONVERSATION +SET ( CONTRACT_NAME = , + LOCAL_SERVICE_NAME = , + REMOTE_SERVICE_NAME = , + PRIORITY_LEVEL = +) diff --git a/samples/features/ssms-templates/Sql/Service Broker/Priority/Create Broker Priority.sql b/samples/features/ssms-templates/Sql/Service Broker/Priority/Create Broker Priority.sql new file mode 100644 index 00000000..cd49ae6a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Priority/Create Broker Priority.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Create the Broker Priority Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE BROKER PRIORITY +FOR CONVERSATION +SET ( CONTRACT_NAME = , + LOCAL_SERVICE_NAME = , + REMOTE_SERVICE_NAME = N'' , + PRIORITY_LEVEL = +) diff --git a/samples/features/ssms-templates/Sql/Service Broker/Priority/Drop Broker Priority.sql b/samples/features/ssms-templates/Sql/Service Broker/Priority/Drop Broker Priority.sql new file mode 100644 index 00000000..2df6c185 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Priority/Drop Broker Priority.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Drop the Broker Priority Template +-- ============================================= + +DROP BROKER PRIORITY + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Queue/Create Queue with Activation.sql b/samples/features/ssms-templates/Sql/Service Broker/Queue/Create Queue with Activation.sql new file mode 100644 index 00000000..51409788 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Queue/Create Queue with Activation.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Create Queue with Activation Template +-- ============================================= +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE QUEUE + WITH + STATUS = ON, + RETENTION = OFF , + ACTIVATION ( + STATUS = ON, + PROCEDURE_NAME = , + MAX_QUEUE_READERS = , + EXECUTE AS ), + POISON_MESSAGE_HANDLING (STATUS = ON) + ON \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Service Broker/Queue/Create Queue.sql b/samples/features/ssms-templates/Sql/Service Broker/Queue/Create Queue.sql new file mode 100644 index 00000000..9b695480 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Queue/Create Queue.sql @@ -0,0 +1,5 @@ +-- ============================================= +-- Basic Create Queue Template +-- ============================================= + +CREATE QUEUE diff --git a/samples/features/ssms-templates/Sql/Service Broker/Queue/Drop Queue.sql b/samples/features/ssms-templates/Sql/Service Broker/Queue/Drop Queue.sql new file mode 100644 index 00000000..f7064c49 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Queue/Drop Queue.sql @@ -0,0 +1,5 @@ +-- ============================================= +-- Basic Drop Queue Template +-- ============================================= + +DROP QUEUE diff --git a/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn Off Activation.sql b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn Off Activation.sql new file mode 100644 index 00000000..362bfd78 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn Off Activation.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Turn Activation Off Template +-- ============================================= + +ALTER QUEUE + WITH ACTIVATION ( STATUS = OFF ) diff --git a/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn Off Queue.sql b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn Off Queue.sql new file mode 100644 index 00000000..fe9089e7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn Off Queue.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Turn Queue Off Template +-- ============================================= + +ALTER QUEUE + WITH STATUS = OFF diff --git a/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn On Activation.sql b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn On Activation.sql new file mode 100644 index 00000000..354ab917 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn On Activation.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Turn Activation ON Template +-- ============================================= + +ALTER QUEUE + WITH ACTIVATION ( STATUS = ON ) diff --git a/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn On Queue.sql b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn On Queue.sql new file mode 100644 index 00000000..4e024deb --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Queue/Turn On Queue.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Turn Queue On Template +-- ============================================= + +ALTER QUEUE + WITH STATUS = ON diff --git a/samples/features/ssms-templates/Sql/Service Broker/Route/Change Database Mirror Route Address.sql b/samples/features/ssms-templates/Sql/Service Broker/Route/Change Database Mirror Route Address.sql new file mode 100644 index 00000000..fff2399a --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Route/Change Database Mirror Route Address.sql @@ -0,0 +1,9 @@ + +-- ============================================= +-- Change Mirror Route Address Template +-- ============================================= + +ALTER ROUTE WITH + MIRROR_ADDRESS = N'' + + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Route/Change Route Address.sql b/samples/features/ssms-templates/Sql/Service Broker/Route/Change Route Address.sql new file mode 100644 index 00000000..8af16f97 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Route/Change Route Address.sql @@ -0,0 +1,8 @@ + +-- ============================================= +-- Change Route Address Template +-- ============================================= + +ALTER ROUTE WITH + ADDRESS = N'' + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Route/Create Database Mirror Route.sql b/samples/features/ssms-templates/Sql/Service Broker/Route/Create Database Mirror Route.sql new file mode 100644 index 00000000..4ebd38d9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Route/Create Database Mirror Route.sql @@ -0,0 +1,21 @@ + +-- ============================================= +-- Basic Create Route to Database Mirror Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE ROUTE +AUTHORIZATION +WITH + SERVICE_NAME = N'', + BROKER_INSTANCE = + N'' , + LIFETIME = , + ADDRESS = N'', + MIRROR_ADDRESS = N'' + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Route/Create Route.sql b/samples/features/ssms-templates/Sql/Service Broker/Route/Create Route.sql new file mode 100644 index 00000000..80d42e31 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Route/Create Route.sql @@ -0,0 +1,10 @@ +-- ============================================= +-- Basic Create Route Template +-- ============================================= + +CREATE ROUTE +WITH + SERVICE_NAME = N'', + BROKER_INSTANCE = + N'' , + ADDRESS = N'' diff --git a/samples/features/ssms-templates/Sql/Service Broker/Route/Drop Route.sql b/samples/features/ssms-templates/Sql/Service Broker/Route/Drop Route.sql new file mode 100644 index 00000000..74d47bf4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Route/Drop Route.sql @@ -0,0 +1,5 @@ +-- ============================================= +-- Basic Drop Route Template +-- ============================================= + +DROP ROUTE diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Change Remote Service Binding User.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Change Remote Service Binding User.sql new file mode 100644 index 00000000..6c127f38 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Change Remote Service Binding User.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Change Remote Service Binding User Template +-- ============================================= + +ALTER REMOTE SERVICE BINDING [] + WITH USER = [] diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Create Anonymous Remote Service Binding.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Anonymous Remote Service Binding.sql new file mode 100644 index 00000000..70fd6147 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Anonymous Remote Service Binding.sql @@ -0,0 +1,9 @@ + +-- ============================================= +-- Create Anonymous Remote Service Binding Template +-- ============================================= + +CREATE REMOTE SERVICE BINDING [] + TO SERVICE N'' + WITH USER = [], ANONYMOUS = ON + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Create Private Key Certificate.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Private Key Certificate.sql new file mode 100644 index 00000000..c0e0df7c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Private Key Certificate.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Create Private Key Certificate Template +-- ============================================= + +CREATE CERTIFICATE + AUTHORIZATION + FROM FILE = '' + WITH PRIVATE_KEY (FILE = '', DECRYPTION_PASSWORD = '') diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Create Public Key Certificate.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Public Key Certificate.sql new file mode 100644 index 00000000..6fac083b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Public Key Certificate.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Create Public Key Certificate Template +-- ============================================= + +CREATE CERTIFICATE + AUTHORIZATION + FROM FILE = '' + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Create Remote Service Binding.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Remote Service Binding.sql new file mode 100644 index 00000000..c662a703 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Create Remote Service Binding.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Basic Create Remote Service Binding Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE REMOTE SERVICE BINDING [] + AUTHORIZATION + TO SERVICE N'' + WITH USER = [] + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Drop Certificate.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Drop Certificate.sql new file mode 100644 index 00000000..305ff7d1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Drop Certificate.sql @@ -0,0 +1,5 @@ +-- ============================================= +-- Basic Drop Certificate Template +-- ============================================= + +DROP CERTIFICATE diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Drop Remote Service Binding.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Drop Remote Service Binding.sql new file mode 100644 index 00000000..af069c62 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Drop Remote Service Binding.sql @@ -0,0 +1,6 @@ + +-- ============================================= +-- Basic Drop Remote Service Binding Template +-- ============================================= + +DROP REMOTE SERVICE BINDING [] diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Grant Receive.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Grant Receive.sql new file mode 100644 index 00000000..ea091a3c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Grant Receive.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Grant Receive on Queue Template +-- ============================================= + +GRANT RECEIVE ON [] + TO [] diff --git a/samples/features/ssms-templates/Sql/Service Broker/Security/Grant Send.sql b/samples/features/ssms-templates/Sql/Service Broker/Security/Grant Send.sql new file mode 100644 index 00000000..e857971b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Security/Grant Send.sql @@ -0,0 +1,6 @@ +-- ============================================= +-- Grant Send on Service Template +-- ============================================= + +GRANT SEND ON SERVICE::[] + TO [] diff --git a/samples/features/ssms-templates/Sql/Service Broker/Service/Add Contract To Service.sql b/samples/features/ssms-templates/Sql/Service Broker/Service/Add Contract To Service.sql new file mode 100644 index 00000000..2715ae8c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Service/Add Contract To Service.sql @@ -0,0 +1,9 @@ + +-- ============================================= +-- Add contract to service Template +-- ============================================= + +ALTER SERVICE [] + ( ADD CONTRACT ) + + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Service/Create Initiator Service.sql b/samples/features/ssms-templates/Sql/Service Broker/Service/Create Initiator Service.sql new file mode 100644 index 00000000..1cbf4352 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Service/Create Initiator Service.sql @@ -0,0 +1,15 @@ + +-- ============================================= +-- Basic Create Initiator Service Template +-- ============================================= + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE SERVICE [] +AUTHORIZATION +ON QUEUE +([DEFAULT]) diff --git a/samples/features/ssms-templates/Sql/Service Broker/Service/Create Target Service.sql b/samples/features/ssms-templates/Sql/Service Broker/Service/Create Target Service.sql new file mode 100644 index 00000000..6b20d920 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Service/Create Target Service.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Basic Create Target Service Template +-- ============================================= + +CREATE SERVICE [] + ON QUEUE + ( ) + diff --git a/samples/features/ssms-templates/Sql/Service Broker/Service/Drop Service.sql b/samples/features/ssms-templates/Sql/Service Broker/Service/Drop Service.sql new file mode 100644 index 00000000..2bf31253 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Service Broker/Service/Drop Service.sql @@ -0,0 +1,5 @@ +-- ============================================= +-- Basic Drop Service Template +-- ============================================= + +DROP SERVICE [] diff --git a/samples/features/ssms-templates/Sql/Sql.vsdir b/samples/features/ssms-templates/Sql/Sql.vsdir new file mode 100644 index 00000000..b057baee --- /dev/null +++ b/samples/features/ssms-templates/Sql/Sql.vsdir @@ -0,0 +1 @@ +SQLFile.sql|{C3507EB2-B615-4870-BCDB-10990EED0CC4}|#140|1|#141|0|0|0|#142 diff --git a/samples/features/ssms-templates/Sql/Statistics/Create Filtered Statistics.sql b/samples/features/ssms-templates/Sql/Statistics/Create Filtered Statistics.sql new file mode 100644 index 00000000..31ce12d4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Statistics/Create Filtered Statistics.sql @@ -0,0 +1,13 @@ +-- ================================================== +-- Create Filtered Statistics Template +-- ================================================== + +CREATE STATISTICS +ON . +( + , + +) +WHERE <@comparison_operator,,@operator> <@value,sysname,@val> + +GO diff --git a/samples/features/ssms-templates/Sql/Statistics/Create Fullscan Norecompute Statistics.sql b/samples/features/ssms-templates/Sql/Statistics/Create Fullscan Norecompute Statistics.sql new file mode 100644 index 00000000..fa7e18e1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Statistics/Create Fullscan Norecompute Statistics.sql @@ -0,0 +1,15 @@ +-- ================================================== +-- Create Fullscan Norecompute Statistics Template +-- ================================================== +-- Note: Statistics created with NORECOMPUTE are not updated by SQL Server's +-- automatic statistics update feature (auto-stats). Therefore, they many cause +-- suboptimal plans. +CREATE STATISTICS +ON . +( + , + +) +WITH FULLSCAN, NORECOMPUTE; +GO + diff --git a/samples/features/ssms-templates/Sql/Statistics/Create Fullscan Statistics.sql b/samples/features/ssms-templates/Sql/Statistics/Create Fullscan Statistics.sql new file mode 100644 index 00000000..3a040a01 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Statistics/Create Fullscan Statistics.sql @@ -0,0 +1,11 @@ +-- ====================================== +-- Create Fullscan Statistics Template +-- ====================================== +CREATE STATISTICS +ON . +( + , + +) +WITH FULLSCAN; +GO diff --git a/samples/features/ssms-templates/Sql/Statistics/Create Sampled Statistics.sql b/samples/features/ssms-templates/Sql/Statistics/Create Sampled Statistics.sql new file mode 100644 index 00000000..f9cc36a7 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Statistics/Create Sampled Statistics.sql @@ -0,0 +1,13 @@ +-- ====================================== +-- Create Sampled Statistics Template +-- ====================================== +CREATE STATISTICS +ON . +( + , + +) +WITH SAMPLE PERCENT; +GO +-- Instead of PERCENT, you can say ROWS to specify the number of rows to sample. + diff --git a/samples/features/ssms-templates/Sql/Statistics/Drop Statistics.sql b/samples/features/ssms-templates/Sql/Statistics/Drop Statistics.sql new file mode 100644 index 00000000..aeb9a9ae --- /dev/null +++ b/samples/features/ssms-templates/Sql/Statistics/Drop Statistics.sql @@ -0,0 +1,17 @@ +-- =========================== +-- Drop Statistics Template +-- =========================== +IF EXISTS ( + SELECT * + FROM sys.stats + JOIN sys.tables + ON sys.stats.object_id = sys.tables.object_id + JOIN sys.schemas + ON sys.tables.schema_id = sys.schemas.schema_id + WHERE sys.schemas.name = N'' + AND sys.tables.name = N'' + AND sys.stats.name = N'' +) + +DROP STATISTICS ..; +GO diff --git a/samples/features/ssms-templates/Sql/Statistics/Update All Statistics For Table.sql b/samples/features/ssms-templates/Sql/Statistics/Update All Statistics For Table.sql new file mode 100644 index 00000000..91de0a10 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Statistics/Update All Statistics For Table.sql @@ -0,0 +1,8 @@ +-- =========================================== +-- Update All Statistics For Table Template +-- =========================================== + +-- All statistics on the table . +-- will be updated. +UPDATE STATISTICS .; +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Statistics/Update Statistics One Index.sql b/samples/features/ssms-templates/Sql/Statistics/Update Statistics One Index.sql new file mode 100644 index 00000000..cb0128ed --- /dev/null +++ b/samples/features/ssms-templates/Sql/Statistics/Update Statistics One Index.sql @@ -0,0 +1,5 @@ +-- ======================================= +-- Update Statistics One Index Template +-- ======================================= +UPDATE STATISTICS .(); +GO diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/Alter Natively Compiled Stored Procedure.sql b/samples/features/ssms-templates/Sql/Stored Procedure/Alter Natively Compiled Stored Procedure.sql new file mode 100644 index 00000000..1187f250 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/Alter Natively Compiled Stored Procedure.sql @@ -0,0 +1,24 @@ +--====================================================== +-- Alter Natively Compiled Stored Procedure Template +--====================================================== + +ALTER PROCEDURE . + -- Add the parameters for the stored procedure here + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> = +WITH NATIVE_COMPILATION, SCHEMABINDING +AS BEGIN ATOMIC WITH +( +TRANSACTION ISOLATION LEVEL = , LANGUAGE = +) + --Insert statements for the stored procedure here +SELECT <@param1, sysname, @p1>, <@param2, sysname, @p2> +END +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +EXECUTE . , +GO + diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/Create Natively Compiled Stored Procedure.sql b/samples/features/ssms-templates/Sql/Stored Procedure/Create Natively Compiled Stored Procedure.sql new file mode 100644 index 00000000..2b2654b1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/Create Natively Compiled Stored Procedure.sql @@ -0,0 +1,31 @@ +--====================================================== +-- Create Natively Compiled Stored Procedure Template +--====================================================== + +USE +GO + +-- Drop stored procedure if it already exists +IF OBJECT_ID('.','P') IS NOT NULL + DROP PROCEDURE . +GO + +CREATE PROCEDURE . + -- Add the parameters for the stored procedure here + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> = +WITH NATIVE_COMPILATION, SCHEMABINDING +AS BEGIN ATOMIC WITH +( + TRANSACTION ISOLATION LEVEL = , LANGUAGE = +) + --Insert statements for the stored procedure here + SELECT <@param1, sysname, @p1>, <@param2, sysname, @p2> +END +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +EXECUTE . , +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure Basic Template.sql b/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure Basic Template.sql new file mode 100644 index 00000000..503a0cf6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure Basic Template.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Create basic stored procedure template +-- ============================================= + +-- Drop stored procedure if it already exists +IF EXISTS ( + SELECT * + FROM INFORMATION_SCHEMA.ROUTINES + WHERE SPECIFIC_SCHEMA = N'' + AND SPECIFIC_NAME = N'' +) + DROP PROCEDURE . +GO + +CREATE PROCEDURE . + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> = +AS + SELECT @p1, @p2 +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +EXECUTE . , +GO diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure with CURSOR OUTPUT Parameter.sql b/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure with CURSOR OUTPUT Parameter.sql new file mode 100644 index 00000000..39d5a241 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure with CURSOR OUTPUT Parameter.sql @@ -0,0 +1,40 @@ +-- ======================================================= +-- Create stored procedure with CURSOR OUTPUT parameters +-- ======================================================= + +-- Drop stored procedure if it already exists +IF EXISTS ( + SELECT * + FROM INFORMATION_SCHEMA.ROUTINES + WHERE SPECIFIC_SCHEMA = N'' + AND SPECIFIC_NAME = N'' +) + DROP PROCEDURE . +GO + +CREATE PROCEDURE . + <@proc_cursor_name, , @sample_procedure_cursor> CURSOR VARYING OUTPUT +AS + SET <@proc_cursor_name, , @sample_procedure_cursor> = CURSOR FOR + + OPEN <@proc_cursor_name, , @sample_procedure_cursor> +GO + + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +DECLARE <@variable_cursor_name, , @test_cursor_variable> CURSOR + +EXEC . <@proc_cursor_name, , @sample_procedure_cursor> = <@variable_cursor_name, , @test_cursor_variable> OUTPUT + +WHILE (@@FETCH_STATUS = 0) +BEGIN + FETCH NEXT FROM <@variable_cursor_name, , @test_cursor_variable> + PRINT 'put user defined code here' +END + +CLOSE <@variable_cursor_name, , @test_cursor_variable> + +DEALLOCATE <@variable_cursor_name, , @test_cursor_variable> +GO diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure with OUTPUT Parameter.sql b/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure with OUTPUT Parameter.sql new file mode 100644 index 00000000..da777c61 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/Create Procedure with OUTPUT Parameter.sql @@ -0,0 +1,30 @@ +-- =============================================== +-- Create stored procedure with OUTPUT parameters +-- =============================================== +-- Drop stored procedure if it already exists +IF EXISTS ( + SELECT * + FROM INFORMATION_SCHEMA.ROUTINES + WHERE SPECIFIC_SCHEMA = N'' + AND SPECIFIC_NAME = N'' +) + DROP PROCEDURE . +GO + +CREATE PROCEDURE . + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> OUTPUT +AS + SELECT @p2 = @p2 + @p1 +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +DECLARE <@variable_for_output_parameter, sysname, @p2_output> + +EXECUTE . , <@variable_for_output_parameter, sysname, @p2_output> OUTPUT + +SELECT <@variable_for_output_parameter, sysname, @p2_output> +GO + diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/Create Stored Procedure (New Menu).sql b/samples/features/ssms-templates/Sql/Stored Procedure/Create Stored Procedure (New Menu).sql new file mode 100644 index 00000000..af6446ac --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/Create Stored Procedure (New Menu).sql @@ -0,0 +1,34 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Procedure (New Menu).SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the procedure. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE + -- Add the parameters for the stored procedure here + <@Param1, sysname, @p1> = , + <@Param2, sysname, @p2> = +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2> +END +GO diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/alter stored procedure.sql b/samples/features/ssms-templates/Sql/Stored Procedure/alter stored procedure.sql new file mode 100644 index 00000000..4c1fe6f5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/alter stored procedure.sql @@ -0,0 +1,16 @@ +-- ================================== +-- Alter Stored Procedure Template +-- ================================== + +ALTER PROCEDURE . + <@param1, sysname, @p1> = , + <@param2, sysname, @p2> = +AS + SELECT @p1, @p2 +GO + +-- ============================================= +-- Example to execute the stored procedure +-- ============================================= +EXECUTE . , +GO diff --git a/samples/features/ssms-templates/Sql/Stored Procedure/drop stored procedure.sql b/samples/features/ssms-templates/Sql/Stored Procedure/drop stored procedure.sql new file mode 100644 index 00000000..3fac4892 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Stored Procedure/drop stored procedure.sql @@ -0,0 +1,13 @@ +-- ======================================================= +-- Drop Stored Procedure +-- ======================================================= + +-- Drop stored procedure if it already exists +IF EXISTS ( + SELECT * + FROM INFORMATION_SCHEMA.ROUTINES + WHERE SPECIFIC_SCHEMA = N'' + AND SPECIFIC_NAME = N'' +) + DROP PROCEDURE . +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Synonym/Create Synonym.sql b/samples/features/ssms-templates/Sql/Synonym/Create Synonym.sql new file mode 100644 index 00000000..c42e777e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Synonym/Create Synonym.sql @@ -0,0 +1,6 @@ +--=========================== +-- Create synonym template +--=========================== +CREATE SYNONYM + FOR .. +GO diff --git a/samples/features/ssms-templates/Sql/Synonym/Drop Synonym.sql b/samples/features/ssms-templates/Sql/Synonym/Drop Synonym.sql new file mode 100644 index 00000000..983bc270 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Synonym/Drop Synonym.sql @@ -0,0 +1,10 @@ +--=========================== +-- Drop synonym template +--=========================== +IF EXISTS( + SELECT * + FROM sys.synonyms + WHERE name = N'' +) +DROP SYNONYM +GO diff --git a/samples/features/ssms-templates/Sql/Table/Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table Linux.sql b/samples/features/ssms-templates/Sql/Table/Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table Linux.sql new file mode 100644 index 00000000..6f3119c9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table Linux.sql @@ -0,0 +1,38 @@ +--====================================================== +-- Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a MEMORY_OPTIMIZED_DATA filegroup to the database, and creates a memory optimized table and indexes on the memory optimized table. +-- The database must have a MEMORY_OPTIMIZED_DATA filegroup before the memory optimized table can be created. +--====================================================== + +USE +GO + +--Add MEMORY_OPTIMIZED_DATA filegroup to the database. +ALTER DATABASE +ADD FILEGROUP CONTAINS MEMORY_OPTIMIZED_DATA + +--Add file to the MEMORY_OPTIMIZED_DATA filegroup. +ALTER DATABASE +ADD FILE + ( NAME = , + FILENAME = N'') +TO FILEGROUP + +--Drop table if it already exists. +IF OBJECT_ID('.','U') IS NOT NULL + DROP TABLE . +GO + +--Create memory optimized table and indexes on the memory optimized table. +CREATE TABLE . +( + , + , + INDEX NONCLUSTERED (), + + CONSTRAINT PRIMARY KEY NONCLUSTERED (), + -- See SQL Server Books Online for guidelines on determining appropriate bucket count for the index + INDEX HASH () WITH (BUCKET_COUNT = ) +) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = ) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table.sql b/samples/features/ssms-templates/Sql/Table/Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table.sql new file mode 100644 index 00000000..c8853425 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table.sql @@ -0,0 +1,38 @@ +--====================================================== +-- Add MEMORY_OPTIMIZED_DATA Filegroup and Create Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a MEMORY_OPTIMIZED_DATA filegroup to the database, and creates a memory optimized table and indexes on the memory optimized table. +-- The database must have a MEMORY_OPTIMIZED_DATA filegroup before the memory optimized table can be created. +--====================================================== + +USE +GO + +--Add MEMORY_OPTIMIZED_DATA filegroup to the database. +ALTER DATABASE +ADD FILEGROUP CONTAINS MEMORY_OPTIMIZED_DATA + +--Add file to the MEMORY_OPTIMIZED_DATA filegroup. +ALTER DATABASE +ADD FILE + ( NAME = , + FILENAME = N'') +TO FILEGROUP + +--Drop table if it already exists. +IF OBJECT_ID('.','U') IS NOT NULL + DROP TABLE . +GO + +--Create memory optimized table and indexes on the memory optimized table. +CREATE TABLE . +( + , + , + INDEX NONCLUSTERED (), + + CONSTRAINT PRIMARY KEY NONCLUSTERED (), + -- See SQL Server Books Online for guidelines on determining appropriate bucket count for the index + INDEX HASH () WITH (BUCKET_COUNT = ) +) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = ) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Check Constraint.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Check Constraint.sql new file mode 100644 index 00000000..65521898 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Check Constraint.sql @@ -0,0 +1,12 @@ +--====================================================== +-- Add CHECK Constraint to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a constraint to a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ADD CONSTRAINT + CHECK ( ) +GO diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Column.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Column.sql new file mode 100644 index 00000000..2a35c23f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Column.sql @@ -0,0 +1,11 @@ +--====================================================== +-- Add Column to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a column to a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ADD +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Constraint.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Constraint.sql new file mode 100644 index 00000000..ade6e28d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Constraint.sql @@ -0,0 +1,11 @@ +--====================================================== +-- Add Constraint to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a constraint to a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ADD CONSTRAINT () FOR +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Foreign Key.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Foreign Key.sql new file mode 100644 index 00000000..645e983e --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Foreign Key.sql @@ -0,0 +1,13 @@ +--====================================================== +-- Add Foreign Key Constraint to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a constraint to a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ADD CONSTRAINT + FOREIGN KEY([]) + REFERENCES [].[] ([]) +GO diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Hash Index.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Hash Index.sql new file mode 100644 index 00000000..3af23ae0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Hash Index.sql @@ -0,0 +1,11 @@ +--====================================================== +-- Add Hash Index to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a hash index to a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ADD INDEX HASH () WITH (BUCKET_COUNT = ) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Key.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Key.sql new file mode 100644 index 00000000..e1ee5c8f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Key.sql @@ -0,0 +1,11 @@ +--====================================================== +-- Add Primary Key to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a primary key to a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ADD CONSTRAINT PRIMARY KEY () +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Non Clustered Index.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Non Clustered Index.sql new file mode 100644 index 00000000..9b84f85f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Non Clustered Index.sql @@ -0,0 +1,11 @@ +--====================================================== +-- Add Non Clustered Index to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a non clustered index to a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ADD INDEX NONCLUSTERED () +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Trigger.sql b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Trigger.sql new file mode 100644 index 00000000..a5679bd4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Memory Optimized Trigger.sql @@ -0,0 +1,20 @@ +--====================================================== +-- Add Trigger to a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds a trigger to a memory optimized table. +--====================================================== +USE [] +GO + +CREATE TRIGGER [].[] + ON [].[] + WITH NATIVE_COMPILATION, SCHEMABINDING + AFTER +AS BEGIN ATOMIC WITH +( + TRANSACTION ISOLATION LEVEL = , LANGUAGE = +) + --Insert statements for the trigger here + +END +GO diff --git a/samples/features/ssms-templates/Sql/Table/Add System-Versioning.sql b/samples/features/ssms-templates/Sql/Table/Add System-Versioning.sql new file mode 100644 index 00000000..4db1f0c0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add System-Versioning.sql @@ -0,0 +1,20 @@ +--====================================================== +-- Adds temporal system-versioning to the table template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template adds temporal system-versioning to the table +--====================================================== + +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL +BEGIN + ALTER TABLE [].[] + ADD datetime2(7) GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, + datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, + PERIOD FOR SYSTEM_TIME(,) + + ALTER TABLE [].[] + SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [].[])) + END +GO diff --git a/samples/features/ssms-templates/Sql/Table/Add Unique Constraint.sql b/samples/features/ssms-templates/Sql/Table/Add Unique Constraint.sql new file mode 100644 index 00000000..bae5187c --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Add Unique Constraint.sql @@ -0,0 +1,6 @@ +--====================== +-- Add Unique Constraint template +--====================== +ALTER TABLE . +ADD CONSTRAINT UNIQUE () +GO diff --git a/samples/features/ssms-templates/Sql/Table/Create External Table.sql b/samples/features/ssms-templates/Sql/Table/Create External Table.sql new file mode 100644 index 00000000..4a014246 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create External Table.sql @@ -0,0 +1,26 @@ +-- ============================== +-- Create External Table Template +-- ============================== +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP EXTERNAL TABLE . +GO + +CREATE EXTERNAL TABLE . +( + , + , + +) +WITH +( + LOCATION = N'', + DATA_SOURCE = , + FILE_FORMAT = , + REJECT_TYPE = , + REJECT_VALUE = , + REJECT_SAMPLE_VALUE = +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Create FileTable.sql b/samples/features/ssms-templates/Sql/Table/Create FileTable.sql new file mode 100644 index 00000000..c5590389 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create FileTable.sql @@ -0,0 +1,17 @@ +-- ========================================= +-- Create FileTable template +-- ========================================= +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . AS FILETABLE + WITH + ( + FILETABLE_DIRECTORY = '', + FILETABLE_COLLATE_FILENAME = + ) +GO diff --git a/samples/features/ssms-templates/Sql/Table/Create Graph Edge Table.sql b/samples/features/ssms-templates/Sql/Table/Create Graph Edge Table.sql new file mode 100644 index 00000000..c56b10e4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create Graph Edge Table.sql @@ -0,0 +1,28 @@ +-- ========================================= +-- Create Graph Edge Template +-- ========================================= +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + -- Columns are optional for Edge Tables. + -- + , + , + , + + -- Unique index on $edge_id is required. + -- If no user-defined index is specified, a default index is created. + INDEX ix_graphid UNIQUE ($edge_id), + + -- indexes on $from_id and $to_id are optional, but support faster lookups. + INDEX ix_fromid ($from_id, $to_id), + INDEX ix_toid ($to_id, $from_id) +) +AS EDGE +GO diff --git a/samples/features/ssms-templates/Sql/Table/Create Graph Node Table.sql b/samples/features/ssms-templates/Sql/Table/Create Graph Node Table.sql new file mode 100644 index 00000000..89c7cb2d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create Graph Node Table.sql @@ -0,0 +1,22 @@ +-- ========================================= +-- Create Graph Node Template +-- ========================================= +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + , + + -- Unique index on $node_id is required. + -- If no user-defined index is specified, a default index is created. + INDEX ix_graphid UNIQUE ($node_id) +) +AS NODE +GO diff --git a/samples/features/ssms-templates/Sql/Table/Create Memory Optimized System-Versioned Table.sql b/samples/features/ssms-templates/Sql/Table/Create Memory Optimized System-Versioned Table.sql new file mode 100644 index 00000000..2061a1cd --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create Memory Optimized System-Versioned Table.sql @@ -0,0 +1,60 @@ +-- ====================================================== +-- Create Memory Optimized System-Versioned Temporal Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- +-- This template creates a memory optimized system-versioned temporal table and indexes on the memory optimized table. +-- +-- The database must have a MEMORY_OPTIMIZED_DATA filegroup before the memory optimized table can be created. +-- To learn about prerequistes for creating memory-optimized tables, take a look at "Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure": +-- https://msdn.microsoft.com/en-us/library/dn133079.aspx +-- +-- For more details on system-versioned temporal tables please refer to MSDN documentation: +-- https://msdn.microsoft.com/en-IN/library/dn935015.aspx#Anchor_0 +-- +-- To learn more how to use system-versioned tables in your applications, take a look at "Getting Started with System-Versioned Temporal Tables": +-- https://msdn.microsoft.com/en-US/library/mt604462.aspx +-- ========================================= + +USE +GO + +BEGIN + IF ((SELECT temporal_type FROM SYS.TABLES WHERE object_id = OBJECT_ID('.', 'U')) = 2) + BEGIN + ALTER TABLE [].[] SET (SYSTEM_VERSIONING = OFF) + END + DROP TABLE IF EXISTS [].[] +END +GO + +CREATE TABLE . +( + , + , + INDEX NONCLUSTERED (), + + --Period columns and PERIOD FOR SYSTEM_TIME definition + datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL, + datetime2(7) GENERATED ALWAYS AS ROW END NOT NULL, + PERIOD FOR SYSTEM_TIME(,), + + --Primary key definition + CONSTRAINT PRIMARY KEY NONCLUSTERED (), + + -- See SQL Server Books Online for guidelines on determining appropriate bucket count for the index + INDEX HASH () WITH (BUCKET_COUNT = ) +) +WITH +( + MEMORY_OPTIMIZED = ON, + DURABILITY = , + --Set SYSTEM_VERSIONING to ON and provide reference to HISTORY_TABLE. + SYSTEM_VERSIONING = ON + ( + --If HISTORY_TABLE does not exists, default table will be created. + HISTORY_TABLE = [].[], + --Specifies whether data consistency check will be performed across current and history tables (default is ON) + DATA_CONSISTENCY_CHECK = + ) +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Create Memory Optimized Table.sql b/samples/features/ssms-templates/Sql/Table/Create Memory Optimized Table.sql new file mode 100644 index 00000000..acb86816 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create Memory Optimized Table.sql @@ -0,0 +1,26 @@ +--====================================================== +-- Create Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template creates a memory optimized table and indexes on the memory optimized table. +-- The database must have a MEMORY_OPTIMIZED_DATA filegroup before the memory optimized table can be created. +--====================================================== + +USE +GO + +--Drop table if it already exists. +IF OBJECT_ID('.','U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + INDEX NONCLUSTERED (), + + CONSTRAINT PRIMARY KEY NONCLUSTERED (), + -- See SQL Server Books Online for guidelines on determining appropriate bucket count for the index + INDEX HASH () WITH (BUCKET_COUNT = ) +) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = ) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Create System-Versioned Table.sql b/samples/features/ssms-templates/Sql/Table/Create System-Versioned Table.sql new file mode 100644 index 00000000..420f0300 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create System-Versioned Table.sql @@ -0,0 +1,53 @@ +-- ========================================= +-- Create system-versioned temporal table template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- +-- This template creates a system-versioned temporal table. +-- +-- For more details on system-versioned temporal tables please refer to MSDN documentation: +-- https://msdn.microsoft.com/en-IN/library/dn935015.aspx#Anchor_0 +-- +-- To learn more how to use system-versioned tables in your applications, take a look at "Getting Started with System-Versioned Temporal Tables": +-- https://msdn.microsoft.com/en-US/library/mt604462.aspx +-- ========================================= + +USE +GO + +BEGIN + --If table is system-versioned, SYSTEM_VERSIONING must be set to OFF first + IF ((SELECT temporal_type FROM SYS.TABLES WHERE object_id = OBJECT_ID('.', 'U')) = 2) + BEGIN + ALTER TABLE [].[] SET (SYSTEM_VERSIONING = OFF) + END + DROP TABLE IF EXISTS [].[] +END +GO + +--Create system-versioned temporal table. It must have primary key and two datetime2 columns that are part of SYSTEM_TIME period definition +CREATE TABLE [].[] +( + , + , + , + + --Period columns and PERIOD FOR SYSTEM_TIME definition + datetime2(7) GENERATED ALWAYS AS ROW START NOT NULL , + datetime2(7) GENERATED ALWAYS AS ROW END NOT NULL , + PERIOD FOR SYSTEM_TIME(,), + + --Primary key definition + CONSTRAINT PRIMARY KEY () +) +WITH +( + --Set SYSTEM_VERSIONING to ON and provide reference to HISTORY_TABLE. + SYSTEM_VERSIONING = ON + ( + --If HISTORY_TABLE does not exists, default table will be created. + HISTORY_TABLE = [].[], + --Specifies whether data consistency check will be performed across current and history tables (default is ON) + DATA_CONSISTENCY_CHECK = + ) +) +GO diff --git a/samples/features/ssms-templates/Sql/Table/Create Table with filestream column.sql b/samples/features/ssms-templates/Sql/Table/Create Table with filestream column.sql new file mode 100644 index 00000000..19267624 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create Table with filestream column.sql @@ -0,0 +1,20 @@ +-- ========================================= +-- Create table with filestream column +-- ========================================= +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + , + varbinary(max) filestream , + uniqueidentifier NOT NULL rowguidcol unique, + CONSTRAINT PRIMARY KEY () +) +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Create Table.sql b/samples/features/ssms-templates/Sql/Table/Create Table.sql new file mode 100644 index 00000000..23957ad3 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Create Table.sql @@ -0,0 +1,18 @@ +-- ========================================= +-- Create table template +-- ========================================= +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + , + , + , + CONSTRAINT PRIMARY KEY () +) +GO diff --git a/samples/features/ssms-templates/Sql/Table/Drop External Table.sql b/samples/features/ssms-templates/Sql/Table/Drop External Table.sql new file mode 100644 index 00000000..d9e8283f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Drop External Table.sql @@ -0,0 +1,13 @@ +--=================================== +-- Drop external table template +--=================================== +IF EXISTS ( + SELECT * + FROM sys.tables + JOIN sys.schemas + ON sys.tables.schema_id = sys.schemas.schema_id + WHERE sys.schemas.name = N'' + AND sys.tables.name = N'' +) +DROP EXTERNAL TABLE . +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/Modify Memory Optimized Column.sql b/samples/features/ssms-templates/Sql/Table/Modify Memory Optimized Column.sql new file mode 100644 index 00000000..c917b2c9 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/Modify Memory Optimized Column.sql @@ -0,0 +1,11 @@ +--====================================================== +-- Modify Column on a Memory Optimized Table Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template modifies a column on a memory optimized table. +--====================================================== +USE [] +GO + +ALTER TABLE [].[] + ALTER COLUMN +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/Table/add column.sql b/samples/features/ssms-templates/Sql/Table/add column.sql new file mode 100644 index 00000000..b17ba6f0 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/add column.sql @@ -0,0 +1,23 @@ +--========================================================================== +-- Add column template +-- +-- This template creates a table, then it adds a new column to the table. +--========================================================================== +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + column1 int NOT NULL, + column2 char(10) NULL +) +GO + +-- Add a new column to the table +ALTER TABLE . + ADD +GO diff --git a/samples/features/ssms-templates/Sql/Table/add constraint.sql b/samples/features/ssms-templates/Sql/Table/add constraint.sql new file mode 100644 index 00000000..bb5b0931 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/add constraint.sql @@ -0,0 +1,25 @@ +-- =========================================== +-- Add constraint template +-- +-- This template creates a table, then it +-- adds a CHECK CONSTRAINT to the table +-- =========================================== +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + column1 int NOT NULL, + char(8) NOT NULL +) +GO + +-- Add a new CHECK CONSTRAINT to the table +ALTER TABLE . + ADD CONSTRAINT ( +GO + diff --git a/samples/features/ssms-templates/Sql/Table/add filestream column.sql b/samples/features/ssms-templates/Sql/Table/add filestream column.sql new file mode 100644 index 00000000..5cc1102b --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/add filestream column.sql @@ -0,0 +1,23 @@ +--========================================================================== +-- Add filestream column template +-- +-- This template creates a table, then it adds a new filestream column to the table. +--========================================================================== +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + column1 int NOT NULL, + column2 uniqueidentifier NOT NULL rowguidcol unique +) +GO + +-- Add a new column to the table +ALTER TABLE . + ADD varbinary(max) filestream +GO diff --git a/samples/features/ssms-templates/Sql/Table/add key.sql b/samples/features/ssms-templates/Sql/Table/add key.sql new file mode 100644 index 00000000..09593c99 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/add key.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Add Key template +-- +-- This template creates a table, then it +-- adds a PRIMARY KEY constraint to the table +-- ============================================= +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + int NOT NULL, + column2 char(8) NOT NULL +) +GO + +-- Add a new PRIMARY KEY CONSTRAINT to the table +ALTER TABLE . + ADD CONSTRAINT PRIMARY KEY () +GO diff --git a/samples/features/ssms-templates/Sql/Table/drop column.sql b/samples/features/ssms-templates/Sql/Table/drop column.sql new file mode 100644 index 00000000..8b55b05d --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/drop column.sql @@ -0,0 +1,25 @@ +--============================================ +-- Drop column template +-- +-- This template creates a table, then it +-- drops one of the columns of the table. +--============================================ +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + column1 int NOT NULL, + column2 char(10) NULL, + datetime NULL +) +GO + +-- Drop a column from the table +ALTER TABLE . + DROP COLUMN +GO diff --git a/samples/features/ssms-templates/Sql/Table/drop constraint.sql b/samples/features/ssms-templates/Sql/Table/drop constraint.sql new file mode 100644 index 00000000..893d85fa --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/drop constraint.sql @@ -0,0 +1,25 @@ +-- ======================================================== +-- Drop constraint template +-- +-- This template creates a table with a CHECK CONSTRAINT, +-- then it removes the CHECK CONSTRAINT from the table +-- ======================================================== +USE +GO + +IF OBJECT_ID('.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + column1 int NOT NULL, + salary money NOT NULL CONSTRAINT CHECK (salary < 500000) +) +GO + +-- Drop CHECK CONSTRAINT from the table +ALTER TABLE . + DROP CONSTRAINT +GO + diff --git a/samples/features/ssms-templates/Sql/Table/drop key.sql b/samples/features/ssms-templates/Sql/Table/drop key.sql new file mode 100644 index 00000000..76b4e7a5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/drop key.sql @@ -0,0 +1,26 @@ +-- =================================================== +-- Drop Key template +-- +-- This template creates a table with a primary key, +-- then it drops the primary key of the table. +-- =================================================== +USE +GO + +IF OBJECT_ID(N'.', 'U') IS NOT NULL + DROP TABLE . +GO + +CREATE TABLE . +( + c1 int NOT NULL, + c2 char(10) NULL, + c3 datetime NULL, + CONSTRAINT PRIMARY KEY(c1) +) +GO + +ALTER TABLE . + DROP CONSTRAINT +GO + diff --git a/samples/features/ssms-templates/Sql/Table/drop table.sql b/samples/features/ssms-templates/Sql/Table/drop table.sql new file mode 100644 index 00000000..829709dc --- /dev/null +++ b/samples/features/ssms-templates/Sql/Table/drop table.sql @@ -0,0 +1,13 @@ +--====================== +-- Drop Table template +--====================== +IF EXISTS ( + SELECT * + FROM sys.tables + JOIN sys.schemas + ON sys.tables.schema_id = sys.schemas.schema_id + WHERE sys.schemas.name = N'' + AND sys.tables.name = N'' +) + DROP TABLE . +GO diff --git a/samples/features/ssms-templates/Sql/Trigger/Alter T-SQL Trigger.sql b/samples/features/ssms-templates/Sql/Trigger/Alter T-SQL Trigger.sql new file mode 100644 index 00000000..1c53e9d4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Trigger/Alter T-SQL Trigger.sql @@ -0,0 +1,12 @@ +--====================================== +-- Alter T-SQL Trigger Template +--====================================== +USE +GO + +ALTER TRIGGER . +ON . +AFTER +AS +GO + diff --git a/samples/features/ssms-templates/Sql/Trigger/Create T-SQL Trigger (New Menu).sql b/samples/features/ssms-templates/Sql/Trigger/Create T-SQL Trigger (New Menu).sql new file mode 100644 index 00000000..a0864e4f --- /dev/null +++ b/samples/features/ssms-templates/Sql/Trigger/Create T-SQL Trigger (New Menu).sql @@ -0,0 +1,36 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Trigger (New Menu).SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- See additional Create Trigger templates for more +-- examples of different Trigger statements. +-- +-- This block of comments will not be included in +-- the definition of the function. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE TRIGGER . + ON . + AFTER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for trigger here + +END +GO diff --git a/samples/features/ssms-templates/Sql/Trigger/Create T-SQL Trigger.sql b/samples/features/ssms-templates/Sql/Trigger/Create T-SQL Trigger.sql new file mode 100644 index 00000000..8e68d961 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Trigger/Create T-SQL Trigger.sql @@ -0,0 +1,16 @@ +--====================================== +-- Create T-SQL Trigger Template +--====================================== +USE +GO + +IF OBJECT_ID ('.','TR') IS NOT NULL + DROP TRIGGER . +GO + +CREATE TRIGGER . + ON . + AFTER +AS +GO + diff --git a/samples/features/ssms-templates/Sql/Trigger/Drop Trigger.sql b/samples/features/ssms-templates/Sql/Trigger/Drop Trigger.sql new file mode 100644 index 00000000..cbfc0913 --- /dev/null +++ b/samples/features/ssms-templates/Sql/Trigger/Drop Trigger.sql @@ -0,0 +1,9 @@ +--====================================== +-- Drop Trigger Template +--====================================== +USE +GO + +IF OBJECT_ID ('.','TR') IS NOT NULL + DROP TRIGGER . +GO diff --git a/samples/features/ssms-templates/Sql/User-defined Data Type/Create User-defined Data Type.sql b/samples/features/ssms-templates/Sql/User-defined Data Type/Create User-defined Data Type.sql new file mode 100644 index 00000000..9b8e9ed4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/User-defined Data Type/Create User-defined Data Type.sql @@ -0,0 +1,17 @@ +-- ================================ +-- Create User-defined Data Type +-- ================================ +USE +GO + +-- Create the data type +CREATE TYPE . + FROM () + +-- Create table using the data type +CREATE TABLE +( + ID int NOT NULL, + Phone . NULL +) +GO diff --git a/samples/features/ssms-templates/Sql/User-defined Data Type/Drop User-defined Data Type.sql b/samples/features/ssms-templates/Sql/User-defined Data Type/Drop User-defined Data Type.sql new file mode 100644 index 00000000..08e5480d --- /dev/null +++ b/samples/features/ssms-templates/Sql/User-defined Data Type/Drop User-defined Data Type.sql @@ -0,0 +1,9 @@ +-- ================================ +-- Create User-defined Data Type +-- ================================ +USE +GO + +-- Drop the data type - this will fail if it is being used +DROP TYPE . +GO diff --git a/samples/features/ssms-templates/Sql/User-defined Table Type/Create User-defined Memory Optimized Table Type.sql b/samples/features/ssms-templates/Sql/User-defined Table Type/Create User-defined Memory Optimized Table Type.sql new file mode 100644 index 00000000..001c43c5 --- /dev/null +++ b/samples/features/ssms-templates/Sql/User-defined Table Type/Create User-defined Memory Optimized Table Type.sql @@ -0,0 +1,27 @@ +--====================================================== +-- Create User-defined Memory Optimized Table Type Template +-- Use the Specify Values for Template Parameters command (Ctrl-Shift-M) to fill in the parameter values below. +-- This template creates a memory optimized table type and indexes on the memory optimized table type. +-- The database must have a MEMORY_OPTIMIZED_DATA filegroup before the memory optimized table type can be created. +--====================================================== + +USE +GO + +--Drop table if it already exists. +IF TYPE_ID('.') IS NOT NULL + DROP TYPE . +GO + +CREATE TYPE . AS TABLE +( + , + , + INDEX NONCLUSTERED (), + + PRIMARY KEY NONCLUSTERED (), + -- See SQL Server Books Online for guidelines on determining appropriate bucket count for the index + INDEX HASH () WITH (BUCKET_COUNT = ) +) WITH (MEMORY_OPTIMIZED = ON) +GO + diff --git a/samples/features/ssms-templates/Sql/User-defined Table Type/Create User-defined Table Type.sql b/samples/features/ssms-templates/Sql/User-defined Table Type/Create User-defined Table Type.sql new file mode 100644 index 00000000..c6e24be1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/User-defined Table Type/Create User-defined Table Type.sql @@ -0,0 +1,15 @@ +-- ================================ +-- Create User-defined Table Type +-- ================================ +USE +GO + +-- Create the data type +CREATE TYPE . AS TABLE +( + , + , + , + PRIMARY KEY () +) +GO diff --git a/samples/features/ssms-templates/Sql/User-defined Table Type/Drop User-defined Table Type.sql b/samples/features/ssms-templates/Sql/User-defined Table Type/Drop User-defined Table Type.sql new file mode 100644 index 00000000..24de206b --- /dev/null +++ b/samples/features/ssms-templates/Sql/User-defined Table Type/Drop User-defined Table Type.sql @@ -0,0 +1,9 @@ +-- ================================ +-- Drop User-defined Table Type +-- ================================ +USE +GO + +-- Drop the table type - this will fail if it is being used +DROP TYPE . +GO diff --git a/samples/features/ssms-templates/Sql/User-defined Type/Create Type.sql b/samples/features/ssms-templates/Sql/User-defined Type/Create Type.sql new file mode 100644 index 00000000..375a88ee --- /dev/null +++ b/samples/features/ssms-templates/Sql/User-defined Type/Create Type.sql @@ -0,0 +1,24 @@ +-- ======================= +-- Create Type template +-- ======================= + +USE ; +GO + +-- Create the assembly reference that contains the type definition +CREATE ASSEMBLY +FROM ', ,\\ComputerName\utf8string\utf8string.dll>' ; +GO + +-- Create the new data type +CREATE TYPE +EXTERNAL NAME .; +GO + +-- Create a table that uses the data type +CREATE TABLE . +( + , + +) +GO diff --git a/samples/features/ssms-templates/Sql/User-defined Type/Drop Type.sql b/samples/features/ssms-templates/Sql/User-defined Type/Drop Type.sql new file mode 100644 index 00000000..6bc04785 --- /dev/null +++ b/samples/features/ssms-templates/Sql/User-defined Type/Drop Type.sql @@ -0,0 +1,20 @@ +-- ======================= +-- Drop Type template +-- ======================= + +USE ; +GO + +-- Create the assembly reference that contains the type definition +CREATE ASSEMBLY +FROM ', ,\\ComputerName\utf8string\utf8string.dll>' ; +GO + +-- Create the new data type +CREATE TYPE +EXTERNAL NAME .; +GO + +-- Drop the new data type +DROP TYPE ; +GO diff --git a/samples/features/ssms-templates/Sql/User/Create Data Reader User.sql b/samples/features/ssms-templates/Sql/User/Create Data Reader User.sql new file mode 100644 index 00000000..eb6099fe --- /dev/null +++ b/samples/features/ssms-templates/Sql/User/Create Data Reader User.sql @@ -0,0 +1,20 @@ +-- =================================== +-- Create Data Reader User template +-- =================================== +USE +GO + +-- Create a login using a Windows user +CREATE LOGIN [\] FROM WINDOWS WITH DEFAULT_DATABASE = + +-- Add the user to the database using their login name and the user name +CREATE USER [\] + FOR LOGIN [\] + WITH DEFAULT_SCHEMA = +GO + +-- Add user to db_datareader role +ALTER ROLE [db_datareader] +ADD MEMBER [\] +GO + diff --git a/samples/features/ssms-templates/Sql/User/Create Schema User.sql b/samples/features/ssms-templates/Sql/User/Create Schema User.sql new file mode 100644 index 00000000..be7df1d8 --- /dev/null +++ b/samples/features/ssms-templates/Sql/User/Create Schema User.sql @@ -0,0 +1,25 @@ +-- =================================== +-- Create Schema User template +-- =================================== +USE ; +GO + +-- Create a login using a Windows user +CREATE LOGIN [\] FROM WINDOWS WITH DEFAULT_DATABASE = ; + +-- Add the user to the database using their login name and the user name +CREATE USER [\] + FOR LOGIN [\] + WITH DEFAULT_SCHEMA = ; +GO + +-- Grant specific access rights to use based on Schema +GRANT + DELETE, + EXECUTE, + INSERT, + SELECT, + UPDATE, + VIEW DEFINITION +ON SCHEMA::[] + TO [\]; diff --git a/samples/features/ssms-templates/Sql/User/Create User as DBO.sql b/samples/features/ssms-templates/Sql/User/Create User as DBO.sql new file mode 100644 index 00000000..567200d6 --- /dev/null +++ b/samples/features/ssms-templates/Sql/User/Create User as DBO.sql @@ -0,0 +1,17 @@ +-- ============================== +-- Create User as DBO template +-- ============================== + +USE [] +GO + +-- For login , create a user in the database +CREATE USER [] + FOR LOGIN [] + WITH DEFAULT_SCHEMA = +GO + +-- Add user to the database owner role +ALTER ROLE [db_owner] +ADD MEMBER [] +GO diff --git a/samples/features/ssms-templates/Sql/User/Drop User.sql b/samples/features/ssms-templates/Sql/User/Drop User.sql new file mode 100644 index 00000000..793173c4 --- /dev/null +++ b/samples/features/ssms-templates/Sql/User/Drop User.sql @@ -0,0 +1,8 @@ +-- ===================== +-- Drop User template +-- ===================== +USE +GO + +DROP USER +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/View/Create Indexed View.sql b/samples/features/ssms-templates/Sql/View/Create Indexed View.sql new file mode 100644 index 00000000..6fc294bb --- /dev/null +++ b/samples/features/ssms-templates/Sql/View/Create Indexed View.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Create Indexed View template +-- ============================================= +USE +GO +SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON +SET NUMERIC_ROUNDABORT OFF + +IF object_id(N'.', 'V') IS NOT NULL + DROP VIEW . +GO + +CREATE VIEW . +WITH SCHEMABINDING AS + + +GO +CREATE UNIQUE CLUSTERED INDEX _IndexedView +ON .() + diff --git a/samples/features/ssms-templates/Sql/View/Create View.sql b/samples/features/ssms-templates/Sql/View/Create View.sql new file mode 100644 index 00000000..42a2a7bc --- /dev/null +++ b/samples/features/ssms-templates/Sql/View/Create View.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Create View template +-- ============================================= +USE +GO + +IF object_id(N'.', 'V') IS NOT NULL + DROP VIEW . +GO + +CREATE VIEW . AS + \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/View/Drop View.sql b/samples/features/ssms-templates/Sql/View/Drop View.sql new file mode 100644 index 00000000..7bc2e264 --- /dev/null +++ b/samples/features/ssms-templates/Sql/View/Drop View.sql @@ -0,0 +1,4 @@ +-- ============================================= +-- Drop View template +-- ============================================= +DROP VIEW . \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/XML Collection/Alter XML Schema Collection.sql b/samples/features/ssms-templates/Sql/XML Collection/Alter XML Schema Collection.sql new file mode 100644 index 00000000..7bf7497f --- /dev/null +++ b/samples/features/ssms-templates/Sql/XML Collection/Alter XML Schema Collection.sql @@ -0,0 +1,9 @@ +-- ============================================= +-- Alter XML Schema Collection Template +-- ============================================= +IF EXISTS (SELECT * + FROM sys.xml_schema_collections + WHERE name = N'') +ALTER XML SCHEMA COLLECTION +ADD '' +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/XML Collection/Create XML Schema Collection.sql b/samples/features/ssms-templates/Sql/XML Collection/Create XML Schema Collection.sql new file mode 100644 index 00000000..eab689d1 --- /dev/null +++ b/samples/features/ssms-templates/Sql/XML Collection/Create XML Schema Collection.sql @@ -0,0 +1,13 @@ +-- ============================================= +-- Create XML Schema Collection Template +-- ============================================= +IF EXISTS (SELECT * + FROM sys.xml_schema_collections + WHERE name = N'') +DROP XML SCHEMA COLLECTION +GO + +CREATE XML SCHEMA COLLECTION +AS +'' +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/XML Collection/Drop XML Schema Collection.sql b/samples/features/ssms-templates/Sql/XML Collection/Drop XML Schema Collection.sql new file mode 100644 index 00000000..9b92d478 --- /dev/null +++ b/samples/features/ssms-templates/Sql/XML Collection/Drop XML Schema Collection.sql @@ -0,0 +1,8 @@ +-- ============================================= +-- Drop XML Schema Collection Template +-- ============================================= +IF EXISTS (SELECT * + FROM sys.xml_schema_collections + WHERE name = N'') +DROP XML SCHEMA COLLECTION +GO \ No newline at end of file diff --git a/samples/features/ssms-templates/Sql/XML Namespace/TBD.sql b/samples/features/ssms-templates/Sql/XML Namespace/TBD.sql new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/samples/features/ssms-templates/Sql/XML Namespace/TBD.sql @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/samples/features/ssms-templates/readme.MD b/samples/features/ssms-templates/readme.MD new file mode 100644 index 00000000..346b4e6d --- /dev/null +++ b/samples/features/ssms-templates/readme.MD @@ -0,0 +1,49 @@ +# SSMS Query Templates + +SQL Server Management Studio supports templatized queries for multiple languages, including T-SQL, DAX, and MDX. The templates contain variables of the form "". SSMS users typically open the templates in one of the following ways: + +1. The Template Explorer, which presents the hierarchy as a tree control. Users can drag the query templates to the current editor window or double click to open them in a new window. +2. A "New " menu item in Object Explorer. +3. The File/Open menu to open their own templates. + +The SSMS query editor detects the presence of these variables and offers a menu item to open the dialog to specify values for the template parameters. + +These templates are offered for anyone to download and customize for their own use. Community contributions back to the master branch are welcomed. Approved contributions may be picked up for installation with future versions of SSMS. + +### Contents + +[About this sample](#about-this-sample)
+[Before you begin](#before-you-begin)
+[Run this sample](#run-this-sample)
+[Related links](#related-links)
+ + + + +## About this sample + +- **Applies to:** SQL Server 2016 (or higher), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse + + + +## Before you begin + +To run this sample, you need the following prerequisites. + +**Software prerequisites:** + +1. SQL Server 2005 (or higher) or an Azure SQL Database or SQL Analysis Services +2. SSMS 2008 or higher + + + +## Run this sample + +Download the templates to a folder of your choice and open them from the File/Open menu in SSMS. + + + +## Related Links + +For more information, see these articles: +https://docs.microsoft.com/en-us/sql/ssms/tutorials/templates-ssms