Always On: New Availability Group via Wizard

Specify Name Enter name of availability group. Specify Databases Database must meet prerequisites requirements. Full recovery mode is required. Specify Replicas “Add Replica” as Secondary role Select “Automatic Failover” for each server Select “Synchronous Commit” for each server Select “Readable Secondary” for each server Select Data Synchronization “Full” – when you want the wizard to... » read more

Database stuck in Restoring state

Problem: SQL Server database stuck in RESTORING state Sometimes the database is in a restoring state after restarting the machine or for some other reason. It usually happens with big databases when a long transaction is in progress and an unexpected server shutdown or restart occurs. Fix: Sources: https://www.mssqltips.com/sqlservertip/5460/sql-server-database-stuck-in-restoring-state/

Extend Existing Partition

Use the following to check the current range for the partition. Example: Extend existing partition from 2018 to 2019. Add additional file group first, then modify partition schema and function. No need to modify partition table itself if the table is already setup to use partition. Step 1: Add Additional File Group Step 2: Add... » read more

Restore Database From Backup with Replace Option

REPLACE Option Impact REPLACE should be used rarely and only after careful consideration. Restore normally prevents accidentally overwriting a database with a different database. If the database specified in a RESTORE statement already exists on the current server and the specified database family GUID differs from the database family GUID recorded in the backup set,... » read more

Non Clustered Index for Performance Example

A Non-clustered index is built using the same 8K-page B-tree structure that is used to build a Clustered index, except that the data and the Non-clustered index are stored separately. A Non-clustered index is different from a Clustered index in that, the underlying table rows will not be stored and sorted based on the Non-clustered... » read more

Create Partition Table With Date Column

SELECT DATEFROMPARTS(YEAR(GETDATE()),MONTH(GETDATE()),1) Note: Always use date type for partition column. Make sure the following are created for partition… Partition File Group (Folder structure has been created as well) Partition Function Partition Schema Partition Table Note: If the database is part of Always On, make sure the folder structure has been created on the secondary servers... » read more

Refresh View Object After Update

sp_refreshview Updates the metadata for the specified non-schema-bound view. Persistent metadata for a view can become outdated because of changes to the underlying objects upon which the view depends. Run the following SP to refresh all views in the database, after there was database object modifications. Sources: https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-refreshview-transact-sql?view=sql-server-ver15