SQL Server 2016 introduces an interesting T-SQL enhancement to improve performance and reduce downtime ALTER TABLE WITH (ONLINE = ON | OFF). This statement will help you alter data types, change column/table collation values, change nullability settings, change column length, and many other options while the table remains online for user connectivity.
This is Part 4 of 10 Part T-SQL Enhancements in SQL Server 2016 for Developers and DBAs. Click here to read it from the beginning….
However, this feature is turned off by default in SQL Server 2016. In case, if you wish to utilise this feature then you would need to specify ALTER TABLE WITH (ONLINE = ON) option.
Trending SQL Server Articles and Tips
- Troubleshooting SQL Server blocked access to procedure sp_send_dbmail
- COMPRESS and DECOMPRESS T-SQL Enhancement in SQL Server 2016
- How to Verify and Register SPN for SQL Server Authentication with Kerberos Connections
- SQL Server Best Practice Auto Close Database Option Should Remain OFF
- How to Configure a Contained Database Feature in SQL Server
Example ALTER TABLE WITH (ONLINE = ON | OFF)
DROP TABLE IF EXISTS ProductPrice GO CREATE TABLE ProductPrice (Price INT) GO INSERT INTO ProductPrice (Price) VALUES (1250); INSERT INTO ProductPrice (Price) VALUES (1252); INSERT INTO ProductPrice (Price) VALUES (1254); INSERT INTO ProductPrice (Price) VALUES (1256); INSERT INTO ProductPrice (Price) VALUES (1258); ALTER TABLE ProductPrice ALTER COLUMN Price DECIMAL (5, 2) WITH (ONLINE = ON) GO SELECT Price FROM ProductPrice GO
Clicking Next Page button to continue reading the topics and click on the Previous Page button to revisit the previous topic.
- MAXDOP for DBCC CHECKDB, DBCC CHECKTABLE and DBCC CHECKFILEGROUP
- ALTER DATABASE SET AUTOGROW_SINGLE_FILE
- ALTER DATABASE SET AUTOGROW_ALL_FILES
- COMPRESS and DECOMPRESS Functions
- STRING_SPLIT and STRING_ESCAPE Functions
- FORMATMESSAGE Statement
- SERVERPROPERTY Function
- TRUNCATE TABLE WITH PARTITIONS
- DROP IF EXISTS
- ALTER TABLE WITH (ONLINE = ON | OFF)