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コメント