Skip to content

Commit a6d3b7f

Browse files
committed
Comment some columns for 2014 version compatibility
1 parent 1214a9c commit a6d3b7f

File tree

1 file changed

+96
-120
lines changed

1 file changed

+96
-120
lines changed

Scripts/Table_Parameters.sql

Lines changed: 96 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Author: Konstantin Taranov
33
Source: https://github.com/ktaranov/sqlserver-kit/blob/master/Scripts/Table_Parameters.sql
44
*/
55

6+
67
DECLARE @databaseName SYSNAME = N'AdventureWorks2017';
78
DECLARE @schemaName SYSNAME = N'Person';
89
DECLARE @tableName SYSNAME = N'CountryRegion';
@@ -15,68 +16,67 @@ THROW 50000, @TROW50000, 1;
1516
IF LEFT(@databaseName, 1) = N'[' OR
1617
LEFT(@tableName, 1) = N'[' OR
1718
LEFT(@schemaName, 1) = N'['
18-
THROW 50001, 'Please do not use quotes in Databse, Table or Schema names! In the procedure it is alredy done with QUOTENAME function.', 1;
19+
THROW 50001, 'Please do not use square quotes in Database, Table or Schema names! In the code it is alredy done with QUOTENAME function.', 1;
1920

2021

22+
IF OBJECT_ID('tempdb..#tmp_extended_remote_data_archive_tables', 'U') IS NOT NULL DROP TABLE #tmp_extended_remote_data_archive_tables;
2123
CREATE TABLE #tmp_extended_remote_data_archive_tables(
22-
object_id INT NOT NULL
23-
,remote_table_name NVARCHAR(128) NULL
24-
,filter_predicate NVARCHAR(max) NULL
25-
,migration_state TINYINT NULL
24+
object_id INT NOT NULL
25+
, remote_table_name NVARCHAR(128) NULL
26+
, filter_predicate NVARCHAR(max) NULL
27+
, migration_state TINYINT NULL
2628
);
2729

28-
IF EXISTS(SELECT 1 FROM master.sys.syscolumns WHERE Name = N'remote_data_archive_migration_state' AND ID = Object_ID(N'sys.tables'))
29-
EXECUTE(N'INSERT INTO #tmp_extended_remote_data_archive_tables SELECT rdat.object_id, rdat.remote_table_name,
30-
SUBSTRING(rdat.filter_predicate, 2, LEN(rdat.filter_predicate) - 2) as filter_predicate,
31-
CASE
32-
WHEN tbl.remote_data_archive_migration_state_desc = N''PAUSED'' THEN 1
33-
WHEN tbl.remote_data_archive_migration_state_desc = N''OUTBOUND'' THEN 3
34-
WHEN tbl.remote_data_archive_migration_state_desc = N''INBOUND'' THEN 4
35-
WHEN tbl.remote_data_archive_migration_state_desc = N''DISABLED'' THEN 0
36-
ELSE 0
37-
END AS migration_state
38-
FROM sys.tables tbl LEFT JOIN sys.remote_data_archive_tables rdat ON rdat.object_id = tbl.object_id
39-
WHERE rdat.object_id IS NOT NULL')
40-
ELSE
41-
EXECUTE(N'INSERT INTO #tmp_extended_remote_data_archive_tables SELECT rdat.object_id, rdat.remote_table_name,
42-
SUBSTRING(rdat.filter_predicate, 2, LEN(rdat.filter_predicate) - 2) as filter_predicate,
43-
CASE
44-
WHEN rdat.is_migration_paused = 1 AND rdat.migration_direction_desc = N''OUTBOUND'' THEN 1
45-
WHEN rdat.is_migration_paused = 1 AND rdat.migration_direction_desc = N''INBOUND'' THEN 2
46-
WHEN rdat.is_migration_paused = 0 AND rdat.migration_direction_desc = N''OUTBOUND'' THEN 3
47-
WHEN rdat.is_migration_paused = 0 AND rdat.migration_direction_desc = N''INBOUND'' THEN 4
48-
ELSE 0
49-
END AS migration_state
50-
FROM sys.tables tbl LEFT JOIN sys.remote_data_archive_tables rdat ON rdat.object_id = tbl.object_id
51-
WHERE rdat.object_id IS NOT NULL');
30+
DECLARE @productMajorVersion INT = CAST(SERVERPROPERTY('ProductMajorVersion') AS INT);
31+
IF @productMajorVersion > 12
32+
BEGIN
33+
IF EXISTS(SELECT 1 FROM master.sys.syscolumns WHERE [name] = N'remote_data_archive_migration_state' AND [id]= Object_ID(N'sys.tables'))
34+
EXECUTE(N'
35+
INSERT INTO #tmp_extended_remote_data_archive_tables
36+
SELECT rdat.object_id, rdat.remote_table_name,
37+
SUBSTRING(rdat.filter_predicate, 2, LEN(rdat.filter_predicate) - 2) AS filter_predicate,
38+
CASE WHEN tbl.remote_data_archive_migration_state_desc = N''PAUSED'' THEN 1
39+
WHEN tbl.remote_data_archive_migration_state_desc = N''OUTBOUND'' THEN 3
40+
WHEN tbl.remote_data_archive_migration_state_desc = N''INBOUND'' THEN 4
41+
WHEN tbl.remote_data_archive_migration_state_desc = N''DISABLED'' THEN 0
42+
ELSE 0
43+
END AS migration_state
44+
FROM sys.tables tbl LEFT JOIN sys.remote_data_archive_tables rdat ON rdat.object_id = tbl.object_id
45+
WHERE rdat.object_id IS NOT NULL;
46+
')
47+
ELSE
48+
EXECUTE(N'
49+
INSERT INTO #tmp_extended_remote_data_archive_tables
50+
SELECT rdat.object_id, rdat.remote_table_name,
51+
SUBSTRING(rdat.filter_predicate, 2, LEN(rdat.filter_predicate) - 2) AS filter_predicate,
52+
CASE WHEN rdat.is_migration_paused = 1 AND rdat.migration_direction_desc = N''OUTBOUND'' THEN 1
53+
WHEN rdat.is_migration_paused = 1 AND rdat.migration_direction_desc = N''INBOUND'' THEN 2
54+
WHEN rdat.is_migration_paused = 0 AND rdat.migration_direction_desc = N''OUTBOUND'' THEN 3
55+
WHEN rdat.is_migration_paused = 0 AND rdat.migration_direction_desc = N''INBOUND'' THEN 4
56+
ELSE 0
57+
END AS migration_state
58+
FROM sys.tables tbl LEFT JOIN sys.remote_data_archive_tables rdat ON rdat.object_id = tbl.object_id
59+
WHERE rdat.object_id IS NOT NULL
60+
');
61+
END;
5262

53-
SELECT tbl.NAME
54-
AS
55-
[Name]
63+
SELECT tbl.name AS [Name]
64+
,SCHEMA_NAME(tbl.schema_id) AS [Schema]
5665
,tbl.object_id
57-
AS [ID]
58-
,tbl.create_date
59-
AS [CreateDate]
60-
,tbl.modify_date
61-
AS [DateLastModified]
62-
,ISNULL(stbl.NAME, N'') AS [Owner]
63-
,CAST(CASE
64-
WHEN tbl.principal_id IS NULL THEN 1
65-
ELSE 0
66-
END AS BIT) AS [IsSchemaOwned]
67-
,SCHEMA_NAME(tbl.schema_id)
68-
AS [Schema]
66+
,tbl.create_date AS [CreateDate]
67+
,tbl.modify_date AS [DateLastModified]
68+
,ISNULL(stbl.name, N'') AS [Owner]
69+
,CAST(CASE WHEN tbl.principal_id IS NULL THEN 1 ELSE 0 END AS BIT) AS [IsSchemaOwned]
6970
,CAST(CASE
7071
WHEN tbl.is_ms_shipped = 1 THEN 1
7172
WHEN (SELECT major_id
7273
FROM sys.extended_properties
7374
WHERE major_id = tbl.object_id
7475
AND minor_id = 0
7576
AND class = 1
76-
AND NAME = N'microsoft_database_tools_support') IS
77+
AND name = N'microsoft_database_tools_support') IS
7778
NOT NULL
78-
THEN
79-
1
79+
THEN 1
8080
ELSE 0
8181
END AS BIT) AS [IsSystemObject]
8282
,CAST(Objectproperty(tbl.object_id, N'HasAfterTrigger') AS BIT) AS [HasAfterTrigger]
@@ -90,39 +90,26 @@ SELECT tbl.NAME
9090
,CAST(CASE idx.type WHEN 0 THEN 1 ELSE 0 END AS BIT) AS [HasHeapIndex]
9191
,tbl.uses_ansi_nulls AS [AnsiNullsStatus]
9292
,CAST(ISNULL(Objectproperty(tbl.object_id, N'IsQuotedIdentOn'), 0) AS BIT) AS [QuotedIdentifierStatus]
93-
,CAST(0 AS BIT)
94-
AS [FakeSystemTable]
95-
,ISNULL(dstext.NAME, N'')
96-
AS [TextFileGroup]
97-
,CAST(tbl.is_memory_optimized AS BIT)
98-
AS [IsMemoryOptimized]
99-
,CASE
100-
WHEN ( tbl.durability = 1 ) THEN 0
101-
ELSE 1
102-
END
103-
AS [Durability]
104-
,tbl.is_replicated
105-
AS [Replicated]
106-
,tbl.lock_escalation
107-
AS [LockEscalation]
93+
,CAST(0 AS BIT) AS [FakeSystemTable]
94+
,ISNULL(dstext.name, N'') AS [TextFileGroup]
95+
,CAST(tbl.is_memory_optimized AS BIT) AS [IsMemoryOptimized]
96+
,CASE WHEN ( tbl.durability = 1 ) THEN 0 ELSE 1 END AS [Durability]
97+
,tbl.is_replicated AS [Replicated]
98+
,tbl.lock_escalation AS [LockEscalation]
10899
,CAST(CASE
109100
WHEN ctt.object_id IS NULL THEN 0
110101
ELSE 1
111102
END AS BIT)
112103
AS [ChangeTrackingEnabled]
113-
,CAST(ISNULL(ctt.is_track_columns_updated_on, 0) AS BIT)
114-
AS
115-
[TrackColumnsUpdatedEnabled]
116-
,tbl.is_filetable
117-
AS [IsFileTable]
118-
,ISNULL(ft.directory_name, N'')
119-
AS [FileTableDirectoryName]
104+
,CAST(ISNULL(ctt.is_track_columns_updated_on, 0) AS BIT) AS [TrackColumnsUpdatedEnabled]
105+
,tbl.is_filetable AS [IsFileTable]
106+
,ISNULL(ft.directory_name, N'') AS [FileTableDirectoryName]
120107
,ISNULL(ft.filename_collation_name, N'')
121108
AS [FileTableNameColumnCollation]
122109
,CAST(ISNULL(ft.is_enabled, 0) AS BIT)
123110
AS [FileTableNamespaceEnabled]
124111
,CASE
125-
WHEN 'PS' = dsidx.type THEN dsidx.NAME
112+
WHEN 'PS' = dsidx.type THEN dsidx.name
126113
ELSE N''
127114
END
128115
AS [PartitionScheme]
@@ -132,56 +119,49 @@ SELECT tbl.NAME
132119
END AS BIT)
133120
AS [IsPartitioned]
134121
,CASE
135-
WHEN 'FD' = dstbl.type THEN dstbl.NAME
122+
WHEN 'FD' = dstbl.type THEN dstbl.name
136123
ELSE N''
137124
END
138125
AS [FileStreamFileGroup]
139126
,CASE
140-
WHEN 'PS' = dstbl.type THEN dstbl.NAME
127+
WHEN 'PS' = dstbl.type THEN dstbl.name
141128
ELSE N''
142129
END
143130
AS [FileStreamPartitionScheme]
144-
,CAST(CASE idx.type
131+
,CAST(CASE idx.type
145132
WHEN 5 THEN 1
146133
ELSE 0
147134
END AS BIT)
148135
AS [HasClusteredColumnStoreIndex]
149-
,CAST(CASE tbl.temporal_type
150-
WHEN 2 THEN 1
151-
ELSE 0
152-
END AS BIT)
153-
AS [IsSystemVersioned]
154-
,CAST(ISNULL(historyTable.NAME, N'') AS SYSNAME)
155-
AS [HistoryTableName]
156-
,CAST(ISNULL(SCHEMA_NAME(historyTable.schema_id), N'') AS SYSNAME)
157-
AS
158-
[HistoryTableSchema]
159-
,CAST(ISNULL(historyTable.object_id, 0) AS INT)
160-
AS [HistoryTableID]
161-
,CAST(CASE
162-
WHEN periods.start_column_id IS NULL THEN 0
163-
ELSE 1
164-
END AS BIT)
165-
AS [HasSystemTimePeriod]
166-
,CAST(ISNULL((SELECT cols.NAME
167-
FROM sys.columns cols
168-
WHERE periods.object_id = tbl.object_id
169-
AND cols.object_id = tbl.object_id
170-
AND cols.column_id = periods.start_column_id), N'')
171-
AS
172-
SYSNAME)
173-
AS [SystemTimePeriodStartColumn]
174-
,CAST(ISNULL((SELECT cols.NAME
175-
FROM sys.columns cols
176-
WHERE periods.object_id = tbl.object_id
177-
AND cols.object_id = tbl.object_id
178-
AND cols.column_id = periods.end_column_id), N'') AS
179-
SYSNAME
180-
)
181-
AS [SystemTimePeriodEndColumn]
182-
,tbl.temporal_type
183-
AS [TemporalType]
184-
,CAST(tbl.is_remote_data_archive_enabled AS BIT) AS [RemoteDataArchiveEnabled]
136+
--,CAST(CASE tbl.temporal_type
137+
-- WHEN 2 THEN 1
138+
-- ELSE 0
139+
-- END AS BIT)
140+
--AS [IsSystemVersioned]
141+
--,CAST(ISNULL(historyTable.name, N'') AS SYSNAME) AS [HistoryTableName]
142+
--,CAST(ISNULL(SCHEMA_NAME(historyTable.schema_id), N'') AS SYSNAME) AS [HistoryTableSchema]
143+
--,CAST(ISNULL(historyTable.object_id, 0) AS INT) AS [HistoryTableID]
144+
--,CAST(CASE WHEN periods.start_column_id IS NULL THEN 0
145+
-- ELSE 1
146+
-- END AS BIT) AS [HasSystemTimePeriod]
147+
--,CAST(ISNULL((SELECT cols.NAME
148+
-- FROM sys.columns cols
149+
-- WHERE periods.object_id = tbl.object_id
150+
-- AND cols.object_id = tbl.object_id
151+
-- AND cols.column_id = periods.start_column_id), N'')
152+
-- AS
153+
-- SYSNAME)
154+
-- AS [SystemTimePeriodStartColumn]
155+
--,CAST(ISNULL((SELECT cols.NAME
156+
-- FROM sys.columns cols
157+
-- WHERE periods.object_id = tbl.object_id
158+
-- AND cols.object_id = tbl.object_id
159+
-- AND cols.column_id = periods.end_column_id), N'') AS
160+
-- SYSNAME
161+
-- )
162+
-- AS [SystemTimePeriodEndColumn]
163+
--,tbl.temporal_type AS [TemporalType]
164+
--,CAST(tbl.is_remote_data_archive_enabled AS BIT) AS [RemoteDataArchiveEnabled]
185165
,CAST(ISNULL(rdat.migration_state, 0) AS TINYINT) AS [RemoteDataArchiveDataMigrationState]
186166
,CAST(rdat.filter_predicate AS VARCHAR(4000)) AS [RemoteDataArchiveFilterPredicate]
187167
,CAST(rdat.remote_table_name AS SYSNAME) AS [RemoteTableName]
@@ -190,9 +170,9 @@ SELECT tbl.NAME
190170
ELSE 1
191171
END AS BIT)
192172
AS [RemoteTableProvisioned]
193-
,CAST(tbl.is_external AS BIT) AS [IsExternal]
194-
,eds.NAME AS [DataSourceName]
195-
,ISNULL(eff.NAME, N'') AS [FileFormatName]
173+
--,CAST(tbl.is_external AS BIT) AS [IsExternal]
174+
,eds.name AS [DataSourceName]
175+
,ISNULL(eff.name, N'') AS [FileFormatName]
196176
,ISNULL(et.location, N'') AS [Location]
197177
,CASE et.reject_type
198178
WHEN 'VALUE' THEN 0
@@ -205,10 +185,8 @@ SELECT tbl.NAME
205185
,ISNULL(et.reject_sample_value, -1)
206186
AS [RejectSampleValue]
207187
FROM sys.tables AS tbl
208-
LEFT OUTER JOIN sys.periods AS periods
209-
ON periods.object_id = tbl.object_id
210-
LEFT OUTER JOIN sys.tables AS historyTable
211-
ON historyTable.object_id = tbl.history_table_id
188+
--LEFT OUTER JOIN sys.periods AS periods ON periods.object_id = tbl.object_id
189+
--LEFT OUTER JOIN sys.tables AS historyTable ON historyTable.object_id = tbl.history_table_id
212190
LEFT OUTER JOIN sys.database_principals AS stbl
213191
ON stbl.principal_id = ISNULL(tbl.principal_id, (
214192
Objectproperty(tbl.object_id,
@@ -244,7 +222,5 @@ FROM sys.tables AS tbl
244222
ON eds.data_source_id = et.data_source_id
245223
LEFT OUTER JOIN sys.external_file_formats AS eff
246224
ON eff.file_format_id = et.file_format_id
247-
WHERE ( tbl.NAME = @tableName
248-
AND SCHEMA_NAME(tbl.schema_id) = @schemaName );
249-
250-
DROP TABLE #tmp_extended_remote_data_archive_tables;
225+
--WHERE tbl.name = @tableName
226+
-- AND SCHEMA_NAME(tbl.schema_id) = @schemaName;

0 commit comments

Comments
 (0)