Microsoft Visual Studio Team Edition for Database Professionals
Release Notes for CTP7
This document lists the system requirements to install the seventh community technical preview (CTP7) of Microsoft Visual Studio Team Edition for Database Professionals. This document also describes issues that you might find while you use this release
1. System Requirements
CTP7 for Visual Studio Team Edition for Database Professionals has the following system requirements:
· Visual Studio Team Suite – other versions of Visual Studio are not supported for CTP7.
o The Visual Basic or C# language feature installed
o MSXML installed (It is installed by default)
· Microsoft SQL Server 2005 Developer or Enterprise Edition installed and running for design-time validation on the same computer as Visual Studio. For more information, see http://www.microsoft.com/sql/howtobuy/default.mspx.
· Microsoft Windows 2000 with Service Pack 4 (SP4), Windows XP with Service Pack 2 (SP2), or Windows Server 2003 with Service Pack 1 (SP1). Installing on Microsoft Windows Vista is not a supported scenario for CTP7.
You can order trial versions of Visual Studio Professional Edition or Visual Studio Team Suite at http://www.tryvs2005.com.
Before you install CTP7, you must uninstall any prior CTP of Visual Studio Team Edition for Database Professionals.
IMPORTANT: The CTP7 release is only valid until March 1, 2007. After that date, the CTP7 release will not load. You should upgrade to a newer release of Visual Studio Team Edition for Database Professionals before that date.
2. Known Issues in CTP7
2.1. General
2.1.1. Supported versions of SQL Server
There are a limited number of Microsoft SQL Server versions and compatibility modes from which you can import schemas and to which you can deploy databases. The following table shows from which versions and compatibility modes you can import database schemas into which types of database projects.
|
|
Source Database Server |
|
SQL Server 2000 |
SQL Server 2005 |
|
Database Compatibility |
6.5 |
7.0 |
8.0 |
6.5 |
7.0 |
8.0 |
9.0 |
|
SQL Server 2000 Database Project |
Not Supported |
Not Supported |
Supported |
Not Supported |
Not Supported |
Supported* |
Not Supported |
|
SQL Server 2005 Database Project |
Not Supported |
Not Supported |
Supported |
Not Supported |
Not Supported |
Supported |
Supported |
* - You can import objects from a SQL Server 2005 database into a SQL Server 2000 database project only if SQL Server 2000 supports those objects.
For database deployment, the following table shows which versions and compatibility modes are supported for the source database project and target database server.
|
|
Target Database Server |
|
SQL Server 2000 |
SQL Server 2005 |
|
Database Compatibility |
6.5 |
7.0 |
8.0 |
6.5 |
7.0 |
8.0 |
9.0 |
|
SQL Server 2000 Database Project |
Not Supported |
Not Supported |
Supported |
Not Supported |
Not Supported |
Partially Supported |
Partially Supported |
|
SQL Server 2005 Database Project |
Not Supported |
Not Supported |
Not Supported |
Not Supported |
Not Supported |
Not Supported |
Partially Supported |
2.1.1. Compatibility with prior CTPs
If you have database projects that you created by using a prior CTP of Team Edition for Database Professionals, you cannot open them by using CTP7. To implement new features, some breaking changes were required in the file formats for database projects, data generation plans, and database unit tests.
To resolve this issue
Create a database project. On the Project menu, click Add Existing Item to add the .sql files that contain your database object definitions. You must manually recreate any data generation plans and database unit tests.
2.1.2. Renaming files that are contained in a database project
File names for project items are not necessarily robust to underlying changes. If you change the name of a file, you might not be able to reload your project.
To resolve this issue
Avoid renaming the files outside of Visual Studio.
2.1.3. Help topic integration
You must install the MSDN Library that contains the documentation for Visual Studio Team Edition for Database Professionals for help topics to appear when you press F1.
2.1.4. Connect Properties and Save my Password
If you use SQL Server Authentication when you connect to a database server, your encrypted password is saved to your local registry even if you do not select the Save my password check box.
To resolve this issue
There is no workaround for this issue at this time.
2.2. Database Project, Build, and Deployment
2.2.1. Required Permissions to Create and Use Database Projects
To create and use database projects, you must belong to the securityadmin and the dbcreator fixed server roles for your design-time validation database. In addition, if you are not connecting to SQL Server as a member of the sysadmin role, you must have View Server State permissions on the server and a member of the sysadmin role must run the following script:
USE MASTER
GO
GRANT EXECUTE ON sp_detach_db TO public
GO
To resolve this issue
Have your database administrator add you to the securityadmin and dbcreator fixed server roles. If you run as sysadmin, you already belong to these roles.
2.2.2. Changing the target database project in the Import Database Schema dialog box
If you have multiple database projects in a single solution, you cannot click one project, use the Import Database Schema command, and change the target in the Import Database Schema dialog box. Even if you specify a different project in that dialog box, the schema will be imported to the project that you initially clicked.
Example: You have a solution that contains database projects ProjectA and ProjectB. You click ProjectA and use the Import Database Schema command. Even if you change the target in the Import Database Schema dialog box to ProjectB, the schema will be imported to ProjectA.
To resolve this issue
Click the correct target database project before you use the Import Database Schema command. If you click the wrong target, click Cancel to close the Import Database Schema dialog box, click the correct target, and use the Import Database Schema command again.
2.2.3. Opening the same database project in multiple instances of Visual Studio
You cannot open a database project in more than one instance of Visual Studio. If you try to open a database project that is already open in another instance of Visual Studio, an error appears that says "The design database is locked. If you are trying to open a database project that is already open in another instance of Visual Studio, you must first close the other instance."
To resolve this issue
Close the solution that contains the database project in the other instance of Visual Studio.
2.2.4. Importing schemas that contain encrypted objects
If you import a schema that has one or more encrypted objects in it, those objects will not be imported and no error will appear.
To resolve this issue
You can add the objects to the database project manually. In Schema View, right-click the database project node, point to Add, and click the type of encrypted object that you want to add, such as Procedure.
2.2.5. Deploying a database project with new users
When you add users to a database project, if the related logins do not exist, you must add them. You do so by adding the sp_addlogin (SQL Server 2000) or CREATE LOGIN (SQL Server 2005) statements to the Logins.Sql script that the pre-deployment script includes.
To resolve this issue
In Solution Explorer, expand the Scripts folder, open the Pre-Deployment folder and double-click the Logins.sql file to open it in the Transact-SQL (T-SQL) editor. Add the sp_addlogin or CREATE LOGIN statements, and then save your changes before you build and deploy your database project.
2.2.6. Restarting SQL Server when a database project is open
If you stop and restart your local instance of SQL Server when a database project is open, an error message appears and indicates that you have lost your connection. Any modifications to the database project will cause the error message to reappear until you unload and reload your project.
To resolve this issue
In Solution Explorer, click your database project, open the Project menu, and then click Unload Project. When the project is unloaded, open the Project menu and then click Reload Project. As an alternative, you can close and reopen your solution.
2.2.7. Full-text index files
If you add a full-text index to your database project from Schema View and your Schema View is sorted by Type, the file for the index might get created directly under the project node.
To resolve this issue
Sort Schema View by Schema before you add the index. As an alternative, you can open Solution Explorer, open the Schema Objects folder, open the tables Folder, open the Indexes folder, and manually move the script to the Indexes folder after you add the file.
2.2.8. Visual Studio Team Foundation Build Integration
If you use Team Foundation Build, the output from building the database project (the .sql file that contains all the statements for deploying the database) is not automatically copied to the build drop area. In addition, the TargetDatabase and TargetConnectionString properties are stored in the .user file.
To resolve this issue
Find the .sql build file in the path that is specified in the project properties (usually relative to the database project folder) and copy it as needed. To build successfully from Team Foundation Build, you must modify the ProjectName.dbproj file to add the TargetDatabase and TargetConnectionString properties from the ProjectName.dbproj.user file for the configuration that you want to build.
2.2.9. Errors from the Import Script Wizard
If you import database objects by using the Import Script wizard, no errors appear even if errors are encountered. Any statements that cannot be successfully interpreted are ignored and files for them are not generated in the database project.
To resolve this issue
There is no workaround for this issue at this time.
2.2.10. The Import Script Wizard and sp_execsql
If you import a script that contains DLL statements that are embedded inside sp_execsql calls, any objects that are defined within those DLL statements are not added to the database project. For example, the procedure in the following example will not be added to the database project:
EXEC dbo.sp_executesql @statement = N'
-- Proc Comments go here
CREATE PROCEDURE [dbo].[my_proc]
@p1 NVARCHAR(40)
AS
SET NOCOUNT ON
SELECT @p1
'
To resolve this issue
If you have a database that contains the object definitions, you can use the Import Database Schema command into an empty database project. If you must add the missing object definitions to a database project that already contains object definitions, you can use Schema Compare to compare the database to your database project, and then write the additional objects to the database project.
2.2.11. Triggers in Solution Explorer
If you add or import triggers, they are added beneath the Schema Objects folder, rather than beneath the Triggers folder.
To resolve this issue
You must move the files to the correct location within the database project.
2.2.12. Unexpected exception encountered. Details of the exception can be found in the file {0}.
If the Transact-SQL statement interpreter stops responding while reading an SQL statement, an error appears in the Error List window. Also, a temporary file that has information about the exception is created in the Windows Temp folder with a file name of TS Data Guid.tmp.
To resolve this issue
If this error appears, report it through the Microsoft Connect site and attach the temporary file.
2.2.13. Renaming Database Projects
If you rename your database project, any existing .dbproj.user files are not renamed. The project settings that are stored in the .dbproj.user file are saved to the new name, but the old file will remain.
To resolve this issue
You must manually delete the old .dbproj.user files after you rename a database project.
2.2.14. Stored Procedure Parameters and Case Sensitivity
The parameters of a stored procedure are case sensitive if the design-time validation database server is case sensitive, regardless of the collation setting of the database project.
To resolve this issue
If your stored procedure parameters must be case insensitive, set your design-time validation database server to be case insensitive.
2.3. Database Unit Testing
2.3.1. Only one batch statement is supported per test script for database unit testing
Only the first batch statement is processed.
To resolve this issue
Avoid using more than one batch statement in your unit test scripts.
2.3.2. Changing connection strings
The app.config file in your test project contains connection strings to a database that you are testing. If a connection string specifies an incorrect server or database, database unit tests in that test project fail. Even if you correct the connection string in the app.config file and run tests, the tests still fail.
To resolve this issue
After you correct the connection string, rebuild the test project. Then run the database unit tests again.
2.3.3. Opening a data generation plan while the Database Unit Test Designer is open
You might experience a delay if you open a database unit test in the Database Unit Test Designer and then you open the test’s data generation plan without first closing the designer.
To resolve this issue
Before you open a data generation plan, close the Database Unit Test Designer for any database unit tests that are associated with that data generation plan.
2.3.4. Test Condition Extensibility
If an error occurs when a custom test condition is loaded, no error appears. However, the test condition does not appear in the list of test conditions in the Database Unit Test Designer.
To resolve this issue
You must fix the issue with the test condition before it will appear in the list.
2.3.5. Database unit tests for triggers that are based on views
Transact-SQL (T-SQL) code stubs will not be automatically generated for database unit tests for triggers that are based on views. If you right-click on a trigger that is based on a view, the Create Unit Tests menu item is disabled on the context menu.
To resolve this issue
You must manually create a database unit test for the trigger by writing the appropriate T-SQL statements in a new database unit test.
2.4. Data Generator
2.4.1. Inserting too many rows during Data Generation
After you create a data generation plan, if you specify too large a value for the Rows to Insert field for one or more tables in your database, Visual Studio might encounter an exception when generating data into your database. The maximum value that causes the exception depends on the configuration of your database server.
To resolve this issue
Specify fewer rows to insert. For example, on a 1.7 GHz computer with 1 GB of RAM, we recommend that you insert no more than 1000 rows into each table in the Northwind database.
2.4.2. Deleting too many rows during Data Generation
Before data is generated for your database, you are asked whether you want to clear the contents of the selected tables. If you choose to clear the contents of those tables and the selected tables contain a large number of rows, a SQL timeout error might appear in the Error List window. The number of rows required to cause this problem depends on the configuration of your database server.
To resolve this issue
Use SQL Server management tools to delete the rows from the tables before you attempt to generate data.
2.4.3. Connecting from Data Generator to Microsoft SQL Server 2000
If you installed Microsoft SQL Server 2000 after you installed SQL Server 2005 or SQL Server Express, a known issue prevents the SQL Browser from reading that instance’s registry key. As a result, that instance will not be exposed for port resolution, and TCP will not function. You might receive a connection error message.
To resolve this issue
For information about a workaround for this problem, see http://support.microsoft.com/kb/905618/en-us.
2.4.4. Editing data generation
You can edit a data generation plan file (.dgen) even if you have not checked out the file and your version control settings do not allow you to edit files that are checked in.
To resolve this issue
There is currently no workaround for this issue.
2.4.5. Constraints and Data Generator
When you populate a database, Data Generator does not take constraints into account. As a result, SQL Server might raise errors if you attempt to populate a database that includes constraints.
To resolve this issue
Change the generator properties to match the table or column constraints that will affect population. For example, you can change your generator to the Regular Expression generator and supply a pattern that will satisfy the constraint, or you can change your generator to the Schema Bound generator and use data that satisfies the constraint.
2.4.6. Unhandled exceptions in custom generators can cause Visual Studio to stop responding or terminate unexpectedly.
If you create a custom generator and that generator causes an unhandled exception, that unhandled exception might cause Visual Studio to stop responding or terminate unexpectedly.
To resolve this issue
You must identify and handle exceptions within your custom generator.
2.5. Schema and Data Compare
2.5.1. Schema Compare shows permissions as missing in the database project
You can import a schema from a database into a database project and then compare schemas using the database as the source and the database project as the target. However, any permissions that originated in the source database will appear as missing in the target (the database project).
To resolve this issue
There is currently no workaround for this issue. However, to verify the permissions that were imported, examine the post-deployment script. To open this script, expand your database project in Solution Explorer, expand the Scripts folder, expand the Post-deployment folder, and then double-click the script.postdeployment.sql file.
2.6. Database Refactoring
2.6.1. Refactoring scripts that are stored in Visual SourceSafe
If you use a refactoring operation to update scripts that are stored in Visual SourceSafe, a warning message appears for each script (.sql) file that the operation updates. The message reads “There already exists an item with the same name under source control. If you continue with the add, this item will automatically assume the identity of the item under source control. Do you wish to proceed with the add anyway?”
To resolve this issue
Select the Don’t show this dialog box again (Always allow add of existing items) check box to keep the message from reappearing.
2.7. Transact-SQL (T-SQL) editor
2.7.1. Incorrect error line number when executing stored procedures
If you execute a stored procedure in the T-SQL editor, an error occurs within that stored procedure, and you double-click the error in the Error List window, you will always go to the first line in the editor. The line number that appears in the Error List window is the line number within the stored procedure, not the line number within the editor.
To resolve this issue
Open the source for the stored procedure to display the line that resulted in the error. If the stored procedure is defined within a database project, you can double-click the stored procedure in Solution Explorer or Schema View to open it in the editor.