diff --git a/samples/features/accelerated-database-recovery/basic_adr.ipynb b/samples/features/accelerated-database-recovery/basic_adr.ipynb index eb741dae..0cf7d397 100644 --- a/samples/features/accelerated-database-recovery/basic_adr.ipynb +++ b/samples/features/accelerated-database-recovery/basic_adr.ipynb @@ -36,8 +36,6 @@ "\r\n", "The database assumes a path for a standard SQL Server Windows installation.\r\n", "\r\n", - "**Note**: Change restore path as needed\r\n", - "\r\n", "**Note**: *For Linux installations the default path to use is /var/opt/mssql*" ], "metadata": { @@ -52,12 +50,20 @@ "IF EXISTS (SELECT [database_id] FROM sys.databases WHERE [name] = 'WideWorldImportersDW')\r\n", "ALTER DATABASE [WideWorldImportersDW] SET SINGLE_USER WITH ROLLBACK IMMEDIATE\r\n", "GO\r\n", - "RESTORE DATABASE [WideWorldImportersDW] FROM DISK = N'E:\\SampleDBs\\WideWorldImportersDW\\WideWorldImportersDW-Full.bak' WITH FILE = 1,\r\n", - "\tMOVE N'WWI_Primary' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW.mdf', \r\n", - "\tMOVE N'WWI_UserData' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW_UserData.ndf', \r\n", - "\tMOVE N'WWI_Log' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW.ldf', \r\n", - "\tMOVE N'WWIDW_InMemory_Data_1' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW_InMemory_Data_1', NOUNLOAD, REPLACE, STATS = 10\r\n", - "ALTER DATABASE [WideWorldImportersDW] SET MULTI_USER\r\n", + "\r\n", + "DECLARE @datafilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultDataPath') AS VARCHAR(4000)) + 'WideWorldImportersDW.mdf'\r\n", + "DECLARE @logfilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultLogPath') AS VARCHAR(4000)) + 'WideWorldImportersDW.ldf'\r\n", + "DECLARE @inmemfilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultLogPath') AS VARCHAR(4000)) + 'WideWorldImportersDW_InMemory_Data_1'\r\n", + "DECLARE @secondaryfilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultLogPath') AS VARCHAR(4000))+ 'WideWorldImportersDW_2.ndf'\r\n", + "\r\n", + "-- Change @backupfile file path as needed\r\n", + "DECLARE @backupfile VARCHAR(8000) = 'E:\\SampleDBs\\WideWorldImportersDW-Full.bak'\r\n", + "RESTORE DATABASE WideWorldImportersDW\r\n", + "FROM DISK = @backupfile \r\n", + "WITH MOVE 'WWI_Primary' TO @datafilepath,\r\n", + " MOVE 'WWI_UserData' TO @secondaryfilepath,\r\n", + " MOVE 'WWIDW_InMemory_Data_1' TO @inmemfilepath,\r\n", + " MOVE 'WWI_Log' TO @logfilepath, NOUNLOAD, REPLACE, STATS = 10\r\n", "GO\r\n", "\r\n", "USE [master]\r\n", @@ -689,7 +695,6 @@ }, { "output_type": "execute_result", - "metadata": {}, "execution_count": 38, "data": { "application/vnd.dataresource+json": { @@ -723,7 +728,8 @@ ] }, "text/html": "
database_idtotal_log_size_in_bytesused_log_space_in_bytesused_log_space_in_percentlog_space_in_bytes_since_last_backup
84294959104281081856065.4446825794560
" - } + }, + "metadata": {} } ], "execution_count": 38 @@ -773,7 +779,6 @@ }, { "output_type": "execute_result", - "metadata": {}, "execution_count": 39, "data": { "application/vnd.dataresource+json": { @@ -807,7 +812,8 @@ ] }, "text/html": "
database_idtotal_log_size_in_bytesused_log_space_in_bytesused_log_space_in_percentlog_space_in_bytes_since_last_backup
84294959104281085542465.44545825262080
" - } + }, + "metadata": {} } ], "execution_count": 39 @@ -894,7 +900,6 @@ }, { "output_type": "execute_result", - "metadata": {}, "execution_count": 41, "data": { "application/vnd.dataresource+json": { @@ -928,7 +933,8 @@ ] }, "text/html": "
database_idtotal_log_size_in_bytesused_log_space_in_bytesused_log_space_in_percentlog_space_in_bytes_since_last_backup
8429495910498195865622.86305783413248
" - } + }, + "metadata": {} } ], "execution_count": 41 @@ -938,7 +944,7 @@ "source": [ "## Step 7: Turn on Accelerated Database Recovery\r\n", "\r\n", - "**Note**: Change the new database file path as needed. Alternatively, just execute the last `ALTER DATABASE` without the `( PERSISTENT_VERSION_STORE_FILEGROUP = [PVS])` statement to enable ADR in the existing database file in the PRIMARY filegroup." + "**Note**: If you prefer to enable ADR in the existing database file in the PRIMARY filegroup, just execute the last `ALTER DATABASE` without the `( PERSISTENT_VERSION_STORE_FILEGROUP = [PVS])` statement." ], "metadata": { "azdata_cell_guid": "6dd6df07-c8a8-4af5-a37c-e76387891562" @@ -952,7 +958,10 @@ "-- Add a new filegroup specific for the Persistent Version Store (optional)\r\n", "ALTER DATABASE [WideWorldImportersDW] ADD FILEGROUP [PVS]\r\n", "GO\r\n", - "ALTER DATABASE [WideWorldImportersDW] ADD FILE ( NAME = N'ADR', FILENAME = N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\ADR.ndf' , SIZE = 1GB , FILEGROWTH = 65536KB ) TO FILEGROUP [PVS]\r\n", + "\r\n", + "DECLARE @adrdatafilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultDataPath') AS VARCHAR(4000)) + 'ADR.mdf'\r\n", + "DECLARE @sqlcmd VARCHAR(8000) = 'ALTER DATABASE [WideWorldImportersDW] ADD FILE ( NAME = N''ADR'', FILENAME = ''' + @adrdatafilepath + ''', SIZE = 1GB , FILEGROWTH = 65536KB ) TO FILEGROUP [PVS]'\r\n", + "EXEC (@sqlcmd)\r\n", "GO\r\n", "\r\n", "-- Enable ADR\r\n", @@ -1080,7 +1089,6 @@ }, { "output_type": "execute_result", - "metadata": {}, "execution_count": 44, "data": { "application/vnd.dataresource+json": { @@ -1114,7 +1122,8 @@ ] }, "text/html": "
database_idtotal_log_size_in_bytesused_log_space_in_bytesused_log_space_in_percentlog_space_in_bytes_since_last_backup
84294959104208547840048.556421794609152
" - } + }, + "metadata": {} }, { "output_type": "display_data", @@ -1139,7 +1148,6 @@ }, { "output_type": "execute_result", - "metadata": {}, "execution_count": 44, "data": { "application/vnd.dataresource+json": { @@ -1173,7 +1181,8 @@ ] }, "text/html": "
database_idtotal_log_size_in_bytesused_log_space_in_bytesused_log_space_in_percentlog_space_in_bytes_since_last_backup
84294959104129997619230.267491011310592
" - } + }, + "metadata": {} } ], "execution_count": 44 diff --git a/samples/features/accelerated-database-recovery/recovery_adr.ipynb b/samples/features/accelerated-database-recovery/recovery_adr.ipynb index eee2894b..6c2f66da 100644 --- a/samples/features/accelerated-database-recovery/recovery_adr.ipynb +++ b/samples/features/accelerated-database-recovery/recovery_adr.ipynb @@ -37,8 +37,6 @@ "\r\n", "Depending on the speed of your server, enlarging the database and data could take several minutes.\r\n", "\r\n", - "**Note**: Change restore path as needed\r\n", - "\r\n", "**Note**: *For Linux installations the default path to use is /var/opt/mssql*" ], "metadata": { @@ -53,12 +51,20 @@ "IF EXISTS (SELECT [database_id] FROM sys.databases WHERE [name] = 'WideWorldImportersDW')\r\n", "ALTER DATABASE [WideWorldImportersDW] SET SINGLE_USER WITH ROLLBACK IMMEDIATE\r\n", "GO\r\n", - "RESTORE DATABASE [WideWorldImportersDW] FROM DISK = N'E:\\SampleDBs\\WideWorldImportersDW\\WideWorldImportersDW-Full.bak' WITH FILE = 1,\r\n", - "\tMOVE N'WWI_Primary' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW.mdf', \r\n", - "\tMOVE N'WWI_UserData' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW_UserData.ndf', \r\n", - "\tMOVE N'WWI_Log' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW.ldf', \r\n", - "\tMOVE N'WWIDW_InMemory_Data_1' TO N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\WideWorldImportersDW_InMemory_Data_1', NOUNLOAD, REPLACE, STATS = 10\r\n", - "ALTER DATABASE [WideWorldImportersDW] SET MULTI_USER\r\n", + "\r\n", + "DECLARE @datafilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultDataPath') AS VARCHAR(4000)) + 'WideWorldImportersDW.mdf'\r\n", + "DECLARE @logfilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultLogPath') AS VARCHAR(4000)) + 'WideWorldImportersDW.ldf'\r\n", + "DECLARE @inmemfilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultLogPath') AS VARCHAR(4000)) + 'WideWorldImportersDW_InMemory_Data_1'\r\n", + "DECLARE @secondaryfilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultLogPath') AS VARCHAR(4000))+ 'WideWorldImportersDW_2.ndf'\r\n", + "\r\n", + "-- Change @backupfile file path as needed\r\n", + "DECLARE @backupfile VARCHAR(8000) = 'E:\\SampleDBs\\WideWorldImportersDW-Full.bak'\r\n", + "RESTORE DATABASE WideWorldImportersDW\r\n", + "FROM DISK = @backupfile \r\n", + "WITH MOVE 'WWI_Primary' TO @datafilepath,\r\n", + " MOVE 'WWI_UserData' TO @secondaryfilepath,\r\n", + " MOVE 'WWIDW_InMemory_Data_1' TO @inmemfilepath,\r\n", + " MOVE 'WWI_Log' TO @logfilepath, NOUNLOAD, REPLACE, STATS = 10\r\n", "GO\r\n", "\r\n", "USE [master]\r\n", @@ -696,7 +702,7 @@ "\r\n", "Turn on Accelerated Database Recovery and try to delete the rows again.\r\n", "\r\n", - "**Note**: Change the new database file path as needed. Alternatively, just execute the last `ALTER DATABASE` without the `( PERSISTENT_VERSION_STORE_FILEGROUP = [PVS])` statement to enable ADR in the existing database file in the PRIMARY filegroup.\r\n", + "**Note**: If you prefer to enable ADR in the existing database file in the PRIMARY filegroup, just execute the last `ALTER DATABASE` without the `( PERSISTENT_VERSION_STORE_FILEGROUP = [PVS])` statement.\r\n", "\r\n", "You may first see a connection error first since you shutdown SQL Server in the previous step but the cell should retry the connection and run the T-SQL statements." ], @@ -712,7 +718,10 @@ "-- Add a new filegroup specific for the Persistent Version Store (optional)\r\n", "ALTER DATABASE [WideWorldImportersDW] ADD FILEGROUP [PVS]\r\n", "GO\r\n", - "ALTER DATABASE [WideWorldImportersDW] ADD FILE ( NAME = N'ADR', FILENAME = N'D:\\Program Files\\Microsoft SQL Server\\MSSQL15.SQL2019\\MSSQL\\DATA\\ADR.ndf' , SIZE = 1GB , FILEGROWTH = 65536KB ) TO FILEGROUP [PVS]\r\n", + "\r\n", + "DECLARE @adrdatafilepath VARCHAR(8000) = CAST(SERVERPROPERTY('InstanceDefaultDataPath') AS VARCHAR(4000)) + 'ADR.mdf'\r\n", + "DECLARE @sqlcmd VARCHAR(8000) = 'ALTER DATABASE [WideWorldImportersDW] ADD FILE ( NAME = N''ADR'', FILENAME = ''' + @adrdatafilepath + ''', SIZE = 1GB , FILEGROWTH = 65536KB ) TO FILEGROUP [PVS]'\r\n", + "EXEC (@sqlcmd)\r\n", "GO\r\n", "\r\n", "-- Enable ADR\r\n",