Error installing SQL 2005 SP2 KB 921896

2:02 pm

os: windows 2003 server ent sp2
Microsoft SQL Server 2005 - 9.00.1406.00 dev

我的sp2安装成功了,错误日志忘记保存了.从网上转了一份(同时有解决方法).
以下转载自sqlnewsgroups.net

http://support.microsoft.com/default.aspx?scid=kb;EN-US;925976
**************************************************************************
问题:
I am running Windows 2003 Enterprise SP2 running SQL 2005 Enterprise and am
getting repeated failures applying SQL 2005 SP2. The error is always the
same (see below).

I have made sure that there are no disabled services in the SQL Server
family of services, but this does not appear to have helped. This SQL
installation is pretty minimal, basically just the Database Engine. The
services list is:

SQL Server (MSSQLSERVER) Started Automatic Local System
SQL Server Active Directory Helper Manual (was disabled) Network Service
SQL Server Agent (MSSQLSERVER) Started Automatic Local System
SQL Server Browser Manual (was disabled) Local System
SQL Server FullText Search (MSSQLSERVER) Started Automatic Local System
SQL Server VSS Writer Started Automatic Local System

from the summary: ———————————————————————————-
Product : Database Services (MSSQLSERVER)
Product Version (Previous): 2047
Product Version (Final) :
Status : Failure
Log File : C:\Program Files\Microsoft SQL Server\90\Setup
Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB921896_sqlrun_sql.msp.log
Error Number : 29528
Error Description : MSP Error: 29528 The setup has encountered an
unexpected error while Setting Internal Properties. The error is: Fatal error
during installation.

from the event log:
Event Type: Error
Event Source: MsiInstaller
Event Category: None
Event ID: 1023
Date: 5/3/2007
Time: 6:37:36 PM
User: RLTESTENV002\Administrator
Computer: RLTESTENV002
Description:
Product: Microsoft SQL Server 2005 - Update ‘Service Pack 2 for SQL Server
Database Services 2005 ENU (KB921896)’ could not be installed. Error code
1603. Additional information is available in the log file C:\Program
Files\Microsoft SQL Server\90\Setup
Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB921896_sqlrun_sql.msp.log.

Event Type: Error
Event Source: MsiInstaller
Event Category: None
Event ID: 10005
Date: 5/3/2007
Time: 6:37:35 PM
User: RLTESTENV002\Administrator
Computer: RLTESTENV002
Description:
Product: Microsoft SQL Server 2005 — Error 29528. The setup has encountered
an unexpected error while Setting Internal Properties. The error is: Fatal
error during installation.
**************************************************************************
解决方法:
From the error message “Error Description : MSP Error: 29528 The setup has
encountered an unexpected error while Setting Internal Properties. The
error is: Fatal error during installation”, this is a known issue. This
issue occurs because of one of the following reasons:

· An operation has removed the local groups for the initial installation of
SQL Server 2005.
· An operation has changed the security identifiers (SID) for the local
groups.

Considering your SQL Server is not a clustered instance, please follow the
below steps to workaround the problem:

Warning: Serious problems might occur if you modify the registry
incorrectly by using Registry Editor or by using another method. These
problems might require that you reinstall your operating system. Microsoft
cannot guarantee that these problems can be solved. Modify the registry at
your own risk.

1. Remove the following registry subkeys that store SID settings:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\SQLGroup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\AGTGroup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\FTSGroup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\ASGroup

Note In these registry subkeys, MSSQL.X is a placeholder for the
corresponding value on a specific system. You can determine MSSQL.X on a
specific system by examining the value of the MSSQLSERVER registry entry
under the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance
Names\SQL\

2. Reinstall the SQL Server 2005 service pack or the SQL Server 2005 hotfix
package.
For more information about this issue, please refer to KB 925976

What is mscorsvw.exe and why is it eating up my CPU? What is this new CLR Optimization Service?

11:54 am

from
What is mscorsvw.exe and why is it eating up my CPU? What is this new CLR Optimization Service?

mscorsvw.exe is precompiling .NET assemblies in the background. Once it’s done, it will go away. Typically, after you install the .NET Redist, it will be done with the high priority assemblies in 5 to 10 minutes and then will wait until your computer is idle to process the low priority assemblies. Once it does that it will shutdown and you won’t see mscorsvw.exe. One important thing is that while you may see 100% CPU usage, the compilation happens in a process with low priority, so it tries not to steal the CPU for other stuff you are doing. Once everything is compiled, assemblies will now be able to share pages across different processes and warm start up will be typically much faster, so we’re not throwing away your cycles.

If you are really want to get rid of mscorsvw.exe from your task manager, just do:

ngen.exe executequeueditems

which will drain all the queued up work.

Long version

C Sharp no comments

p135@Applied Microsoft .NET Framework Programming

10:34 am

all the structures are immediately derived from the System.ValueType type. System.ValueType is itself immediately derived from the System.Object type. By definition, all value types must be derived from ValueType.

if you want a reference to an instance of a value type, the instance must be boxed. Usually this happens because you have a value type and you want to pass it to a method that requires a reference type.

Equals must be reflexive; that is, x.Equals(x) must return true.
Equals must be symmetric; that is, x.Equals(y) must return the same value as y.Equals(x).
Equals must be transitive; that is, if x.Equals(y) returns true and y.Equals(z) returns true, then x.Equals(z) must also return true.
Equals must be consistent. Provided that there are no changes in the two values being compared, Equals should consistently return true or false.

There are only three different ways to implement Equals.
Implementing Equals for a Reference Type Whose Base Classes Don’t Override Object’s Equals
Implementing Equals for a Reference Type When One or More of Its Base Classes Overrides Object’s Equals
Implementing Equals for a Value Type

Events typically use a delegate field to maintain the set of registered listeners.

The accessibility modifiers indicate which types and members can be legally referenced from code. The predefined attributes fine-tune this accessibility and allow you to change a member’s semantics.

When creating an instance of a reference type, memory is allocated for the instance,the object’s overhead fields (method table pointer and SyncBlockIndex) are initialized, and the type’s instance constructor is called to set the initial state of the object.

Type constructors shouldn’t call a base type’s type constructor. Such a call isn’t necessary because none of a type’s static fields are shared or inherited from its base type.

By default, the CLR assumes that all method parameters are passed by value. When reference type objects are passed, the reference (or pointer) to the object is passed (by value) to the method. This means that the method can modify the object and the caller will see the change. For value type instances, a copy of the instance is passed to the method.This means that the method gets its own private copy of the value type and the instance in the caller isn’t affected.

C Sharp no comments

P92

6:29 am

Strongly named assembly and weakly named assembly

Strong Name Utility,SN.exe - [assembly:AssemblyKeyFile("fsyKey.keys")]

GAC - Global Assembly Cache C:\Windows\Assembly\GAC

GACUtil.exe

“(Version)_(Culture)_(PublicKeyToken)”

Response file :  on the command line prepended by an @ sign OR CSC.rsp OR /noconfig

Delayed Signing or partial signing. CSC.exe - AssemblyKeyAttribute and AssemblyDelaySignAttribute AL.exe /keyf[ile] or /delay[sign]

 

The following list summarizes the steps discussed in this section to develop your assembly

by using the delay signing technique:

1. While developing an assembly, obtain a file that contains only your company’s public key and add the following two attributes to your source code:

2. [assembly:AssemblyKeyFile("MyCompanyPublicKey.keys")]

[assembly:AssemblyDelaySign(true)]

3. After building the assembly, execute the following line so that you can install it in the GAC, build other assemblies that reference the assembly, and test the assembly.Note that you have to do this only once; it’s not necessary to perform this step each time you build your assembly.

SN.exe ÐVr MyAssembly.dll

4. When ready to package and deploy the assembly, obtain your company’s private key(key pair) and execute the following line:

SN.exe -R MyAssembly.dll MyCompany.keys

5. To test, turn verification back on by executing the following line:

SN -Vu MyAssembly.dll

C Sharp no comments

p71@Applied Microsoft .NET Framework Programming

12:20 am

Culture

Cultures are identified via a string that contains a primary and a secondary tag

RFC1766 zh-CN example: [assembly:AssemblyCulture("zh-CN")]

culture neutral

satellite assembly

Access a satellite assembly’s resources using the System.Resources.ResourceManager class.

using the System.Reflection.AssemblyCultureAttribute custom attribute instead of using AL.exe’s /culture switch

Privately deployed assembly

an application can control its directory and its subdirectories but has no control over other directories.

Use the classes defined in the System.Configuration namespace to manipulate a configuration file at runtime.

The Machine.config file is located in the following directory:
C:\WINDOWS\Microsoft.NET\Framework\version\CONFIG

C Sharp no comments

p60@Applied Microsoft .NET Framework Programming

2:38 am

self-describing

/t:exe, /t:winexe, /t:library a single PE file that contains the manifest metadata tables.
/t:module doesn’t contain the manifest metadata tables.an extension of .netmodule.
The Assembly Linker(AL.exe) has no way to combine multiple files into a single file.
AL.exe /embed[resource], /link[resource], /win32res, /win32icon
CSC.exe /resource, /linkresource, /win32res, /win32icon
set the version resource fields using custom attributes that you apply at the assembly level in your source code.
//AssemblyInfo.cs

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("easyPower")]
[assembly: AssemblyDescription("easy Used Power")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("vOnsy.org")]
[assembly: AssemblyProduct("FSY easyPower Type Library")]
[assembly: AssemblyCopyright("Copyright © FSY 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("80e341f5-3377-4a0a-8569-c7f1353b1b9b")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("2.0.0.0")]

Format of Version Numbers: Major Number, Minor Number, Build Number, Revision Number
§ AssemblyFileVersion This version number is stored in the Win32 version resource. This number is informational only; the CLR doesn’t examine or care about this version number in any way. Typically, you set the major and minor parts to represent the version you want the public to see. Then you increment the build and revision parts each time a build is performed. Ideally, Microsoft’s tool (such as CSC.exe or AL.exe) would automatically update the build and revision numbers for you (based on the data/time when the build was performed), but unfortunately they don’t. This version number can be seen when using Windows Explorer and is used to determine exactly when an assembly file was built.
§ AssemblyInformationalVersionAttribute This version number is also stored in the Win32 version resource, and again, this number is informational only; the CLR doesn’texamine or care about it in any way. This version number exists to indicate the version of the product that includes this assembly.Typically, you set the major and minor parts of this version number to represent the public version of your product. Then you increment the build and revision parts each time you package a complete product with all its assemblies.
§ AssemblyVersion This version number is stored in the AssemblyDef manifest metadata table. The CLR uses this version number when binding to strongly named assemblies. This number is extremely important and is used to uniquely identify an assembly. When starting to develop an assembly, you should set the major, minor, build, and revision numbers and shouldn’t change them until you’re ready to begin work on the next deployable version of your assembly. When you build an assembly, this version number in the referenced assembly is embedded in the AssemblyRef table’s entry. This means that an assembly is tightly bound to a specific version of a reference assembly.
//ps: VS2005 Version Number Manage is OK!

C Sharp no comments

Basic C Sharp

2:36 am

CLR Common Language Runtime
CTS
CLS Common Language Specification

attribute [assembly:CLSCompliant(true)]
*Acquiescence type function is internal

Enum,Arrary,Property,Index,Delegate,Event,Constructor,Destructor,Operator
=
Field or Method
******************************************************
using System;

class Test
{
//constructor
public Test() {}
//destructor
~Test() {}
//overload operator
public static Boolean operator == (Test t1, Test t2)
{
return true;
}
public static Boolean operator != (Test t1, Test t2)
{
return false;
}
public static Test operator + (Test t1, Test t2) { return null;}
//property
public String AProperty
{
get { return null;}
set {}
}
//index
public String this[Int32 x]
{
get { return null;}
set {}
}
//event
event EventHandler AnEvent;
}

C Sharp no comments