Visual Database Tools Usage Considerations
 Visual Database Tools and SQL Server Databases
    Database Designer Considerations for SQL Server Databases
    Query Designer Considerations for SQL Server Databases
 Database Development and Visual Database Tools
    Database Designer
    Table Designer
    Interactions Among Database Diagrams and Table Design Windows
    Database Objects
       Uniqueness of Database Object Names
       Tables
       Columns
          Column Properties
       Keys
       Table Relationships
       Indexes
       Constraints
          Check Constraints
          Default Constraints
          Unique Constraints
          Primary Key Constraints
          Foreign Key Constraints
       Triggers
       Stored Procedures
       User-Defined Functions
    Large Database Projects
       Multiuser Database Design
       Multiuser Environments
          Ownership of Database Objects
          Diagrams Affected by Another User's Changes
          Database Objects Deleted by Another User
       Issues of Database Evolution
       Development, Test, and Production Databases
 Database Queries and Visual Database Tools
    Query and View Designer Layout
       Diagram Pane
       Grid Pane
       SQL Pane
       Results Pane
       How the Query Designer Represents Joins
    Queries and Views
    Comparison of Queries and Views
    Indexed Views
    Interactions Among Query and View Designer Windows
    Interaction Between the Results Pane and the Database
    Supported Query Types
    Structure of Retrieval Queries
       Including or Excluding Rows
       Including or Excluding Columns
       Combining Tables
          Types of Joins
          Join Columns
          Join Comparison Operators
          Join Tables
       Collapsing Groups of Rows
       Using a Table Twice in One Query
       Using Something Else in Place of a Table
       Sorting Rows
    Expressions in Queries
    Parameter Queries
    Summary and Grouping Behavior in the Query Designer
    Using the Query Designer with International Data
 Developing Database Structure
    Working with Databases
       Saving Selected Tables on a Diagram
       Saving an Entire Database Diagram
       Saving Your Work in Table Designer
       Discarding Modifications Made in Database Designer or Table Designer
       Reconciling a Database Diagram with a Modified Database
    Working with Tables
       Adding Tables to a Diagram
       Removing a Table from a Database Diagram
       Deleting a Table from a Database Diagram and the Database
       Renaming a Table
       Duplicating a Table
       Copying a Table Across Database Diagrams
       Changing a Table View in a Database Diagram
       Changing Which Properties Appear
       Moving Columns from One Table to Another
       Resizing Property Columns
    Working with Columns
       Inserting Columns into a Table
       Copying Columns from One Table to Another
       Deleting Columns from a Table
       Setting Column Properties
       Renaming a Column
    Working with Relationships
       Creating a Relationship Between Tables
       Enforcing Referential Integrity Between Tables
       Drawing a Reflexive Relationship
       Deleting a Relationship
       Renaming a Relationship
       Checking Existing Data when Creating a Relationship
       Mapping Many-to-Many Relationships to a Database Diagram
    Working with Indexes
       Creating an Index
       Creating a Unique Index
       Creating a Clustered Index
       Renaming an Index
       Deleting an Index
       Saving, Displaying, and Updating an Index Definition
       Specifying a Fill Factor for an Index
    Working with Keys
       Defining a Primary Key
       Modifying a Primary Key
       Deleting a Primary Key Constraint
       Modifying a Foreign Key
       Viewing Foreign Key Attributes
       Disabling a Foreign Key Constraint for Replication
       Disabling a Foreign Key Constraint with INSERT and UPDATE Statements
       Deleting a Foreign Key Constraint
       Copying Column Properties to a Foreign Key Column
    Working with Constraints
       Attaching a New Check Constraint to a Table or Column
       Defining a Check Constraint Expression
       Checking Existing Data When Creating a Check Constraint
       Disabling a Check Constraint for Replication
       Disabling a Check Constraint with INSERT and UPDATE Statements
       Modifying a Check Constraint
       Deleting a Check Constraint
       Creating a Unique Constraint
       Modifying a Unique Constraint
       Deleting a Unique Constraint
    Working with User-Defined Functions
    Working with Scripts
       Saving a Change Script
 Designing Data Retrieval and Manipulation
    Designing Queries
       Performing Basic Operations with Queries
          Creating a Query
          Adding Tables
          Removing Tables
          Adding Columns
          Removing Columns from Query Output
          Removing Columns from the Query
          Reordering Output Columns
          Creating Column Aliases
          Creating Table Aliases
          Verifying a Query
          Commenting a Query
          Executing a Query
          Stopping a Query
          Clearing Query Results
          Printing Query Results
          Ordering Query Results
       Creating Queries
       Specifying Search Criteria
          Specifying Search Conditions
          Selecting Rows that Do Not Match a Value
          Specifying Multiple Search Conditions for One Column
          Specifying Multiple Search Conditions for Multiple Columns
          Combining Conditions when AND Has Precedence
          Combining Conditions when OR Has Precedence
       Creating Subqueries
       Using Expressions in a Query
       Including User-Defined Functions in a Query
       Querying on Groups of Rows
          Excluding Duplicate Rows
          Grouping Rows in Query Results
          Counting Rows in a Table
          Summarizing or Aggregating Values for All Rows in a Table
          Summarizing or Aggregating Values Using Custom Expressions
          Specifying Conditions for Groups
          Using HAVING and WHERE Clauses in the Same Query
       Querying Using Multiple Tables
          Joining Tables Automatically
          Joining Tables Manually
          Joining Tables on Multiple Columns
          Modifying Join Operators
          Creating Outer Joins
          Creating Self-Joins Automatically
          Creating Self-Joins Manually
          Removing Joins
    Manipulating Data
       Editing Rows in the Results Pane
       Adding New Rows in the Results Pane
       Deleting Rows in the Results Pane
       Creating Update Queries
       Creating Insert From Queries
       Creating Delete Queries
       Creating Insert Into Queries
       Creating Make Table Queries
       Creating General Purpose Queries
          Creating a Query with Unnamed Parameters
          Creating a Query with Named Parameters
          Specifying Parameter Marker Characters
    Working With Views
       Creating Views
       Creating Indexed Views
       Modifying Indexed Views
       Encrypting Views
 Reference
    Rules for Updating Results
    Navigating in the Query Designer
    Comparison Operators
    Logical Operators
    Wildcard Characters
    Rules and Grid-Pane Conventions for Combining Search Conditions
    Rules for Entering Search Values
    Aggregate Functions
    Structure of Expressions
    Operators for Expressions
    Functions for Expressions
    Predefined Variables for Expressions
 Dialog Boxes
    Database Designer Dialog Boxes
       Add Table Dialog Box
       Choose Name Dialog Box
       Create Relationship Dialog Box
       Column Selection Dialog Box
       Database Changes Detected Dialog Box
       Datatype Change Required Dialog Box
       Define Column Collation Dialog Box
       Page Setup Dialog Box
       Save Change Script Dialog Box
       Save Dialog Box
       Save Incomplete Dialog Box
       Unsaved Changes Exist Dialog Box
       Validation Warnings Dialog Box
    Query Designer Dialog Boxes
       Add Table Dialog Box (Query and View Designers)
       Database Changes Detected Dialog Box
       Define Query Parameters Dialog Box
       Delete Table Dialog Box
       Go To Row Dialog Box
       Indexes Dialog Box
       Choose Table for INSERT FROM Query Dialog Box
       Insert Into Dialog Box
       Make Table Dialog Box
       Query Definitions Differ Dialog Box
       Returning Query Results (Edit) Dialog Box
       Returning Query Results Dialog Box
       SQL Syntax Errors Encountered Dialog Box
       Update Table Dialog Box
 Properties Pages
    Database Designer Properties Pages
       Columns Property Page
       Check Constraints Property Page
       Indexes/Keys Property Page
       Relationships Property Page
       Tables Property Page
    Query Designer Properties Pages
       Query Tab, Properties Window (Query Designer)
       Query Tab, Properties Window (View Designer)
       Data Source Tab, Properties Window
       Function Parameters Tab, Properties Window
       Parameters Tab, Properties Window
       Join Line Tab, Properties Window
 Error Messages
    Database Designer Troubleshooting Errors
       A pair of matching columns is required to create a relationship.
       A primary key can't be created on column '<0s>' because it allows null values.
       A primary key or index cannot be created on columns with a datatype of <0s>.
       A primary key or index cannot have more than <0d> columns.
       A primary key or UNIQUE constraint must be defined for table '<0s>' before it can participate in a relationship.
       A relationship cannot contain more than '<0d>' columns.
       An index already exists for table '<0s>' with the columns '<1s>'.
       An index can't exist on a blank column.
       Are you sure you want to delete the current selection from your database?
       Are you sure you want to permanently delete table '<0s>' from your database?
       Are you sure you want to permanently delete the selected tables from your database?
       Are you sure you want to remove the selected table from the diagram?
       Are you sure you want to remove the selected tables from the diagram?
       Both sides of a relationship must have the same number of columns.
       Column '<1s>' in table '<0s>' participates in index '<2s>'. Columns with a datatype of '<3s>' cannot participate in indexes or primary keys.
       Editing this default will permanently unbind the named default.
       Identity column '<0s>' in table '<1s>' must have a datatype of int, smallint, tinyint, decimal or numeric with scale of 0.
       Invalid name. You must provide a name for this object.
       ODBC error: <0s>
       One or more selected tables are already on the diagram.
       Only one clustered index can be created on table '<0s>'.
       Only one ROWGUID column is allowed per table.
       Relationship '<0s>' was modified or deleted since the diagram was loaded.
       Table <0s> already exists
       Table '<0s>' is marked for deletion and was not added to the diagram.
       Table '<0s>' no longer exists in the database.
       The Allow Nulls property can't be set on a column that is part of the primary key.
       The Allow Nulls property can't be set on column '<0s>' because it is an identity column.
       The columns in table '<0s>' do not match an existing enabled primary key or UNIQUE constraint.
       The columns in table '<0s>' do not match an existing primary key or UNIQUE constraint.
       The datatype of column '<1s>' in the '<0s>' table can't be changed because it participates in index '<2s>'.
       The datatype or size property of '<0s>.<1s>' doesn't match '<2s>.<3s>'.
       The Default Value property can't be set on column '<0s>' because it is an identity column.
       The existing relationship must have at least one pair of related columns.
       The Identity property can't be set on column '<0s>' because it allows null values.
       The Identity property can't be set on column '<0s>' because it has a default value.
       The number of selected columns exceeds the number of columns in the target table.
       The primary key or UNIQUE constraint cannot be changed until its existing relationships are deleted.
       The primary key or UNIQUE constraint cannot be changed while relationships to the existing primary key or UNIQUE constraint are enforced.
       The total size of an index or primary key cannot exceed 256 bytes.
       You are not logged in as the database owner or system administrator. You will not be able to save changes to tables that you do not own.
       A blank constraint expression is not allowed
       Are you sure you want to delete the selected relationship from your database?
       Deleting the selected columns will also delete relationships
       Do you want to save changes in this diagram?
       Do you want to save changes in this table?
       Database Designer Error
       Internal Error.
       The name is too long.
       This backend version is not supported to design database diagrams or tables.
       Changing the column to the selected data type will delete relationships.
       Adding a formula to the selected column will delete all indexes and relationships it participates in.
       Removing the formula from the selected column leaves it with data type that cannot be indexed.
       Changing the column to the selected data type will delete its indexes.
       Enlarging a column results in a too-large index.
       Adding a formula to the selected column will delete all relationships it participates in as a foreign key.
       Error validating the formula for column.
       Column has no name and will be deleted.
       Primary key or index cannot be created on column '<0s>' because its data type is '<1s>'.
       Primary key or index cannot be created on a column with no name.
       You entered <0d> characters for '<1s>'. The maximum number of characters allowed is <2d>.
       Values for '<0s>' must lie within the range <1d> to <2d>.
       Table '<0s>' has no columns.
       Default Value property cannot be set on column '<0s>' because it is a computed column.
       Column '<0s>' is a computed column, and cannot participate in indexes or relationships.
       Column '<0s>' is a computed column, and cannot contribute to foreign keys.
       The index used to enforce the full-text key for this table will be deleted. Do you want to proceed?
       Column '<0s>' is used to enforce the full-text key on table '<1s>' and must be <2d> bytes or less.
       Column '<0s>' participates in full-text indexing on table '<1s>'.  After this change, the column will no longer participate in the table's full-text index.
       The following error was encountered while changing the collation: <0s>.
       Index '<0s>' is used to enforce the full-text key on table '<1s>' and must not be null.
       Index '<0s>' is used to enforce the full-text key on table '<1s>' and must be single-column.
       Index '<0s>' is used to enforce the full-text key on table '<1s>' and must be unique.
       Index '<0s>' is used to enforce the full-text key on table '<1s>' and must be <2d> bytes or less.
       The identity increment must be a positive number containing <0d> digits or less.
       Identity seed must be a positive number containing <0d> digits or less.
       The table must have at least one column that is not computed.
       The new relationship must have at least one pair of related columns.
       The collation properties of columns <0s> and <1s> do not match.
       Select both primary key table and foreign key table before selecting any field for the relationship.
       Your Logon does not have CREATE TABLE permission; you might not be able to make certain edits that require this permission.
       Setting for Length must be from <0d> to <1d>.
       Setting for Precision must be from <0d> to <1d>.
       Setting for Scale must be from <0d> to <1d>.
       Property cannot be modified.
       A diagram with that name already exists in the database.
       Another user modified this diagram while you were working on it.
       The table being loaded into memory has a user-defined data type that is not recognized.
       Your diagram will be updated with the following changes to match the database before the following tables can be loaded.
       Your table will be updated with the following changes to match the database.
       The following schema-bound objects will be modified.
       Column is the full-text filter for columns that participate in full-text indexing on a table.
    Query Designer Troubleshooting Errors
       (+) operator ignored.
       (+) table reference cannot be joined with more than one table.
       <0s> in expression is not part of the query.
       The Query Designer does not support the <0s> SQL construct.
       <0s> cannot be used in this query type.
       <0s> support not available in this server version.
       A number of rows were affected.
       Ambiguous outer join (+) operator.
       Appropriate SQL cannot be generated.
       You are about to delete a row or rows.
       Bad top value.
       Cannot put expression on select list.
       Cannot assign alias to this field.
       Cannot convert entry to valid date/time.
       Cannot convert to proper type.
       Cannot delete rows with unknown keys.
       Cannot edit rows with unknown keys.
       Cannot edit this cell.
       Cannot filter this expression.
       Cannot insert into this expression.
       Cannot open encrypted <0s> <1s>.
       Cannot update this expression.
       Cannot use column whose data type is IMAGE or TEXT in this context.
       Cannot use LONG data type in this context.
       Column list not supported for Make Table query.
       Column with (+) operator does not reference a valid table.
       Data source alias is read only.
       Data source base name is read only.
       Data type error in expression.
       Data type mismatch - no conversion possible.
       Data type mismatch - use the CONVERT function.
       DELETE statement conflicted with COLUMN REFERENCE constraint.
       Do you want to suppress further error messages telling you why records can't be pasted?
       Error after function '<0s>'
       Error after predicate near '<0s>'
       Error before EXISTS clause.
       Error before EXISTS clause: '<0s>' not recognized.
       Error before FROM clause.
       Error following UNION operator.
       Error in column list.
       Error in column list: '<0s>' not recognized.
       Error in destination table specification.
       Error in FROM clause near '<0s>'
       Error in GROUP BY clause.
       Error in GROUP BY clause near '<0s>'.
       Error in HAVING clause.
       Error in HAVING clause near '<0s>'.
       Error in INSERT statement.
       Error in INSERT statement: '<0s>' not recognized.
       Error in join expression.
       Error in join expression: '<0s>' not recognized.
       Error in list of function arguments: '<0s>' not recognized.
       Error in list of values.
       Error in list of values in IN clause.
       Error in list of values in IN clause: '<0s>' not recognized.
       Error in list of values: '<0s>' not recognized.
       Error in ON clause near '<0s>'.
       Error in optional FROM clause.
       Error in ORDER BY clause.
       Error in ORDER BY clause near '<0s>'.
       Error in SELECT clause: alias '<0s>' not recognized.
       Error in SELECT clause: alias not recognized.
       Error in SELECT clause: expression near '<0s>'.
       Error in set list in UPDATE clause.
       Error in table name or view name in DELETE clause.
       Error in table name or view name in DELETE clause: <0s>' not recognized.
       Error in table name or view name in INSERT clause.
       Error in table name or view name in INSERT clause: '<0s>' not recognized.
       Error in table name or view name in UPDATE clause.
       Error in text following query statement: '<0s>'.
       Error in values list in INSERT INTO clause.
       Error in values list in INSERT INTO clause: '<0s>' not recognized.
       Error in WHERE clause near '<0s>'.
       Function argument count error.
       Ignoring illegal use of ALL.
       Ignoring ODBC syntax.
       Illegal use of expression list.
       Illegal sequence use.
       Illegal use of outer join operator.
       Incomplete column list.
       Incomplete SET clause.
       Incomplete VALUES list.
       Invalid entries must be resolved before you can exit this pane.
       Invalid escape character.
       Invalid identifier '<0s>'.
       Invalid or missing expression.
       Invalid or missing expression near '<0s>'.
       Invalid prefix or suffix characters.
       Invalid row index: Goto failed.
       Invalid text or symbol.
       Invalid view name.
       Missing escape character in LIKE predicate.
       Missing FROM clause.
       Missing FROM clause near '<0s>'.
       Missing FROM keyword.
       Missing FROM keyword near '<0s>'.
       Missing INTO keyword.
       Missing INTO keyword near '<0s>'.
       Missing or incomplete SELECT clause.
       Missing pattern in LIKE predicate.
       Missing SET keyword.
       Missing subquery.
       Missing subquery correlation name.
       Missing subquery or the operator you entered requires parenthesis.
       Must enter either TRUE or FALSE.
       Outer join column may not be used with an IN predicate or subquery.
       Query Designer cannot open this query file.
       Query has executed successfully.
       Row limit value should be between <xxx> and <xxx>.
       SQL statement could not be parsed.
       The SQL syntax has been verified against the data source.
       Syntax error in table reference.
       Syntax error in table reference: '<0s>' not recognized.
       ODBC driver returned an invalid ODBC version and needs to be updated.
       Use of GROUP BY function in WHERE clause not allowed.
       The NOT keyword may not be used in a column cell.
       ORDER BY not supported for CREATE TABLE query.
       Outer join operator (+) not allowed as OR operand.
       Outer join operator (+) not allowed in the grid pane.
       The query cannot be executed because some files are missing or not registered.
       The Query Designer does not support the critical ODBC APIs.
       The Query Designer does not support the current ODBC API.
       Query Designer supports no more than 1 table for this type of query.
       The specified OR group number is already in use.
       The value you entered is not consistent with the data type or length of the column.
       There are not enough columns in the subquery select list.
       There are not enough columns to match the value list.
       There are no columns selected. Please select one or more columns and re-run the query
       There is no unique table in this query.
       ALIAS name is already being used.
       This cell contains the text string "<NULL>" which may not be processed correctly.
       IS operator can only be used with NULL or NOT NULL.
       This operator cannot be used with columns with data type "uniqueidentifier".
       Table is not in the query definition.
       Too many characters for field width.
       Unable to locate data source.
       Unable to parse expression.
       Unable to parse query text.
       Unable to parse statement.
       Unknown column.
       Unknown conversion specification.
       Use of CONVERT function might be unnecessary.
       SQL text cannot be represented in the grid pane and diagram pane.
       View already exists in the database.
       You might not have permission to perform this operation, or the object <0s> might no longer exist in the database.
       Link server object cannot be used as a destination with this query type.
       ALL cannot be used with CUBE or ROLLUP.
       OpenRowset cannot be used as a destination with this query type.
       Enter an expression in the Column cell first.
       Your entry cannot be converted to a valid date time value.
       Query Designer Error.
       The alias name is too long.
       Poorly formed comment.
       An expression cannot be used as a parameter value.
       Incomplete parameters or column list.
       Incomplete parameters list.
       Warning:  Modification can result in a view that cannot be indexed.
       Warning:  It is likely that the view definition will result in a view that cannot be indexed.
       Index already exists.
       Unquoted alias contains white space.
       If you save the view encrypted, you will no longer be able to alter the view definition.
       View has indexes.  If you remove schema binding, the indexes will be dropped.
       Edits not allowed.  Having clause not allowed in an Indexed View.
       Database Server Version Runtime Error.
       SQL Verify failed.
       Malformed Cast Function.
       Illegal use of collation clause.
       Columns in this expression have incompatible collations.
       Collate clause may not be used in an indexed view.
       Asterisk (*) may not be used in an indexed view.
       Index must have at least one column.
       Invalid fill factor; enter an integer between 0 and 100.
       Indexed View must contain a clustered index.
       The table-valued function used as target is not an in-line function.
       WITH TIES clause requires an ORDER BY clause.
       There are too many values from the sub-query select list.
       NOT cannot be used in a column cell.
       View definition includes no output columns or not items in the FROM clause.
       You cannot create a view which is self-referenced.
       This SQL statement type cannot be used in a view.
       Query or View has been modified.  Save changes before closing?
       Query or View already exists.  Do you want to overwrite it?
       You are about to paste n rows.
       Rows pasted.
       Column cannot be updated.
       The database row you are modifying no longer exists in the database.
       Too many or too few parameters specified.
       View name cannot begin with #.
       Table name cannot include the double-quote character.