MSBuild TSD01234: ‘’, hexadecimal value 0×07, is an invalid character

Error Message:

—— Deploy started: Project: SFSSHR, Configuration: Debug Any CPU ——

Proj1.dbschema(0,0)Error TSD01234: ‘’, hexadecimal value 0×07, is an invalid character. Line 2265, position 4.

Route cause: 

When paste a comment from Excel to PowerDesigner, some hidden characters or fancy quotes are brought into the code. TFS doesn’t like these characters and fails the build.

To Fix:

Remove these characters from the source code.

Comments

SQL Server 2008 depends on Visual Studio 2008 SP1

If you have VS 2008 installed on your computer and you try to install SQL Server 2008, you will get an error message saying “an earlier version of Visual Studio is installed”. Even if you install Visual Studio 2008 SP1 Beta, you won’t pass the requirements. VS 2008 Sp1 is scheduled to release on week of Aug 11.

This is now documented on this KB: http://support.microsoft.com/kb/956139

Offered solution are:

If Visual Studio 2008 is not currently installed on your computer, you can install SQL Server 2008. No further action for installing Visual Studio is required.
If Visual Studio 2008 is currently installed on your computer, you cannot install SQL Server 2008 successfully unless you perform one of the following actions:

Install Visual Studio 2008 SP1 before you install SQL Server 2008.
Uninstall Visual Studio 2008, and then install SQL Server 2008. After you install SQL Server 2008, you can install Visual Studio 2008. Then, you can install Visual Studio 2008 SP1.
Only install components of SQL Server 2008 that do not require Visual Studio 2008. For example, do not select the following features: 

Management Tools (both Basic and Complete)
Integration Services
Business Intelligence Development Studio

Comments (1)

SQL Server 2008 Released August 6 2008

Check the web site to find out more detail:

http://www.microsoft.com/sqlserver/2008/en/us/default.aspx

Comments

SQL Server 2008 CDC

The Change Data Capture feature seems to capture the ddl applied to the base table on CDC.ddl_history. However the _CT table doesn’t get updated automatically with the new schema definition.

Use Test

goEXEC sys.sp_cdc_enable_db

Select name, is_cdc_enabled from sys.databases

EXEC sp_cdc_enable_table ‘dbo’, ‘Address’, @role_name = NULL, @supports_net_changes =1

Select [name], is_tracked_by_cdc from sys.tables

select * from dbo.Addressselect * from cdc.dbo_Address_CT

alter table dbo.Address add AddressLine5 varchar(100)

select * from cdc.dbo_Address_CT AddressID ContactInfoID AddressLine1 AddressLine2 AddressLine3 AddressLine4 MunicipalityName ProvinceType CountryType PostalCode AddressType IsConfidential AddressID ContactInfoID AddressLine1 AddressLine2 AddressLine3 AddressLine4 MunicipalityName ProvinceType CountryType PostalCode AddressType IsConfidential———————————— ———————————— —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- ———————————— ———————————— ———— ———————————— ————–

 AddressID ContactInfoID AddressLine1 AddressLine2 AddressLine3 AddressLine4 MunicipalityName ProvinceType CountryType PostalCode AddressType IsConfidential———————————— ———————————— —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- ———————————— ———————————— ———— ———————————— ————–(0 row(s) affected)

__$start_lsn __$end_lsn __$seqval __$operation __$update_mask AddressID ContactInfoID AddressLine1 AddressLine2 AddressLine3 AddressLine4 MunicipalityName ProvinceType CountryType PostalCode AddressType IsConfidential

———————- ———————- ———————- ———— —————————————————————————————————————————————————————————————————————————————————————— ———————————— ———————————— —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- ———————————— ———————————— ———— ———————————— ————–

(0 row(s) affected)

__$start_lsn __$end_lsn __$seqval __$operation __$update_mask AddressID ContactInfoID AddressLine1 AddressLine2 AddressLine3 AddressLine4 MunicipalityName ProvinceType CountryType PostalCode AddressType IsConfidential

———————- ———————- ———————- ———— —————————————————————————————————————————————————————————————————————————————————————— ———————————— ———————————— —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- —————————————————————————————————- ———————————— ———————————— ———— ———————————— ————–

(0 row(s) affected)

By the way, I am using the RC0 version of the SQL Server 2008. The behaviour may change in the future.

Comments

SQL Server Login User Mapping error

Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)

Additional information:

->An exception occurred while executing a Transact-SQL statement or batch.

    (Microsoft.SqlServer.ConnectionInfo)

–>Cannot resolve the collation conflict between “Latin1_General_CS_AS” and “SQL_Latin1_General_CP850_CI_AS” in the UNION operation. (Microsoft SQL Server, Error: 468)

 

Server collation is: SQL_Latin1_General_CP850_CI_AS 

Database collation: 

select cast(name as varchar(50)), cast(collation_name as varchar(40)) from sys.databases

 

————————————————– —————————————-

master SQL_Latin1_General_CP850_CI_AS

tempdb SQL_Latin1_General_CP850_CI_AS

model SQL_Latin1_General_CP850_CI_AS

msdb SQL_Latin1_General_CP850_CI_AS

ReportServer Latin1_General_CI_AS_KS_WS

ReportServerTempDB Latin1_General_CI_AS_KS_WS

Test SQL_Latin1_General_CP850_CI_AS

AdventureWorks Latin1_General_CS_AS

AdventureWorksDW Latin1_General_CS_AS

CORDB_DEVL SQL_Latin1_General_CP850_CI_AS

 

Comments

Store User Name in ContextInfo

This is useful when the web service is running on a service account which authenticates to SQL Server, and users are not authenticated with SQL Server.  In order to track user’s action, we need to store user information in the session.

To Set:

declare @ContextInfo varbinary(128)

select @ContextInfo = ContextInfo from ApplicationUser where UserName = ‘User1′

– where User1 is the application user name

SET CONTEXT_INFO @ContextInfo

To retrieve the context

SELECT CONTEXT_INFO();

Comments

Microsoft SQL Server 2008 and data warehouse

Comments

How to delete an unwanted workspace

If you want to lock a file that has been checked out by a specific user who left the project, you can unlock the specific file or delete the unwanted workspace.

Navigate to the folder that contains tf.exe file, i.e. C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE, and run this command: 

tf workspace /delete [WorkspaceName];[Domain]\[User] /s:http://[TFSServerName]:8080

Comments

Table Variable v.s. Temp Table

Table variables have the following advantages over temporary tables:

  • Table variables have a well defined scope at the end of which they are automatically cleared. 
  • Table variables result in fewer recompilations of a stored procedure as compared to temporary tables. 
  • Transactions that involve table variables last only for the duration of an update on the table variable. Therefore, table variables require less locking and logging resources. Because table variables have limited scope and are not part of the persistent database, transaction rollbacks do not affect them.

 

These are some of the drawbacks for table variables as compared to temporary tables:

  • Non-clustered indexes cannot be created on table variables, other than the system indexes that are created for a PRIMARY or UNIQUE constraint. That can influence the query performance when compared to a temporary table with non-clustered indexes.
  • Table variables do not maintain statistics like temporary tables can. Statistics cannot be created on table variables through automatic creation or by using the CREATE STATISTICS statement. Therefore, for complex queries on large tables, the lack of statistics may deter the optimizer to determine the best plan for a query, thus affecting the performance of that query.
  • The table definition cannot be changed after the initial DECLARE statement.
  • Tables variables cannot be used in a INSERT EXEC or SELECT INTO statement.
  • CHECK constraints, DEFAULT values, and computed columns in the table type declaration cannot call user-defined functions.
  • You cannot use the EXEC statement or the sp_executesql stored procedure to run a dynamic SQL Server query that refers a table variable, if the table variable was created outside the EXEC statement or the sp_executesql stored procedure. Because table variables can be referenced in their local scope only, an EXEC statement and a sp_executesql stored procedure would be outside the scope of the table variable. However, you can create the table variable and perform all processing inside the EXEC statement or the sp_executesql stored procedure because then the table variables local scope is in the EXEC statement or the sp_executesql stored procedure. 

Note:

  • TempDB use. Both temp table and table variable uses tempdb for storage.

Comments

Microsoft Certified Master: SQL Server 2008

Microsoft has a new certificate for SQL pro.

http://www.microsoft.com/learning/mcp/master/products/default.mspx#EZC

Comments

« Previous entries ·