Tip: Change Settings with ALTER DATABASE in SQL Server 2008
Follow Our Daily Tips
Twitter | Blog | RSS | Facebook
For SQL Server 2008 and later releases, the ALTER DATABASE statement replaces the sp_dboption stored procedure as the preferred way to change database settings. To change database settings, you must be a member of a role granted the ALTER permission on the database or be explicitly assigned this permission. When you execute an ALTER DATABASE statement, a checkpoint occurs in the database for which the option was changed, and this causes the change to take effect immediately. Most of the options listed accept a value of ON or OFF, which is used to set the state of the option. For example, you can enable transparent data encryption on the CustomerSupport database by using the following command:
T-SQL
USE master;
GO
ALTER DATABASE CustomerSupport
SET ENCRYPTION ON;
GO
PowerShell
Invoke-Sqlcmd -Query "USE master; ALTER DATABASE CustomerSupport
SET ENCRYPTION ON;" -ServerInstance "DataServer91\CorpServices"
Some options explicitly set a specific state. For example, if no users are currently connected to the CustomerSupport database, you could set the database to read-only by using the following command:
T-SQL
USE master;
GO
ALTER DATABASE CustomerSupport
SET READ_ONLY;
GO
PowerShell
Invoke-Sqlcmd -Query "USE master; ALTER DATABASE CustomerSupport
SET READ_ONLY;" -ServerInstance "DataServer91\CorpServices"
From the Microsoft Press book Microsoft SQL Server 2008 Administrator’s Pocket Consultant, Second Edition by William R. Stanek.
Looking for More Tips?
For more tips on using Microsoft products and technologies, visit the TechNet Magazine Tips library.