<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">zc0000</title><subtitle type="html" /><id>http://weblogs.asp.net/atlaszhu/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/atlaszhu/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2009-05-29T12:16:00Z</updated><entry><title>Active Directory Configuration Issues ...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2011/05/09/active-directory-configuration-issues.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2011/05/09/active-directory-configuration-issues.aspx</id><published>2011-05-09T06:50:00Z</published><updated>2011-05-09T06:50:00Z</updated><content type="html">
&lt;div style="font-size: 14px;"&gt;

&lt;p&gt;1.  Configure a "Active Directory Domain Controller" on server A&lt;/p&gt;

&lt;p&gt;2.  Set Server B's domain to the domain configured in server A , say, "sample.com"&lt;/p&gt;

&lt;p&gt;In step 2 we may get some exceptions as :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The following error occurred when DNS was queried for the service location (SRV) resource record used to locate an Active Directory Domain Controller (AD DC) for domain "xxx.com":&lt;/p&gt;

&lt;p&gt;The error was: "DNS name does not exist."&lt;/p&gt;
&lt;p&gt;(error code 0x0000232B RCODE_NAME_ERROR)&lt;/p&gt;

&lt;p&gt;The query was for the SRV record for _ldap._tcp.dc._msdcs.xxxx.com&lt;/p&gt;

&lt;p&gt;Common causes of this error include the following:&lt;/p&gt;

&lt;p&gt;- The DNS SRV records required to locate a AD DC for the domain are not registered in DNS. These records are registered with a DNS server automatically when a AD DC is added to a domain. They are updated by the AD DC at set intervals. This computer is configured to use DNS servers with the following IP addresses:&lt;/p&gt;

&lt;p&gt;xx.xx.xx.xx&lt;/p&gt;

&lt;p&gt;- One or more of the following zones do not include delegation to its child zone:&lt;/p&gt;

&lt;p&gt;xxx.com&lt;/p&gt;
&lt;p&gt;com&lt;/p&gt;
&lt;p&gt;. (the root zone)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The following error occurred attempting to join the domain "bamv2":&lt;/p&gt;

&lt;p&gt;An attempt to resolve the DNS name of a domain controller in the domain being joined has failed.  Please verify this client is configured to reach a DNS server that can resolve DNS names in the target domain. For information about network troubleshooting, see Windows Help.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This is possibly caused by wrongly setting the DNS server IP on the client which is intented to join the target domain.  &lt;/p&gt;

&lt;p&gt;Open Network and Sharing Center -&amp;gt; Local Area Connection Properties Dialogbox -&amp;gt; IPV4 Properties dialog -&amp;gt;  Use the folowing DNS IP Address -&amp;gt; Set "Preferred DNS Server" to the target AD server ip address&lt;/p&gt;

&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7782130" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author></entry><entry><title>A client problem, not server's :  A network-related or instance-specific error occurred while establishing a connection to SQL Server...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2011/04/30/a-client-problem-not-server-s-a-network-related-or-instance-specific-error-occurred-while-establishing-a-connection-to-sql-server.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2011/04/30/a-client-problem-not-server-s-a-network-related-or-instance-specific-error-occurred-while-establishing-a-connection-to-sql-server.aspx</id><published>2011-04-30T17:59:00Z</published><updated>2011-04-30T17:59:00Z</updated><content type="html">&lt;div style="font-size: 14px;"&gt;
&lt;p&gt;I don't know, when and why,  I cannot connect remote SQL server from my win7 &amp;amp; winserver2008 (64bit) machines.  When trying to connect a server by typing IP  ( xx.xx.xx.xx ) in the server name in "Management studio-&amp;gt;Connect Server" dialog box, I always get: &lt;/p&gt;

&lt;p style="color: red;"&gt;
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 53)
&lt;/p&gt;


&lt;p&gt;or ( If typing "xx.xx.xx.xx,yyyy" - assigning port ) &lt;/p&gt;

&lt;p style="color: red;"&gt;
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - TCP Provider: ) (Microsoft SQL Server, Error: -1)
&lt;/p&gt;

&lt;p&gt;Well , after cautious checking I am sure it is not caused by wrong server configuration, since I even tested onnection from another XP3 32bit computer and it's OK, implying problem lies in my win7 client.  &lt;/p&gt;   

&lt;p&gt;
It's really very,very weird ------ no detailed information for the error even seeking event viewer. Eventually &amp;amp; luckily I approach to get around it : just connect local server by type IP format server name: "127.0.0.1" ------ it is like some internal mechanism that "IP" server is triggered ; once IP is triggered locally, it could be applied on remote connection. After connecting "127.0.0.1" I could get my remote server connected.
&lt;/p&gt;

&lt;p&gt;Does anyone know why thing goes as this ? &lt;/p&gt;

&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7773929" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="sql server 2008 r2" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/sql+server+2008+r2/default.aspx" /></entry><entry><title>How to circumvent "Cannot obtain value of local or argument as it is not available at this instruction pointer, possibly because it has been optimized away</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2011/02/26/how-to-circumvent-quot-cannot-obtain-value-of-local-or-argument-as-it-is-not-available-at-this-instruction-pointer-possibly-because-it-has-been-optimized-away.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2011/02/26/how-to-circumvent-quot-cannot-obtain-value-of-local-or-argument-as-it-is-not-available-at-this-instruction-pointer-possibly-because-it-has-been-optimized-away.aspx</id><published>2011-02-26T09:28:00Z</published><updated>2011-02-26T09:28:00Z</updated><content type="html">&lt;div style="font-size: 14px;"&gt;
&lt;p&gt;Sometimes when debugging code we can't "watch" variable's value and only get this alerting message:&lt;/p&gt;

&lt;p style="color: red;"&gt;
Cannot obtain value of local or argument as it is not available at this instruction pointer, possibly because it has been optimized away
&lt;/p&gt;

&lt;p&gt;As this has been discussed in &lt;a href="http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx" target="_blank" mce_href="http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx"&gt;How to disable optimizations when debugging Reference Source&lt;/a&gt;.   According to his second suggesion, I just leave a checkbox blank:&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/blogs/atlaszhu/DebugUncheckEnableVShost.PNG" mce_src="http://weblogs.asp.net/blogs/atlaszhu/DebugUncheckEnableVShost.PNG"&gt;

&lt;p&gt;Then rebuild the project.  Then in your main project which references the "originally optimized" project , you could see the variables are accessible now. &lt;/p&gt;
&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7712937" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author></entry><entry><title>Base class' constructor takes effect even not explicitly called. </title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2010/04/07/base-class-constructor-takes-effect-even-not-explicitly-called.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2010/04/07/base-class-constructor-takes-effect-even-not-explicitly-called.aspx</id><published>2010-04-07T06:28:00Z</published><updated>2010-04-07T06:28:00Z</updated><content type="html">&lt;div style="font-size:14px" &gt;
&lt;p&gt;I almost have no impression at all on a heavily important c# grammar issue...... &lt;/p&gt;

&lt;p&gt;Originally I thought base class' constructor doesn't participate in any of derived class' constructional logic unless explicitly called for serving , just like :&lt;/p&gt;
&lt;pre&gt; 
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; Manager(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; initialdata) : &lt;span style="color:Blue;"&gt;base&lt;/span&gt;()
{
    &lt;span style="color:Green;"&gt;//Add further instructions here.&lt;/span&gt; 
}
 
&lt;/pre&gt;

In this manner the default constructor is to be called undoubtedly. 

However in my bad conception I think code like this:

&lt;pre&gt; 
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; Manager(&lt;span style="color:Blue;"&gt;int&lt;/span&gt; initialdata)
{
    &lt;span style="color:Green;"&gt;//Add further instructions here.&lt;/span&gt; 
}
 
&lt;/pre&gt;

doesn't call the base class' default constructor because there is no explicit code  ":base()"  coming after main class name "Manager" so the base default constructor has no impact here.

&lt;p&gt;However I am wrong.    The two pieces above are semantically identical.   Official tutorial tells me: &lt;/p&gt;

&lt;b&gt;In a derived class, if a base-class constructor is not called explicitly using the base keyword, then the default constructor, if there is one, is called implicitly.&lt;/b&gt;

&lt;p&gt;Here is official link stating this case:&lt;/p&gt;

&lt;a href='http://msdn.microsoft.com/en-us/library/ms173115(VS.80).aspx' target="_blank" &gt;Using Constructors (C# Programming Guide)&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7433662" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="c# constructor base inheritance" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/c_2300_+constructor+base+inheritance/default.aspx" /></entry><entry><title>asp.net Auto-generated SQLEXPRESS database: Failed to generate a user instance of SQL Server ( troubleshooting 1 )</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2010/04/04/asp-net-auto-generated-sqlexpress-database-failed-to-generate-a-user-instance-of-sql-server-troubleshooting-1.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2010/04/04/asp-net-auto-generated-sqlexpress-database-failed-to-generate-a-user-instance-of-sql-server-troubleshooting-1.aspx</id><published>2010-04-04T20:03:00Z</published><updated>2010-04-04T20:03:00Z</updated><content type="html">If you adopt .net Login controls to handle user authentication tasks and simply rely on default connection settings which generates SQLEXPRESS-based database in APP_Data folder , especially under the windows 7 or windows server 2008 system, you are likely to suffer several exceptions caused by similar reasons.   One is like:

&lt;hr/&gt;
  &lt;style&gt;
         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
        &lt;/style&gt;
&lt;div style="text-align:justify" &gt;
 &lt;span&gt;&lt;H1&gt;Server Error in '/SamplesApp' Application.&lt;hr width=100% size=1 color=silver&gt;&lt;/H1&gt;

            &lt;h2&gt; &lt;i&gt;Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.&lt;/i&gt; &lt;/h2&gt;&lt;/span&gt;


&lt;/div&gt;
&lt;hr/&gt;

&lt;p&gt;To thoroughly  I log some repro steps. &lt;/p&gt;
&lt;p&gt;I create a new application pool "SamplesAppPool" to host "SamplesApp". &lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/EditAppSamplesApp.PNG' &gt;
&lt;p&gt;The "SamplesAppPool" 's identity is assigned using the win7/winserver 2008 r2-recommended feature: "ApplicationPoolIdentity" ,  leaving "Load User Profile" as false currenctly.&lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/AdvSetSamplesAPI.PNG' &gt;
&lt;p&gt;Such setting is meant to create a special account with the same name as target pool to run W3WP.exe.   For better security issue we no longer resort to Network Service.  This is an improved model induced into new generation of windows OS. &lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/TaskManager.PNG'  &gt;

&lt;p&gt;However if we use default asp.net connection string settings to initialize a build-in asp.net security database ( assuming SQLEXPRESS instance installed ) , which means the conn string is like :&lt;/p&gt;

&lt;p style='font-weight:bold;color:red' &gt;data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true&lt;/p&gt;

&lt;p&gt;'"User Instance=true" means that SQLEXPRESS service needs a User Profile envrionment to perform some initialization works. Since the aspnet worker process is run in "SamplesAppPool" account, there should be a special user profile folder caring this account.  However , since we previously set "Not load user profile",  system doesn't at all create such a profile ,  thus no corresponding user profile folder created: &lt;/p&gt;

&lt;p&gt;From &lt;b&gt;Control Panel\System and Security\System\Advanced system settings&lt;/b&gt; panel we can get user profiles information &lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/SysPropAdv.PNG' &gt;

&lt;p&gt;As you can see ,  the required "SamplesAppPool" profile is not maintained here.&lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/UProfNoCustomProf.PNG' &gt;

&lt;p&gt;Accordingly , "SamplesAppPool" profile folder does not exist in Users folder:&lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/UsersFolder.PNG' &gt;

&lt;br&gt;&lt;br&gt;

&lt;p&gt;To get around the exception ,  "Load User Profile" needs setting as "true" &lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/LdUProfT.PNG' &gt;

&lt;p&gt;Once above settings changed ,  such profile is created in system immediately:&lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/UProfSamApp.PNG' &gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/UsersHasSamApp.PNG'  &gt;

&lt;p&gt;So far ,  the SQLEXPRESS-related information has not been established in the profile folder yet.   We need trigger something to make account-specified sqlexpress folder constructed automatically.  That is : do what I mentioned at the top. If you simply click "create user" button in a CreateUserWizard control without any custom connection settings in web.config , you may find App_Data/aspnetdb.mdf is successfully created.  In addition ,  exploring "SamplesAppPool" profile folder will supply such a view:&lt;/p&gt;
&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/SQLEXPRESSFolder.PNG' &gt;

&lt;p&gt;To change application pool identity to build-in account such as "Network Service" without taking care of "Local User Profile"settings can solve the issue as well , because these build-in account auto-position to current logon user profile folder as is ensured by default and erect SQLExpress folder ( eg.  if I logon as "zc0000"  the folder is located at :  C:\Users\zc0000\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS  ).  Nevertheless, this is no longer suggestive in new generation of windows OS ( window 7 , windows server 2008 r2 or latter ) .  I think since Network Service has undertaken more and more tasks in the whole system,  Microsoft designs such a new mechanism to help the powerful giant out of heavy load thus to have asp.net applications be more concentrative and secure.&lt;/p&gt;

&lt;p&gt;Official knowledge base link concerning this issue:&lt;/p&gt;
&lt;a href='http://support.microsoft.com/kb/2002980' target="_blank"  &gt;Problems with SQL Server Express user instancing and ASP.net Web Application Projects&lt;/a&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7430808" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author></entry><entry><title>SQL SERVER 2008 Database Diagram:  "Saving changes is not permitted"</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2010/04/04/sql-server-2008-database-diagram-quot-saving-changes-is-not-permitted-quot.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2010/04/04/sql-server-2008-database-diagram-quot-saving-changes-is-not-permitted-quot.aspx</id><published>2010-04-04T18:59:00Z</published><updated>2010-04-04T18:59:00Z</updated><content type="html">&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/SaveChangeNotPermitDiagram.PNG'  &gt;

&lt;p&gt;When making some datatable changes in db diagram environment,  a popup window might show up with this message:&lt;/p&gt;

&lt;p style="color:red" &gt;Saving changes is not permitted. The changes that you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require the table to be re-created./p&gt;

&lt;p&gt;meanwhile saving progress stops.&lt;/p&gt;

&lt;p&gt;It is because that SSMS by default prevents some operations that requires target tables to be recreated. To go over this block, the highlighted item in Options window needs unchecking.   &lt;/p&gt;

&lt;img src='http://weblogs.asp.net/blogs/atlaszhu/snapshots/TableDBDesignersOptionPreventSaving.PNG'  &gt;

&lt;p&gt;For more details refer the official knowledge base link:&lt;/p&gt;

&lt;p&gt;&lt;a href='http://support.microsoft.com/kb/956176' target="_blank"  &gt;Error message when you try to save a table in SQL Server 2008: "Saving changes is not permitted"&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7430187" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="Sql SERVER management studio" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/Sql+SERVER+management+studio/default.aspx" /><category term="Sql Sever 2008" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/Sql+Sever+2008/default.aspx" /><category term="Database diagram" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/Database+diagram/default.aspx" /></entry><entry><title>Database operations through SQL:  Database Restore ...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2010/03/29/database-operations-through-sql-database-restore.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2010/03/29/database-operations-through-sql-database-restore.aspx</id><published>2010-03-29T13:50:00Z</published><updated>2010-03-29T13:50:00Z</updated><content type="html">
If using sql to perform a database restoring , care the sql-codes very well.   Any trivial mistake may prevent a successful execution.  Cases are listed here based on simple experiments.

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;with operation:  MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'  &lt;/p&gt;
&lt;p&gt;If logical file name not correctly set ,  following error is obtained:&lt;/p&gt;
&lt;p style='color:red' &gt;Logical file 'FILE_NAME' is not part of database 'DATABASE_NAME'. Use RESTORE FILELISTONLY to list the logical file names.&lt;/p&gt;

&lt;p style='color:red' &gt;RESTORE DATABASE is terminating abnormally. &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;  

&lt;/li&gt;
&lt;/ul&gt;

To be continue...&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7420449" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="database restore" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/database+restore/default.aspx" /><category term="sql server" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/sql+server/default.aspx" /></entry><entry><title>MyLittleAdmin: Could not load file or assembly 'mlt_ver' or one of its dependencies. An attempt was made to load a program with an incorrect format.</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2010/02/27/mylittleadmin-could-not-load-file-or-assembly-mlt-ver-or-one-of-its-dependencies-an-attempt-was-made-to-load-a-program-with-an-incorrect-format.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2010/02/27/mylittleadmin-could-not-load-file-or-assembly-mlt-ver-or-one-of-its-dependencies-an-attempt-was-made-to-load-a-program-with-an-incorrect-format.aspx</id><published>2010-02-27T17:49:00Z</published><updated>2010-02-27T17:49:00Z</updated><content type="html">&lt;p&gt;When first running mylittleadmin web application I get exception as titled. It is because of the application is running on 64-bit asp.net process currently but is designed to work on top of 32-bit asp.net mechanism only.&lt;/p&gt;

&lt;p&gt;Based on different IIS suites ( IIS6 &amp; IIS7 ) there are 2 workarounds to solve the problem separately:&lt;/p&gt;

&lt;p&gt;If IIS6 are just running 64-bit asp.net now, you need manually type some commands to enable 32-bit asp.net version:&lt;/p&gt; 
&lt;ul&gt;
&lt;li&gt;Enable 32bit asp.net on 64bit platform by running &lt;font color="red"&gt;adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1&lt;/font&gt; in &lt;font color="red"&gt;\\%homedrive%:\Inetpub\Adminscripts&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;Reset IIS to have the switch-on take effect by typing "&lt;a href='http://technet.microsoft.com/en-us/library/cc737351(WS.10).aspx' target='_blank' &gt;iisreset&lt;/a&gt;".
&lt;/li&gt;
&lt;li&gt;Above 2 steps just allow possibility of running 32bit asp.net on IIS; essentially, the 32bit asp.net framework is acquired to be registered to IIS by executing '&lt;a href='http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx' target='_blank' &gt;aspnet_regiis.exe&lt;/a&gt; -i' in the context of 32bit .net framework, thus to have itself be "truely" up.( 32bit .net framework folder is C:\WINDOWS\Microsoft.NET\&lt;strong&gt;Framework&lt;/strong&gt;\vxx.xx while 64bit framework folder is C:\WINDOWS\Microsoft.NET\&lt;strong&gt;Framework64&lt;/strong&gt;\vxx.xx) 
&lt;li&gt;
"Allow" 'ASP.NET v2.0.50727 (32-bit)' in Web Service Extensions. 
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If otherwise IIS7 serves application, things are drastically simplified: select the target applicatin pool, set "enable 32bit application" to "true" in "Advanced Settings" panel. Then application runs as expected.&lt;/p&gt;

&lt;p&gt;Refer to &lt;a href='http://forum.mylittleadmin.com/yafnet/Default.aspx?g=posts&amp;t=87' target="_blank" &gt;here.&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7364826" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="ASP.NET" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/ASP.NET/default.aspx" /><category term="iis7" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/iis7/default.aspx" /><category term="IIS Manager Authentication" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/IIS+Manager+Authentication/default.aspx" /><category term="MyLittleAdmin" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/MyLittleAdmin/default.aspx" /></entry><entry><title>Solution to the alert "The object identifier does not present a valid object" when trying to debug IIS-supplied applications through VS</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2009/08/31/solution-to-the-alert-quot-the-object-identifier-does-not-present-a-valid-object-quot-when-trying-to-debug-iis-supplied-applications-through-vs.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2009/08/31/solution-to-the-alert-quot-the-object-identifier-does-not-present-a-valid-object-quot-when-trying-to-debug-iis-supplied-applications-through-vs.aspx</id><published>2009-08-31T10:12:00Z</published><updated>2009-08-31T10:12:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&amp;nbsp;Met the error and felt wield ...&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;Then I found a great article to explain the reason and point to the key of truth.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;A href="http://blogs.iis.net/brian-murphy-booth/archive/2008/06/03/visual-studio-2008-unable-to-debug-asp-net-app-on-iis-7-0.aspx"&gt;http://blogs.iis.net/brian-murphy-booth/archive/2008/06/03/visual-studio-2008-unable-to-debug-asp-net-app-on-iis-7-0.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;---------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;When attempting to&amp;nbsp;"run" an ASP.NET&amp;nbsp;project on IIS 7.0 using Visual Studio 2008 the following error is displayed:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.iis.net/blogs/brian-murphy-booth/0x800710D8.jpg"&gt;&lt;IMG title="Unable to start debugging on the web server. The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)" border=0 alt="Unable to start debugging on the web server. The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)" src="http://blogs.iis.net/blogs/brian-murphy-booth/0x800710D8.jpg" mce_src="http://blogs.iis.net/blogs/brian-murphy-booth/0x800710D8.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;RESOLUTION:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp; Make sure that "Windows Authentication" is enabled in IIS on the applicable&amp;nbsp;web application (web site or folder).&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;NOTES:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;That was a little frustrating for me at first. No hits anywhere in our knowledge base or on &lt;A href="http://www.live.com/" mce_href="http://www.live.com"&gt;Live&lt;/A&gt;. I figured I would ignore this and come back to it later but after about a week I finally decided this isn't something I wanted to deal with constantly.&amp;nbsp;I started&amp;nbsp;to troubleshoot it versus waiting to find somebody else's solution. One of the first things Visual Studio does when trying to debug an ASP.NET application is make a DEBUG request (versus a GET or POST) to IIS. If all goes well for the DEBUG request, VS automatically attaches as a debugger to the ASP.NET worker process (w3wp.exe in this case) and to IEXPLORE.exe. So into the&amp;nbsp;IIS logs I went to see the result of that DEBUG request. Here was the entry for my failed debug attempt:&lt;/P&gt;
&lt;P mce_keep="true"&gt;#Software: Microsoft Internet Information Services 7.0&lt;BR&gt;#Version: 1.0&lt;BR&gt;#Date: 2008-06-03 12:11:16&lt;BR&gt;#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Cookie) sc-status sc-substatus sc-win32-status time-taken&lt;BR&gt;2008-06-03 12:11:16 ::1 DEBUG /WebApp/Default.aspx - 80 - ::1 - - 401 0 0 157&lt;/P&gt;
&lt;P mce_keep="true"&gt;You may notice that this is a&amp;nbsp;401.0. Normally when a "browser" (VS2008 in this case) first makes a request it is always anonymous. Then after&amp;nbsp;seeing a 401, it will follow&amp;nbsp;up the first request with a second request that includes credentials. In the IIS logs&amp;nbsp;we'd expect to see a 401.2 (unauthorized due to sever configuration - i.e. I'm not accepting anonynous), then if using NTLM we'd see a 401.1 (NTLM challenge - i.e. you have only sent me half the credentials for that NTLM handshake) then finally a success status such as 200 (OK), 302 (Moved/Redirect), or 304 (Not Modified). Or if using Basic authentication or Kerberos there would be the 401.2 then the success status for the next log entry since those methods don't have a handshake. In my case here there was only a single 401 with no follow up attempt. Hmm... Why no follow up request with credentials? Next stop - IIS manager.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.iis.net/blogs/brian-murphy-booth/0x800710D8.Authentication.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.iis.net/blogs/brian-murphy-booth/0x800710D8.Authentication.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.iis.net/blogs/brian-murphy-booth/0x800710D8.Authentication.jpg"&gt;&lt;IMG border=0 src="http://blogs.iis.net/blogs/brian-murphy-booth/0x800710D8.Authentication.jpg"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;After highlighting my "WebApp" folder and double-clicking "Authentication" (shown above)&amp;nbsp;in the IIS manager I saw that only Anonymous was enabled. Oh right... IIS 7.0 is secure by default. VS was making it's anonymous request and since IIS returned no "WWW-Authentication" headers specifying which auth method it is accepting, VS quit there. IIS 7.0&amp;nbsp;has only anonymous enabled by default and administrators have to consciously open up their server by enabling additional authentication types. After enabling "Windows Authentication" as well leaving&amp;nbsp;"Anonymous" enabled, debugging worked fine. Thanks for the great error!!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7186333" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="Visual Studio 2008" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/Visual+Studio+2008/default.aspx" /><category term="iis7" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/iis7/default.aspx" /><category term="debug" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/debug/default.aspx" /><category term="windows authentication" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/windows+authentication/default.aspx" /></entry><entry><title>Alert Cannot set a credential for principal 'sa' ....   when trying to modify 'sa' properties through sql management studio 2008..</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2009/08/08/alert-cannot-set-a-credential-for-principal-sa-when-trying-to-modify-sa-properties-through-sql-management-studio-2008.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2009/08/08/alert-cannot-set-a-credential-for-principal-sa-when-trying-to-modify-sa-properties-through-sql-management-studio-2008.aspx</id><published>2009-08-08T13:35:00Z</published><updated>2009-08-08T13:35:00Z</updated><content type="html">&lt;H1 class=title&gt;&lt;A href="http://support.microsoft.com/kb/956177"&gt;http://support.microsoft.com/kb/956177&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;/H1&gt;
&lt;H1 class=title&gt;&amp;nbsp;&amp;nbsp;&lt;/H1&gt;
&lt;H1 class=title&gt;You receive an exception in SQL Server 2008 when you try to modify the properties of the SQL Server Administrator account by using SQL Server Management Studio&lt;/H1&gt;
&lt;P class=title mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2 id=tocHeadRef class=subTitle jQuery1249738307543="13"&gt;
&lt;DIV class="kb_tabs_toggle kb_tabs_toggle_open" jQuery1249738307543="22"&gt;&lt;/DIV&gt;&lt;SPAN&gt;&lt;A href="javascript:void(0);" jQuery1249738307543="51"&gt;SYMPTOMS&lt;/A&gt;&lt;/SPAN&gt; 
&lt;DIV class=sectionpreview_closed jQuery1249738307543="23"&gt;Consider the following scenario. You use the Microsoft SQL Server 2008 tools to...&lt;/DIV&gt;&lt;/H2&gt;
&lt;SCRIPT type=text/javascript&gt;
                            loadTOCNode(1, 'symptoms');
                        &lt;/SCRIPT&gt;

&lt;DIV style="MARGIN-LEFT: 195px" class=sbody jQuery1249738307543="24"&gt;Consider the following scenario. You use the Microsoft SQL Server 2008 tools to connect to a server that is running Microsoft SQL Server 2005. You open the properties dialog box for the SQL Server Administrator account, and then you perform an "sa" login by using the SQL Server Management Studio tools. You modify the properties for the "sa" login, and then you click &lt;STRONG class=uiterm&gt;OK&lt;/STRONG&gt;. In this scenario, you receive the following error message: 
&lt;DIV class=kb_errormsgbody jQuery1249738307543="25"&gt;
&lt;DIV class=kb_errorcontent jQuery1249738307543="26"&gt;
&lt;DIV class=errormsg jQuery1249738307543="27"&gt;TITLE: Microsoft SQL Server Management Studio &lt;BR&gt;------------------------------ &lt;BR&gt;Alter failed for Login 'sa'. (Microsoft.SqlServer.Smo)&lt;BR&gt;------------------------------&lt;BR&gt;ADDITIONAL INFORMATION: An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)&lt;BR&gt;------------------------------&lt;BR&gt;Cannot set a credential for principal 'sa'. (Microsoft SQL Server, Error: 15535)&lt;BR&gt;------------------------------&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=topOfPage jQuery1249738307543="28"&gt;&lt;A href="http://support.microsoft.com/kb/956177#top" jQuery1249738307543="52"&gt;&lt;IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif"&gt;Back to the top&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;H2 id=tocHeadRef class=subTitle jQuery1249738307543="14"&gt;
&lt;DIV class="kb_tabs_toggle kb_tabs_toggle_open" jQuery1249738307543="29"&gt;&lt;/DIV&gt;&lt;SPAN&gt;&lt;A href="javascript:void(0);" jQuery1249738307543="53"&gt;CAUSE&lt;/A&gt;&lt;/SPAN&gt; 
&lt;DIV class=sectionpreview_closed jQuery1249738307543="30"&gt;This problem occurs if the Map To Credential check box is not selected on the Ge...&lt;/DIV&gt;&lt;/H2&gt;
&lt;SCRIPT type=text/javascript&gt;
                            loadTOCNode(1, 'cause');
                        &lt;/SCRIPT&gt;

&lt;DIV style="MARGIN-LEFT: 195px" class=sbody jQuery1249738307543="31"&gt;This problem occurs if the &lt;STRONG class=uiterm&gt;Map To Credential&lt;/STRONG&gt; check box is not selected on the &lt;STRONG class=uiterm&gt;General&lt;/STRONG&gt; tab of the &lt;STRONG class=uiterm&gt;Login Properties - sa&lt;/STRONG&gt; dialog box. If this check box is not selected, SQL Server 2008 will try to drop any credential that is mapped to your login credentials. Because your credentials cannot be set to the "sa" login, you receive the exception error message that is mentioned in the "Symptoms" section when you click &lt;STRONG class=uiterm&gt;OK&lt;/STRONG&gt; to close the dialog box. 
&lt;DIV class=topOfPage jQuery1249738307543="32"&gt;&lt;A href="http://support.microsoft.com/kb/956177#top" jQuery1249738307543="54"&gt;&lt;IMG alt="" src="http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gif"&gt;Back to the top&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;H2 id=tocHeadRef class=subTitle jQuery1249738307543="15"&gt;
&lt;DIV class="kb_tabs_toggle kb_tabs_toggle_open" jQuery1249738307543="33"&gt;&lt;/DIV&gt;&lt;SPAN&gt;&lt;A href="javascript:void(0);" jQuery1249738307543="55"&gt;RESOLUTION&lt;/A&gt;&lt;/SPAN&gt; 
&lt;DIV class=sectionpreview_closed jQuery1249738307543="34"&gt;To resolve this issue, make sure that you select the Map To Credential check box...&lt;/DIV&gt;&lt;/H2&gt;
&lt;SCRIPT type=text/javascript&gt;
                            loadTOCNode(1, 'resolution');
                        &lt;/SCRIPT&gt;

&lt;DIV style="MARGIN-LEFT: 195px" class=sbody jQuery1249738307543="35"&gt;To resolve this issue, make sure that you select the &lt;STRONG class=uiterm&gt;Map To Credential&lt;/STRONG&gt; check box on the &lt;STRONG class=uiterm&gt;General&lt;/STRONG&gt; tab of the &lt;STRONG class=uiterm&gt;Login Properties - sa&lt;/STRONG&gt; dialog box before you change the "sa" login properties and then click &lt;STRONG class=uiterm&gt;OK&lt;/STRONG&gt; to close the dialog box.&lt;/DIV&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7164351" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author></entry><entry><title> IIS7  FTP settings  Instruction .....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2009/08/08/iis7-ftp-settings-instruction.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2009/08/08/iis7-ftp-settings-instruction.aspx</id><published>2009-08-08T09:16:00Z</published><updated>2009-08-08T09:16:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;IIS7&amp;nbsp; FTP settings&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://learn.iis.net/page.aspx/320/using-ftp-virtual-host-names/" mce_href="http://learn.iis.net/page.aspx/320/using-ftp-virtual-host-names/"&gt;http://learn.iis.net/page.aspx/320/using-ftp-virtual-host-names/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;FTP&amp;nbsp; 绑定之时，如果需要使用域名访问，则不但要绑定 FTP 域名&amp;nbsp; &lt;A href="ftp://ftp.domain.com/"&gt;ftp.domain.com&lt;/A&gt; （一个绑定记录），还必须要一个 unassigned 绑定，直接绑定IP ！&lt;/P&gt;
&lt;P mce_keep="true"&gt;两条绑定记录都是必须的！ &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7164217" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author></entry><entry><title>Solve an alert occuring when trying to save in ManagementStudio Table-design interface:Saving changes is not permitted</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2009/07/19/solve-an-alert-occuring-when-trying-to-save-in-managementstudio-table-design-interface-saving-changes-is-not-permitted.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2009/07/19/solve-an-alert-occuring-when-trying-to-save-in-managementstudio-table-design-interface-saving-changes-is-not-permitted.aspx</id><published>2009-07-19T12:31:00Z</published><updated>2009-07-19T12:31:00Z</updated><content type="html">&lt;H1&gt;&amp;nbsp;&amp;nbsp;Saving changes is not permitted. The changes that you have made require the following tables to be dropped and re-created.&lt;/H1&gt;
&lt;P mce_keep="true"&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=authandpub align=left&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD align=right&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;ERROR:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'; COLOR: red" class=text&gt;“Saving changes is not permitted. The changes that you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require the table to be re-created.”&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;This error happens because “&lt;STRONG&gt;Saving Changes is not permitted&lt;/STRONG&gt;” when using SQL Server 2008 Management Studio to modify the structure of a table especially when SQL Server needs to drop and recreate a table to save the structural changes. It is always advised to make a structural change for a table using TSQL. However, it is a convenient option for database developers to use SQL Server Management Studio make such changes&amp;nbsp; as the&amp;nbsp; &lt;EM&gt;Prevent Saving Changes That Require Table Re-creation&lt;/EM&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;option is enabled by default in SQL Server 2008 Management Studio.&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;FONT color=#3366cc&gt;&lt;SPAN class=titles&gt;&lt;EM&gt;&lt;STRONG&gt;Disable “Prevent saving changes that require the table re-creation” &lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;FONT color=#3366cc&gt;&lt;SPAN class=text&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'; COLOR: black" class=text&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;1.&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Open SQL Server 2008 Management Studio (SSMS). Click Tools menu and then click on Options... as shown in the snippet below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN class=text&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;IMG id="Picture 15" src="http://weblogs.asp.net/admin/article_images_new/2008_images/saving_changes_is_not_permitted_error_files/image001.jpg" width=429 height=193&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;2.&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;In the navigation pane of the Options window, expand Designers node and select &lt;STRONG&gt;Table and Database Designers&lt;/STRONG&gt; option as shown in the below snippet. Under Table Options you need to uncheck “&lt;STRONG&gt;Prevent saving changes that require the table re-creation” &lt;/STRONG&gt;option and click OK to save changes. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN class=text&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;IMG id="Picture 19" src="http://weblogs.asp.net/admin/article_images_new/2008_images/saving_changes_is_not_permitted_error_files/image002.jpg" width=547 height=325&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;This option when enabled prevents users from making structural changes to table using SQL Server Management Studio especially when SQL Server needs to recreate the table to save changes. By default, this option is checked and you need to uncheck this option to allow users to make any structural change through SSMS that &amp;nbsp;&amp;nbsp;require table recreation. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;A table needs to be recreated whenever any of the below &amp;nbsp;&amp;nbsp;changes are made to the table structure. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: symbol" class=text&gt;·&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Insert a new column in the middle of the table.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: symbol" class=text&gt;·&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Add a new column in the table.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: symbol" class=text&gt;·&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Change the Allow Nulls setting of a column.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: symbol" class=text&gt;·&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Modify the identity property of a column.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: symbol" class=text&gt;·&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Reorder the columns within a table.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; TEXT-INDENT: -0.25in; MARGIN-LEFT: 1in" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: symbol" class=text&gt;·&lt;SPAN style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-FAMILY: 'times new roman'; FONT-WEIGHT: normal; font-size-adjust: none; font-stretch: normal" class=text&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Modify the datatype of a column.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Once you have disabled “&lt;STRONG&gt;Prevent saving changes that require the table re-creation” &lt;/STRONG&gt;option you can go ahead and save the changes to the Employee Table. This will create a Validation Warning dialog box as shown in the below snippet. The warning message will be “&lt;STRONG&gt;One or more existing columns have ANSI_PADDING 'off' and will be re-created with ANSI_PADDING 'on'&lt;/STRONG&gt;”. Click “Yes” to save the changes.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;IMG id="Picture 20" src="http://weblogs.asp.net/admin/article_images_new/2008_images/saving_changes_is_not_permitted_error_files/image003.jpg" width=455 height=372&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoNormal&gt;&lt;SPAN class=titles&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=titles&gt;&lt;FONT color=#3366cc&gt;Risks of Turing Off "Prevent Saving Changes that Require Table Re-creation" in SSMS&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;If you turn off this feature then you can avoid table recreation. However, if you have the Change Tracking feature of SQL Server 2008 enabled to track the table changes then the change tracking information will be lost completely whenever table is recreated. So, it is always advised to use this feature very carefully especially in a production environment.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'verdana', 'sans-serif'" class=text&gt;Refer to &lt;A href="http://www.sql-server-performance.com/faq/saving_changes_not_permitted_p1.aspx"&gt;http://www.sql-server-performance.com/faq/saving_changes_not_permitted_p1.aspx&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7150777" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="Sql SERVER 2008" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/Sql+SERVER+2008/default.aspx" /><category term="Management Studio" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/Management+Studio/default.aspx" /><category term="Save Table Design" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/Save+Table+Design/default.aspx" /></entry><entry><title>A CALLBACK function is always triggered at LAST in a code route !!</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2009/07/08/a-callback-function-is-always-trigered-at-last-in-a-code-route.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2009/07/08/a-callback-function-is-always-trigered-at-last-in-a-code-route.aspx</id><published>2009-07-08T20:35:00Z</published><updated>2009-07-08T20:35:00Z</updated><content type="html">&lt;P&gt;A segment of javascript code :&lt;/P&gt;&lt;PRE class=csharpcode&gt; &lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; getValue() {
          &lt;SPAN class=kwrd&gt;var&lt;/SPAN&gt; rel = &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;;
          CustomService.GetValueFromServer(
          &lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt;(result) {
              rel = result;
          }
          );

          &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; rel;
      }

    &lt;SPAN class=kwrd&gt;var&lt;/SPAN&gt; myValue = getValue();&lt;/PRE&gt;
&lt;P&gt;CustomService is a "ScriptService" attributed c# webService class with a functional method "GetValueFromServer" supplying certain string value :&lt;/P&gt;&lt;PRE class=csharpcode&gt;[WebService(Namespace = &lt;SPAN class=str&gt;"http://tempuri.org/"&lt;/SPAN&gt;),
WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1),
ScriptService]
&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; CustomService : WebService
{
    [WebMethod]
    &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; GetValueFromServer()
    {
        &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=str&gt;"Yes I have got it."&lt;/SPAN&gt;;
    }
}
        &lt;/PRE&gt;
&lt;P&gt;Then , guess what will happen to "myValue" ? Will it be "Yes I have got it" ?? No , its value will be null after assignation.&lt;/P&gt;
&lt;P&gt;The reason is revealed in article subject. CALLBACK is always occuring at the very end.&lt;/P&gt;
&lt;P&gt;If you are not quit familar with client invocation of webservice please reference the official link :&lt;/P&gt;&lt;A href="http://www.asp.net/AJAX/Documentation/Live/Tutorials/ConsumingWebServicesWithAJAXTutorial.aspx" mce_href="http://www.asp.net/AJAX/Documentation/Live/Tutorials/ConsumingWebServicesWithAJAXTutorial.aspx"&gt;Calling Web Services from Client Script in ASP.NET AJAX&lt;/A&gt; 
&lt;P&gt;Now let me explain the short route.&lt;/P&gt;
&lt;P&gt;"var myValue = getValue()" invokes getValue() method , where following steps execute subsequently : 
&lt;OL&gt;
&lt;LI&gt;"rel" is initialized with null&lt;/LI&gt;
&lt;LI&gt;CustomService.GetValueFromServer() is called. But no js code excutes at this time at client! Note the function() is just a CALLBACK on a successful condition! As subject reveals , it will not be ruded in at this time , meaning "result" is not passed to rel.&lt;/LI&gt;
&lt;LI&gt;"rel" , a variable not passed with any value and staying null , is returned.&lt;/LI&gt;
&lt;LI&gt;Consequently , "myValue" only get a null value.&lt;/LI&gt;
&lt;LI&gt;Eventually , the "onSucceed" callback function is fired ! Whatever happens in it , it loses the chance to provide client an expected value.&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7143731" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="ajax" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/ajax/default.aspx" /><category term="ScriptService" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/ScriptService/default.aspx" /><category term="callback" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/callback/default.aspx" /><category term="webservice" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/webservice/default.aspx" /></entry><entry><title>Exception: The mapping of interface member IMetaEntity.Url is not supported</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2009/06/25/exception-the-mapping-of-interface-member-imetaentity-url-is-not-supported.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2009/06/25/exception-the-mapping-of-interface-member-imetaentity-url-is-not-supported.aspx</id><published>2009-06-25T18:06:00Z</published><updated>2009-06-25T18:06:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Though&amp;nbsp;"Url" is an "LinqToSql" generated&amp;nbsp;property and strictly map to a database field &amp;nbsp;the exeption still yields when where clause is written as&lt;/P&gt;
&lt;P mce_keep="true"&gt;from item in db.GetTable&amp;lt;T&amp;gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;where item.Url = "&lt;A href="http://xxxxxx/"&gt;http://xxxxxx&lt;/A&gt;" &lt;/P&gt;
&lt;P mce_keep="true"&gt;select item;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Solution:&amp;nbsp; such writting should be modified as :&amp;nbsp; item.Url.Equals( "&lt;A href="http://xxxxxx/"&gt;http://xxxxxx&lt;/A&gt;" )&lt;/P&gt;
&lt;P mce_keep="true"&gt;Then the exception is avoided.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Why ?&amp;nbsp; I do not know. Someone points out that it is Linq Team's mistake ...&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7134249" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author><category term="LinqToSql" scheme="http://weblogs.asp.net/atlaszhu/archive/tags/LinqToSql/default.aspx" /></entry><entry><title>GallaryServerPro:Could not load file or assembly 'ComponentArt.Web.UI' or one of its dependencies</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/atlaszhu/archive/2009/05/29/gallaryserverpro-could-not-load-file-or-assembly-componentart-web-ui-or-one-of-its-dependencies.aspx" /><id>http://weblogs.asp.net/atlaszhu/archive/2009/05/29/gallaryserverpro-could-not-load-file-or-assembly-componentart-web-ui-or-one-of-its-dependencies.aspx</id><published>2009-05-29T16:16:00Z</published><updated>2009-05-29T16:16:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;It is because the block action conducted by Mcafee !&lt;/P&gt;
&lt;P mce_keep="true"&gt;Access Protection -&amp;gt; Common Maximum Protecttion -&amp;gt; Prevent creation of new excutable files in the Windows Folder&lt;/P&gt;
&lt;P mce_keep="true"&gt;Unblock it !&amp;nbsp; Then everything is OK.&lt;/P&gt;
&lt;P mce_keep="true"&gt;For just a web application I need make some risk ...&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7101903" width="1" height="1"&gt;</content><author><name>zc0000</name><uri>http://weblogs.asp.net/members/zc0000.aspx</uri></author></entry></feed>
