DBAT SQLCode180730
DBAT SQLCode180730
USE [master]
RESTORE DATABASE [AdventureWorks2014] FROM DISK = N'C:\DBA\
AdventureWorks2014.bak'
WITH FILE = 1, MOVE N'AdventureWorks2014_Data' TO
N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\
AdventureWorks2014_Data.mdf',
MOVE N'AdventureWorks2014_Log' TO
N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\
AdventureWorks2014_Log.ldf'
Backing up Database
BACKUP DATABASE [AdventureWorks2014] TO DISK = N'C:\DBA\AdventureWorksBackup2'
WITH NOFORMAT, NOINIT, NAME = N'AdventureWorks2014-Full Database Backup', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
GO
Backing up in SSMS
BACKUP DATABASE [AdventureWorks2014]
TO DISK = N'C:\DBA\AdventureWorksBackup2' WITH DIFFERENTIAL
, NOFORMAT, NOINIT, NAME = N'AdventureWorks2014-Full Database Backup'
, SKIP, NOREWIND, NOUNLOAD, STATS = 10
use [master]
GO
Schema
USE [AdventureWorks2014]
GO
CREATE SCHEMA [MyNewSchema] AUTHORIZATION [SQLTest]
GO
15d. Implement indexes
USE [AdventureWorks2014]
GO
GO
GO
select *
from sys.dm_db_index_physical_stats(DB_ID('AdventureWorks2014')
,object_id(N'[Person].[Address]'),null,null,null) as stats
join sys.indexes as i
on stats.object_id = i.object_id and stats.index_id = i.index_id
USE [AdventureWorks2014]
GO
ALTER INDEX [PK_Address_AddressID] ON [Person].[Address] REORGANIZE WITH (
LOB_COMPACTION = ON )
GO
ALTER INDEX [AK_Address_rowguid] ON [Person].[Address] REORGANIZE WITH (
LOB_COMPACTION = ON )
GO
ALTER INDEX
[IX_Address_AddressLine1_AddressLine2_City_StateProvinceID_PostalCode] ON
[Person].[Address] REORGANIZE WITH ( LOB_COMPACTION = ON )
GO
ALTER INDEX [IX_Address_StateProvinceID] ON [Person].[Address] REORGANIZE WITH (
LOB_COMPACTION = ON )
GO
15c. Identify unused indexes
select object_name(u.object_id) as [Object Name], *
from sys.dm_db_index_usage_stats as U
join sys.indexes as I
on u.object_id = i.object_id and u.index_id = i.index_id
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name =
N'Secondary')
ALTER DATABASE [DBAdatabase] MODIFY FILEGROUP [Secondary] DEFAULT
GO
GO
GO
13e, 14d-e. Managing and restoring a multi-TB database
BACKUP DATABASE [DBAdatabase] FILEGROUP = N'Secondary' TO
DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\
DBAdatabase.bak'
WITH NOFORMAT, NOINIT, NAME = N'DBAdatabase-Full Database Backup', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
GO
select *
from sys.databases
dbcc shrinkfile(DBAdatabase_log, 3)
6i. DBCC
dbcc shrinkdatabase([DBAdatabase],20)
select * from sys.database_files
USE [DBAdatabase]
GO
CREATE USER [ContainedUser] WITH PASSWORD=N'Passw0rd!'
GO
6e. Data Compression
USE [AdventureWorks2014]
ALTER INDEX [IX_Employee_OrganizationNode] ON [HumanResources].[Employee]
REBUILD PARTITION = ALL WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON,
DATA_COMPRESSION = PAGE)
select *
from sys.indexes
where object_name(object_id)='Department'
exec sp_estimate_data_compression_savings
'HumanResources', 'Department', 2, NULL, 'PAGE'
GO
10d. Diagnose blocking, live locking and deadlocking
--Session 1
begin tran
update [dbo].[FlatFile]
set Heading1 = heading1+1
--Session 2
begin tran
update [dbo].[FlatFile2]
set Heading1 = heading1+1
select *
from [dbo].[FlatFile]
--Session 1
begin tran
update [dbo].[FlatFile2]
set Heading1 = heading1+1
select *
from sys.databases
select *
from sys.dm_os_waiting_tasks
where session_id in (58, 59)
select *
from sys.dm_exec_requests
select *
from sys.sysperfinfo
where object_name like 'SQLServer:Buffer Manager%'
order by counter_name
exec xp_readerrorlog 2
4d. Filestream
EXEC sp_configure filestream_access_level, 2
RECONFIGURE