Conditional Select Multiple Assignment Variables Procedural Flow If If Exists While Goto Global Variables Temporary Tables and Table Variables Local Temporary Tables Global Temporary Tables Table Variables Dynamic SQL Executing Dynamic SQL Error Handling Catch Legacy Error Global Variable RowCount Global Variable Raiserror The Simple Raiserror Form The Complete Raiserror Form Error Severity Adding Variable Parameters to Messages Stored Messages Logging the Error SQL Server Log Catch Block Performing Bulk Operations Bulk Insert Bulk Insert Options BCP Kill the Cursor!
Anatomy of a Cursor The Five Steps to Cursoring Managing the Cursor Update Cursors Cursor Scope Cursors and Transactions Cursor Strategies Complex-Logic Solutions The Logic Code Fast-Forward Cursor with Stored Procedure Update Cursor with Stored Procedure Update Query with User-Defined Function Multiple Queries Query with Case Expression Performance Analysis Denormalizing a List Example Developing Stored Procedures Managing Stored Procedures Create, Alter, and Drop Returning a Record Set Compiling Stored Procedures Stored Procedure Encryption System Stored Procedures Passing Data to Stored Procedures Input Parameters Parameter Defaults Returning Data from Stored Procedures Output Parameters Using the Return Command Path and Scope of Returning Data Using Stored Procedures within Queries Executing Remote Stored Procedures The Complete Stored Procedure The pGetPrice Stored Procedure Adding an Order Building User-Defined Functions Scalar Functions Creating a Scalar Function Calling a Scalar Function Creating Functions with Schema Binding Inline Table-Valued Functions Creating an Inline Table-Valued Function Calling an Inline Table-Valued Function Using Parameters Correlated User Defined Functions Multi-Statement Table-Valued Functions Calling the Function Implementing Triggers Trigger Basics Transaction Flow Creating Triggers After Triggers Instead of Triggers Trigger Limitations Disabling Triggers Listing Triggers Triggers and Security Working with the Transaction Determining the Updated Columns Inserted and Deleted Logical Tables Developing Multi-Row Enabled—Triggers Multiple-Trigger Interaction Trigger Organization Nested Triggers Recursive Triggers Instead of and After Triggers Multiple after Triggers Complex Business Rule Validation Complex Referential Integrity Row-Level Custom Security The Security Table Creating the Table Security Fetch Assigning Security Handling Security-Level Updates The Security-Check Stored Procedure The Security-Check Function Using the NT Login The Security-Check Trigger Auditing Data Changes The Audit Table The Fixed Audit Trail Trigger Rolling Back from the Audit Trail Auditing Complications Auditing Related Data Date Created and Date Modified Auditing Select Statements Data Auditing and Security Data Auditing and Performance Transaction-Aggregation Handling The Inventory-Transaction Trigger The Inventory Trigger Logically Deleting Data Logical Delete Triggers Undeleting a Logically Deleted Row Filtering Out Logically Deleted Rows Cascading Logical Deletes Cascading during the Read Cascading during the Write Logical Deletes and Referential Integrity Degrees of Inactivity Archiving Data Creating Extensibility with a Data Abstraction Layer The AddNew Stored Procedure The Fetch Stored Procedure The Update Stored Procedure Update with RowVersion Minimal-Update The Delete Stored Procedure History Concepts Installing SQL Everywhere Development Tools Runtime Tools Query Analyzer 3.
Synchronizing Data Remote Data Access Merge Replication Web Services Packaging and Deployment Creating the Database Programmatically Deploying a Starter Database with the Mobile Application Creating the Database Dynamically through Merge Replication Other Approaches Security Password Protection Encryption Secure Data Synchronization Tuning, Maintenance, and Administration Measuring and Improving Query Performance SQL Everywhere Maintenance AutoShrink Compact AutoFlush Verify Repair Keeping Merge Replication Healthy More Information Assemblies App Domains CLR Integration.
NET Type Attributes Data Types Database Objects Building Database Types with Visual Studio Creating a CLR Project CLR Functions Queueing Data with Service Broker Configuring a Message Queue Working with Dialogs Sending a Message to the Queue Receiving a Message Monitoring Service Broker Persisting Custom Data Types Satisfying the Requirements Testing and Debugging the UDT Performance Considerations Creating Strongly Named.
NET Assemblies Maintaining the UDT Programming with ADO. NET 2. An Overview of ADO. NET ADO OLE DB Mapping Data Types ADO and Scripting The ADO. NET Object Model Managed Providers SQL Native Client DataAdapters and DataSets NET in Visual Studio Server Explorer Debugging ADO.
Application Tracing Application Building Basics Connecting to SQL Server Data Adapters DataReaders and Recordsets Streams Asynchronous Execution Using a Single Database Value Data Modification Binding to Controls XML Data Type Casting and Converting XML Type Limitations XML Schema Collections XML Indexes Querying XML Data XPATH Merging XQuery with Select For XML Raw For XML Auto HTTP Listening About HTTP. Implicit Endpoints Explicit Endpoints WSDL Endpoint Security Overview of InfoPath Automatic Data Validation Offline Form Completion Conditional Formatting Security in InfoPath InfoPath Object Model Scripting and.
NET Code Note Creating a Form Template Other Features of InfoPath Summary IV. Enterprise Data Management Configuring SQL Server Setting the Options Configuring the Server Configuring the Database Configuring the Connection Configuration Options Displaying the Advanced Options Startup Parameters Startup Stored Procedures Memory-Configuration Properties Dynamic Memory Reconfigure Query Wait AWE Memory Index Memory Lock Memory Max Open Objects Processor-Configuration Properties Affinity Mask Max Worker Threads Priority Boost Lightweight Pooling Parallelism Security-Configuration Properties Security-Audit Level C2 Security Connection-Configuration Properties Maximum Concurrent User Connections Remote Access Remote Query Timeout Enforce DTC Network-Packet Size and Timeout Max Large-Data-Replication Size Server-Configuration Properties Default Message Language Full-Text Search Default Language Allowing Changes to System Tables Query Governor Cost Limit Two-Digit-Year Cutoff Index-Configuration Properties Configuring Database Auto Options Auto Close Auto Create Statistics Auto Update Statistics Cursor-Configuration Properties Cursor Threshold Cursor Close on Commit Cursor Default ANSI Padding ANSI Warnings Arithmetic Abort Numeric Round Abort Concatenation Null Yields Null Use Quoted Identifier Trigger Configuration Properties Database-State-Configuration Properties Database-Access Level Compatibility Level Recovery-Configuration Properties Recovery Model Torn-Page Detection Transferring Databases Copy Database Wizard Working with SQL Script Detaching and Attaching Recovery Planning Recovery Concepts Recovery Models Simple Recovery Model The Full Recovery Model Bulk-Logged Recovery Model Setting the Recovery Model Modifying Recovery Models Backing Up the Database Backup Destination Backup Rotation Performing Backup with Management Studio Backing Up the Database with Code Verifying the Backup with Code Working with the Transaction Log Inside the Transaction Log The Active and Inactive Divide Transaction Checkpoints Backing Up the Transaction Log Truncating the Log Recovery Operations Cape Hatteras Adventures is actually two sample databases that together demonstrate upsizing to a relational SQL Server database.
Version 1 consists of a simple Access database and an Excel spreadsheet—neither of which is very sophisticated. Version 2 is a typical small- to mid-size SQL Server database employing identity columns and views. This database is designed for robust scalability. In various chapters in the book, partitioned views, full auditing features, and Analysis Services cubes are added to the OBXKites database.
SQL Server lets you build powerful databases and create database queries that give your organization the information it needs to excel. Whether deploying a single—instance, two—node cluster or a multiple—node, many—instance cluster for consolidation, this book will detail all of the considerations and pitfalls that may be encountered along the way. Clustering and high—availability expert Allan Hirt shares his many years of wisdom and experience, showing how to put together the right combination of people, processes, technology, and best practices to create and manage world—class, highly available SQL Server failover clusters.
The Always On Availability Groups feature is an enterprise-level solution for high availability and disaster recovery. Always On provides a rich set of options that reduce overhead and resource usage and enable database administrators to implement and manage high availability and disaster recovery solutions far more easily than by implementing the log-shipping and database-mirroring solutions of the past. The goal is always to have your SQL Server databases up and running whenever you need them, rain or shine, disaster or otherwise.
With a focus on real-world experiences and war stories, authors Uttam Parui and Vivek Sanil offer you: Tips, tricks, and best practices for architecting and deploying availability groups.
The confidence required to manage and monitor availability groups. Techniques to troubleshoot common issues that you may face during and after deploying availability groups in a mission-critical production environment. What You Will Learn Grasp important concepts underlying high-availability and disaster recovery. Plan and deploy Always On Availability Groups in your corporate environment. Manage Availability Groups to ensure constant readiness and high throughput.
0コメント