diff --git a/.gitignore b/.gitignore index 966100e2..d7086766 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,5 @@ samples/databases/wide-world-importers/sample-scripts/always-encrypted/PopulateA samples/features/in-memory/ticket-reservations/DemoWorkload/obj/Release/DemoWorkload.FrmConfig.resources samples/features/in-memory/ticket-reservations/DemoWorkload/bin/Release/DemoWorkload.vshost.exe.config samples/databases/wide-world-importers/sample-scripts/always-encrypted/PopulateAlwaysEncryptedData/obj/Debug/PopulateAlwaysEncryptedData.csproj.FileListAbsolute.txt -samples/databases/wide-world-importers/sample-scripts/always-encrypted/PopulateAlwaysEncryptedData/bin/Debug/PopulateAlwaysEncryptedData.vshost.exe.config \ No newline at end of file +samples/databases/wide-world-importers/sample-scripts/always-encrypted/PopulateAlwaysEncryptedData/bin/Debug/PopulateAlwaysEncryptedData.vshost.exe.config +*.zip \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-database-scripts/2-wwi-construct-database-from-metadata-tables.sql b/samples/databases/wide-world-importers/wwi-database-scripts/2-wwi-construct-database-from-metadata-tables.sql index c652d829..6ab0e981 100644 --- a/samples/databases/wide-world-importers/wwi-database-scripts/2-wwi-construct-database-from-metadata-tables.sql +++ b/samples/databases/wide-world-importers/wwi-database-scripts/2-wwi-construct-database-from-metadata-tables.sql @@ -82,7 +82,9 @@ DECLARE @PrimaryKeyColumn nvarchar(max) = N''; SET @SQL = N''; -SET @SQL += N'USE master;' + @CrLf + @CrLf +-- when not using Azure DB, add create database statement +IF SERVERPROPERTY('EngineEdition') != 5 + SET @SQL += N'USE master;' + @CrLf + @CrLf + N'IF EXISTS(SELECT 1 FROM sys.databases WHERE name = N''WideWorldImporters'')' + @CrLf + N'BEGIN' + @CrLf + N' ALTER DATABASE WideWorldImporters SET SINGLE_USER WITH ROLLBACK IMMEDIATE;' + @CrLf @@ -112,25 +114,26 @@ SET @SQL += N'USE master;' + @CrLf + @CrLf + N' SIZE = 100MB,' + @CrLf + N' MAXSIZE = UNLIMITED,' + @CrLf + N' FILEGROWTH = 64MB' + @CrLf - + N')' + @CrLf - + N'COLLATE Latin1_General_100_CI_AS;' + @CrLf + @GO - + N'ALTER DATABASE WideWorldImporters SET RECOVERY SIMPLE;' + @CrLf + @GO - + N'ALTER DATABASE WideWorldImporters SET AUTO_UPDATE_STATISTICS_ASYNC ON;' + @CrLf + @GO - + N'ALTER AUTHORIZATION ON DATABASE::WideWorldImporters to sa;' + @CrLf + @GO - + N'ALTER DATABASE WideWorldImporters' + @CrLf - + N'SET QUERY_STORE' + @CrLf - + N'(' + @CrLf - + @Indent + N'OPERATION_MODE = READ_WRITE,' + @CrLf - + @Indent + N'CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30),' + @CrLf - + @Indent + N'DATA_FLUSH_INTERVAL_SECONDS = 3000,' + @CrLf - + @Indent + N'MAX_STORAGE_SIZE_MB = 500,' + @CrLf - + @Indent + N'INTERVAL_LENGTH_MINUTES = 15,' + @CrLf - + @Indent + N'SIZE_BASED_CLEANUP_MODE = AUTO,' + @CrLf - + @Indent + N'QUERY_CAPTURE_MODE = AUTO,' + @CrLf - + @Indent + N'MAX_PLANS_PER_QUERY = 1000' + @CrLf + N');' + @CrLf + @GO + + N'ALTER AUTHORIZATION ON DATABASE::WideWorldImporters to sa;' + @CrLf + @GO + N'USE WideWorldImporters;' + @CrLf + @GO; + SET @SQL += N'ALTER DATABASE CURRENT COLLATE Latin1_General_100_CI_AS;' + @CrLf + @GO + + N'ALTER DATABASE CURRENT SET RECOVERY SIMPLE;' + @CrLf + @GO + + N'ALTER DATABASE CURRENT SET AUTO_UPDATE_STATISTICS_ASYNC ON;' + @CrLf + @GO + + N'ALTER DATABASE CURRENT' + @CrLf + + N'SET QUERY_STORE' + @CrLf + + N'(' + @CrLf + + @Indent + N'OPERATION_MODE = READ_WRITE,' + @CrLf + + @Indent + N'CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30),' + @CrLf + + @Indent + N'DATA_FLUSH_INTERVAL_SECONDS = 3000,' + @CrLf + + @Indent + N'MAX_STORAGE_SIZE_MB = 500,' + @CrLf + + @Indent + N'INTERVAL_LENGTH_MINUTES = 15,' + @CrLf + + @Indent + N'SIZE_BASED_CLEANUP_MODE = AUTO,' + @CrLf + + @Indent + N'QUERY_CAPTURE_MODE = AUTO,' + @CrLf + + @Indent + N'MAX_PLANS_PER_QUERY = 1000' + @CrLf + + N');' + @CrLf + @GO + DECLARE SchemaList CURSOR FAST_FORWARD READ_ONLY FOR SELECT SchemaName, SchemaDescription diff --git a/samples/databases/wide-world-importers/wwi-database-scripts/4-wwi-configure-required-database-objects.sql b/samples/databases/wide-world-importers/wwi-database-scripts/4-wwi-configure-required-database-objects.sql index 0d5917c1..f4aaea52 100644 --- a/samples/databases/wide-world-importers/wwi-database-scripts/4-wwi-configure-required-database-objects.sql +++ b/samples/databases/wide-world-importers/wwi-database-scripts/4-wwi-configure-required-database-objects.sql @@ -4626,19 +4626,38 @@ FOR VALUES (N''20140101'', N''20150101'', N''20160101'', N''20170101'');'; IF NOT EXISTS (SELECT * FROM sys.partition_schemes WHERE name = N'PS_TransactionDateTime') BEGIN - SET @SQL = N' + + -- for Azure DB, assign to primary filegroup + IF SERVERPROPERTY('EngineEdition') = 5 + SET @SQL = N' +CREATE PARTITION SCHEME PS_TransactionDateTime +AS PARTITION PF_TransactionDateTime +ALL TO ([PRIMARY]);'; + -- for other engine editions, assign to user data filegroup + IF SERVERPROPERTY('EngineEdition') != 5 + SET @SQL = N' CREATE PARTITION SCHEME PS_TransactionDateTime AS PARTITION PF_TransactionDateTime ALL TO ([USERDATA]);'; + EXECUTE (@SQL); END; IF NOT EXISTS (SELECT 1 FROM sys.partition_schemes WHERE name = N'PS_TransactionDate') BEGIN + -- for Azure DB, assign to primary filegroup + IF SERVERPROPERTY('EngineEdition') = 5 + SET @SQL = N' +CREATE PARTITION SCHEME PS_TransactionDate +AS PARTITION PF_TransactionDate +ALL TO ([PRIMARY]);'; + -- for other engine editions, assign to user data filegroup + IF SERVERPROPERTY('EngineEdition') != 5 SET @SQL = N' CREATE PARTITION SCHEME PS_TransactionDate AS PARTITION PF_TransactionDate ALL TO ([USERDATA]);'; + EXECUTE (@SQL); END; diff --git a/samples/databases/wide-world-importers/wwi-dw-database-scripts/2-wwi-dw-construct-database-from-metadata-tables.sql b/samples/databases/wide-world-importers/wwi-dw-database-scripts/2-wwi-dw-construct-database-from-metadata-tables.sql index 7655a32f..1ed55a3e 100644 --- a/samples/databases/wide-world-importers/wwi-dw-database-scripts/2-wwi-dw-construct-database-from-metadata-tables.sql +++ b/samples/databases/wide-world-importers/wwi-dw-database-scripts/2-wwi-dw-construct-database-from-metadata-tables.sql @@ -72,7 +72,9 @@ DECLARE @PrimaryKeyColumn nvarchar(max) = N''; SET @SQL = N''; -SET @SQL += N'USE master;' + @CrLf + @CrLf +-- when not using Azure DB, add create database statement +IF SERVERPROPERTY('EngineEdition') != 5 + SET @SQL += N'USE master;' + @CrLf + @CrLf + N'IF EXISTS(SELECT 1 FROM sys.databases WHERE name = N''WideWorldImportersDW'')' + @CrLf + N'BEGIN' + @CrLf + N' ALTER DATABASE WideWorldImportersDW SET SINGLE_USER WITH ROLLBACK IMMEDIATE;' + @CrLf @@ -102,25 +104,28 @@ SET @SQL += N'USE master;' + @CrLf + @CrLf + N' SIZE = 100MB,' + @CrLf + N' MAXSIZE = UNLIMITED,' + @CrLf + N' FILEGROWTH = 64MB' + @CrLf - + N')' + @CrLf - + N'COLLATE Latin1_General_100_CI_AS;' + @CrLf + @GO - + N'ALTER DATABASE WideWorldImportersDW SET RECOVERY SIMPLE;' + @CrLf + @GO - + N'ALTER DATABASE WideWorldImporters SET AUTO_UPDATE_STATISTICS_ASYNC ON;' + @CrLf + @GO - + N'ALTER AUTHORIZATION ON DATABASE::WideWorldImportersDW to sa;' + @CrLf + @GO - + N'ALTER DATABASE WideWorldImportersDW' + @CrLf - + N'SET QUERY_STORE' + @CrLf - + N'(' + @CrLf - + @Indent + N'OPERATION_MODE = READ_WRITE,' + @CrLf - + @Indent + N'CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30),' + @CrLf - + @Indent + N'DATA_FLUSH_INTERVAL_SECONDS = 3000,' + @CrLf - + @Indent + N'MAX_STORAGE_SIZE_MB = 500,' + @CrLf - + @Indent + N'INTERVAL_LENGTH_MINUTES = 15,' + @CrLf - + @Indent + N'SIZE_BASED_CLEANUP_MODE = AUTO,' + @CrLf - + @Indent + N'QUERY_CAPTURE_MODE = AUTO,' + @CrLf - + @Indent + N'MAX_PLANS_PER_QUERY = 1000' + @CrLf + N');' + @CrLf + @GO + + N'ALTER AUTHORIZATION ON DATABASE::WideWorldImportersDW to sa;' + @CrLf + @GO + N'USE WideWorldImportersDW;' + @CrLf + @GO; + +SET @SQL += N'ALTER DATABASE CURRENT COLLATE Latin1_General_100_CI_AS;' + @CrLf + @GO + + N'ALTER DATABASE CURRENT SET RECOVERY SIMPLE;' + @CrLf + @GO + + N'ALTER DATABASE CURRENT SET AUTO_UPDATE_STATISTICS_ASYNC ON;' + @CrLf + @GO + + N'ALTER DATABASE CURRENT' + @CrLf + + N'SET QUERY_STORE' + @CrLf + + N'(' + @CrLf + + @Indent + N'OPERATION_MODE = READ_WRITE,' + @CrLf + + @Indent + N'CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30),' + @CrLf + + @Indent + N'DATA_FLUSH_INTERVAL_SECONDS = 3000,' + @CrLf + + @Indent + N'MAX_STORAGE_SIZE_MB = 500,' + @CrLf + + @Indent + N'INTERVAL_LENGTH_MINUTES = 15,' + @CrLf + + @Indent + N'SIZE_BASED_CLEANUP_MODE = AUTO,' + @CrLf + + @Indent + N'QUERY_CAPTURE_MODE = AUTO,' + @CrLf + + @Indent + N'MAX_PLANS_PER_QUERY = 1000' + @CrLf + + N');' + @CrLf + @GO + + DECLARE SchemaList CURSOR FAST_FORWARD READ_ONLY FOR SELECT SchemaName, SchemaDescription diff --git a/samples/databases/wide-world-importers/wwi-dw-database-scripts/4-wwi-dw-configure-required-database-objects.sql b/samples/databases/wide-world-importers/wwi-dw-database-scripts/4-wwi-dw-configure-required-database-objects.sql index a4f641c3..8c8c0582 100644 --- a/samples/databases/wide-world-importers/wwi-dw-database-scripts/4-wwi-dw-configure-required-database-objects.sql +++ b/samples/databases/wide-world-importers/wwi-dw-database-scripts/4-wwi-dw-configure-required-database-objects.sql @@ -1552,7 +1552,15 @@ FOR VALUES (N''20120101'',N''20130101'',N''20140101'', N''20150101'', N''2016010 IF NOT EXISTS (SELECT 1 FROM sys.partition_schemes WHERE name = N'PS_Date') BEGIN - SET @SQL = N' + -- for Azure DB, assign to primary filegroup + IF SERVERPROPERTY('EngineEdition') = 5 + SET @SQL = N' +CREATE PARTITION SCHEME PS_Date +AS PARTITION PF_Date +ALL TO ([PRIMARY]);'; + -- for other engine editions, assign to user data filegroup + IF SERVERPROPERTY('EngineEdition') != 5 + SET @SQL = N' CREATE PARTITION SCHEME PS_Date AS PARTITION PF_Date ALL TO ([USERDATA]);';