Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microsoft SQL Server Administration

Similar presentations


Presentation on theme: "Microsoft SQL Server Administration"— Presentation transcript:

1 Microsoft SQL Server Administration
David Henson

2 Logistics Class Days: 10 Class Hours: 6:30pm – 10:00pm Notes/Handouts
Demos Slack Channel

3 Recommended Reading Microsoft SQL Server(TM) 2005 Administrator's Pocket Consultant (Pro-Administrator's Pocket Consultant) Microsoft Press

4 Module 1: Overview Course Outline Lab Setup Definitions Tools
What is SQL Server SQL Language Basics SQL Server Network Integration

5 Course Outline – Day 1 Module 1: Overview Module 2: Installation
Module 3: Objects and Securables Module 4: Security And Principals

6 Course Outline – Day 2 Module 5: Backup Module 6: Restore

7 Course Outline – Day 3 Module 7: Web and Email Integration
Module 8: Automation and Job Scheduling Module 9: Transferring Data Module 10: Replication

8 Lab Setup Windows Server SQL Server 2016 Computer Names IP Addresses
Standard, or Enterprise Computer Names IP Addresses

9 Definitions Relational Database DBA Server Client Transact SQL Login
User Role Database SQL SMO(Formerly DMO) SQL Instance Principal Securable

10 Tools SQL Management Studio Visual Studio .Net Current Version
SQL Server Configuration Manager Command Prompt SQLCMD Ping, telnet, nslookup, net use Database Tuning Advisor Full-FeaturedText Editor Notepad++(Free) UltraEdit Textpad Profiler

11 What is SQL Server? Client Server Relational Database Operating System
Windows Service That Manages Database Files, Security and Concurrency

12 SQL Language Basics SELECT INSERT UPDATE DELETE

13 SQL Server Network Integration
Network oriented protocols TCP/IP disabled on SQL Express by default DNS Windows Domain/Active Directory Firewall Settings

14 Lab 1A – Tools In this instructor led lab, you will:
Preview SQL Management Studio Preview Database Engine Tuning Advisor Preview Profiler

15 Module 2: Installation Software Requirements Hardware Requirements
SQL Server Versions Licensing Capacity Planning SQL Services Installation

16 Requirements Operating System Windows Linux/Mac/Docker for SQL 2017
Hosted (AWS, Azure)

17 SQL Server OS Versions

18 SQL Server Licensing Enterprise Standard Developer Express
License Options Core based Server plus CAL (Client Access License)

19 Capacity Planning Drive Space CPU Memory I/O Subsystem

20 I/O Subsystem RAID 0, 1, 5 or 10 Logical Drive Structure
Physical Drive Structure Considerations: Performance Ease and Cost of Management Disaster Planning

21 SQL Services Service Names: Starting/Stopping SQL Server (MSSQLServer)
SQL Server Agent (MSSQLServer) SQL Server Browser SQL Traffic director, allows Dedicated Admin Connection (DAC) SQL Server Integration Services SQLIS.com SQL Server Fulltext Search SQL Server Analysis Services SQL Server Reporting Services Starting/Stopping

22 Service Accounts LocalSystem Local Account Domain Account
Automatic Startup

23 Installation Options Administrative Rights SQL Server
Up to 16 instances SQL Server Management Studio SQL Server Data Tools (SSDT) Administrative Rights

24 What is an Object? Type Of Objects: Table View Stored Procedure
Trigger DataType Function (UDF) Index Constraint

25 Synonyms Allows an alias for a securable New CREATE SYNONYM syntax

26 Creating Objects CREATE Statement Example: CREATE TABLE Customers(
CustomerID int identity, Customer varchar(50) )

27 Altering Objects ALTER Statement Example: ALTER TABLE Customers
ADD CustomerPhone varchar(40)

28 Dropping Objects DROP Statement Example: DROP TABLE Customers

29 Getting Metadata Information Schema Sysobjects table Sp_helptext

30 Setting Permissions GRANT Statement Example: GRANT SELECT ON Customers
TO Public

31 Lab 3A: Creating and Altering Objects

32 Module 4: Security and Principals

33 Surface Area Configuration
Best practice – reduce the “surface area” exposure of your system to minimum Off By Default Microsoft .NET Framework, SQL Service Broker Network Connectivity, and HTTP connectivity in Analysis Services Xp_cmdshell Ad Hoc Remote Query Database Mail Native XML Web Service See Server Facets Tool in Enterprise Manager

34 Levels of Security Login – Server Level User – Database Level
Object – Permissions to Access Objects Application Security Network Access Encryption

35 Windows Workgroup Model
Distributed Accounts Each machine has locally maintained user and group database Windows Server Not Required

36 Windows Domain Model Centralized Accounts Single Sign-On Auditing
Active Directory is a single source for users and groups Single Sign-On Access all resources after logging in only once Auditing

37 Active Directory Extension of the Domain Model
Leverages DNS Name Resolution Better Security Protocols Better Fault Tolerance More Extensible Group Policy

38 Logins Types: Tools Windows (Integrated) SQL (Standard)
SQL Management Studio Scripts

39 Users Tools: SQL Management Studio Scripts

40 Roles Role Is A Group of users Purpose – Ease Permission Management
Role Types: Standard Application Role Tools: SQL Management Studio Scripts

41 Permissions User Defined: Tools: Action Object Access Object Execution
SQL Management Studio Scripts

42 Lab 4A: Creating Accounts

43 Lab 4B: Creating Users and Groups

44 Lab 4C: Permissions

45 Module 5: Backup

46 Reasons for Data Loss Accidental Update Hardware Failure
Improper Application Design Transactions Not Used Other User Error Intentional Distruction Hackers Viruses

47 SQL Server Backup Online Backup Types: COPY_ONLY option
Users can access data during backup Types: Full Differential Log COPY_ONLY option Does not disturb normal backups, truncate logs, or reset any flags Use of Filegroups

48 Increasing Backup Performance
Set appropriate BLOCKSIZE parameter -2048 good for cdrom stored backups With default setting, restore uses buffered io which is more flexible and slower Stripe backup devices

49 Restricted Activities During Backup
Modifying Database Properties Autogrowth Managing Indexes Nonlogged Operations

50 Backup Statement Example: BACKUP DATABASE Lab3A To Disk=‘c:\Lab3A.bak’
WITH INIT, BLOCKSIZE=2048

51 Using SQL Management Studio

52 Backup Options

53 Database Recovery Model
Property of a database Options: Full Bulk_Logged Simple Affects log behavior

54 Backup Requirements System Databases: User Databases:
Master – New Logins, change password MSDB – Modifying or creating jobs User Databases: Whenever data loss is unacceptable At a rate when the cost(cash, downtime) of restore is unacceptable

55 Operating A Standby Server
Server 1-Log Backup Regularly Server 2-Log Restore with NoRecovery Server 2 Database is read-only Server 2-Log Restore with Recovery Used in case of catastrophic failure of Server1

56 Backup Devices Device = File
Permanent object you can reference by name Example: BACKUP DATABASE Lab3A TO DailyBackup

57 Tape Backup Must be attached locally to the SQL Server
Some syntax is unique to tape media Must be recognized by Windows Backup as a SCSI tape device

58 Special Log Backups WITH Truncate_Only WITH No_Truncate
Clears log, no backup file is created Used to maintain log when no regular log backups occur WITH No_Truncate Emergency use when data file not available WITH COPY_ONLY (new to SQL 2005) Does not disturb normal backup flow or interrupt normal log backup/restore process Use on an ad-hoc basis before running potentially harmful queries

59 Backup Strategies Weekly Full Backup Nightly Full Backup
Variations of above with Differential and Log Backups

60 Best Practices Use Automation Test Your Backups Use Notification
Use COPY_ONLY option as needed Understand the Business Keep Management Informed

61 Lab 5A: Backup

62 Module 6: Restore

63 Restore Safety Features
Restore will fail(or need override) if: Backup file stored name does not match the database name Set of database files do not match All necessary files are not available

64 Restore Database Statement
RESTORE DATABASE Lab6 FROM DISK=‘c:\Lab6.bak’ WITH RECOVERY

65 Restore Process Always backup the log first! Full Differential Log
Recovery

66 Saving Space Maintain the log file Compress your backup files

67 Log Restore Options Stopping at a certain time
Stopping at a named bookmark

68 Single Row Restore Use in case of accidental delete:
Restore to a temporary location Enable identity inserts Insert necessary rows Intimate knowledge of data structure required

69 Restoring Master Place server into single user mode Perform Restore
Restart Server

70 Restoring Master with No Backup
Rebuilm.exe utility creates brand new master, model, msdb Sp_attach_db plugs data files back in

71 Best Practices Backup the log at first sign of trouble
Periodically test a restore Maintain enough working space Avoid the need to restore Backup system databases as required

72 Lab 6A: Restore

73 Module 7: Web and Email Integration

74 Web Technologies Allow connection to SQL Server through HTTP
Used for logging, collecting data, reporting, data transfer and admin functions Examples: ASP, ASP.Net, Perl, CGI, Cold Fusion, JSP, Java

75 Communication Process

76 Benefits of web integration
Secure worldwide access No client deployment Remote access for administrative functions

77 Dangers of web access Misuse of data Data communication interception
Hackers have a doorway to your network

78 SQL Injection Malicious users leverage web input against SQL Server
Examples: Running server level commands Changing the where clause…OR 1=1 Running DDL Commands Reading ODBC Errors for data discovery

79 Protection from SQL injection
Only use minimal priviledged account Pre-process all input Minimize direct SQL from web page by using Stored Procs and UDFs

80 ASP Example

81 ASP.Net Example

82 Email Notification Allows asynchronous communication with SQL Server
Numerous techniques: Database Mail New to SQL 2005 Easy to use smtp mail provider, easy setup CDONTS.Newmail Provided as a .dll file with Windows 2000 Com Object CDO.Message Provide with XP/Windows 2003 SQLMail MAPI Client Must be setup during a full moon Third party objects .NET Framework mail objects

83 CDONTS Object

84 CDO Object

85 Database Mail

86 SQL Mail Setup Not recommended Requirements:
MAPI compliant mail server MAPI client on SQL Server SQL Service logged in as domain account Domain account has mailbox available

87 Lab 7A: Web/Email Integration

88 Module 8: Automation and Job Scheduling

89 Requirements SQLServerAgent service must be running
Permissions on network or local resources

90 Automation Examples Nightly backup Nightly data transfer
Hourly generation of web pages Detection of server problems: Log 95% full Backup Log Notification

91 Automation Components
Job Collection of steps, each step performing work Operator Pointer to account in Database Mail or SQL Mail Alerts Connection between a detected problem and a job/operator

92 Jobs Created with gui or with sp_add_job May be scheduled
Comprised of Steps: Transact SQL Operating System Commands ActiveX (VBScript/Javascript) Other (Replication, SSIS, Analysis Services) Retain history Might have success/failure workflow Can target multiple servers

93 Defining a Job Step

94 Operators An alias to a native address of SQL Mail or Database Mail Net Send address also supported Operator Addresses – business hours address Pager – after hours address Net send Failsafe Operator

95 Defining an Operator

96 Alerts Alert types Windows eventlog MUST trigger response
SQL Server Error SQL Server Performance Condition WMI Query Windows eventlog MUST trigger response Alert response is defined by admins Execute Job Send Notification

97 Defining An Alert

98 Proxies Allow job steps to run with a different windows login

99 Lab 8A: Automation and Job Scheduling

100 Module 9: Data Transfer

101 Data Transfer Movement of data between systems
One of the most common DBA functions

102 Data Transfer Examples
Nightly download of sales data from all stores Quarterly catalog update for website Order fulfillment Hourly transfer of order information to fulfillment center Hourly gathering of ship tracking information Movement of web data into accounting system

103 Data Transfer Techniques
SSIS and Import-Export Wizard Legacy DTS Package Support BCP.EXE command line utility Backup/Restore Distributed Queries Saving results from query analyzer Web Page download Bulk Insert Statement Detach/Re-attach database files Log Shipping Select/Insert

104 SSIS Import/Export Wizard Visual Studio Project

105 BCP Command line utility Examples:
Bcp northwind..products out c:\nwind.csv –w –t, -r/n –T Bcp “select * from products” queryout c:\nwind.txt –c –t~ -r/n –Usa -P

106 Backup/Restore Simply compress, then transfer the backup file to the destination Clean up sysusers table after restore

107 Distributed queries Openquery/Openrowset/OpenXML SELECT INTO
INSERT/SELECT Linked Servers

108 Query Analyzer Controlling saved results Output to text file
Reading from different providers

109 Web page download Response Content type change
Saving results to a file, then providing a link Job scheduler, results come through

110 Bulk Insert

111 Detach/Reattach database files
On database node: Right click/all tasks/detach Clean up of sysusers not needed after re- attachment

112 Lab 9A: Data Transfer

113 Module 10: Replication

114 Definitions Automatic transfer of data between locations

115 Replication Types Transactional Merge Snapshot
Only changes are copied across Most efficient Merge Two sources of read/write data Most dangerous Snapshot Data is removed, then re-created on a schedule

116 Replication Models Central publisher/Distributer
Central Subscriber/Multiple Publisher Multiple Publisher/Subscriber

117 Setup Tips Ensure box servers are logged in with a domain account
Ensure the domain account is an admin on both boxes Ensure the domain account can map to c$ Ensure the domain account can run queries against the other server

118 Lab 13A: Replication


Download ppt "Microsoft SQL Server Administration"

Similar presentations


Ads by Google