Sunday, October 14, 2012

SQL SERVER : Error 3154: The backup set holds a backup of a database other than the existing database


Error 3154: The backup set holds a backup of a database other than the existing database

Here is the fix to this error:


Steps:
1) Use WITH REPLACE while using the RESTORE command
2) Delete the older database which is conflicting and restore again using RESTORE command.
RESTORE DATABASE Inventory
FROM DISK = 'C:\BackupInventory.bak'WITH REPLACE
You are actually  trying to restore the database on another existing active database.

Enjoy..this is the efficient fix

Saturday, October 6, 2012

A potentially dangerous Request.Path value was detected from the client (:)

Sometimes you get the following exception when usually opening a page in web browser
A potentially dangerous Request.Path value was detected from the client (:)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: A potentially dangerous Request.Path value was detected from the client (:).

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (:).]
   System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +8884233
   System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +59



Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1 

Solution:
1.Check the url properly.Find out if there is any invalid character that has been accidently set as a part of the url.In my case when i got this exception,i did enough of google and all that....when  checked the url and i found that "colon :"  was getting appended to the url at the end.
like this http://localhost/myapp/index.aspx:
It is not always the case with colon...somtimes there may be some other unwanted character...This was the case with my problem...
I removed the colon and the problem was fixed......................and closed all the windows from google search :)


OR
These link may also be helpful
http://www.cryer.co.uk/brian/mswinswdev/ms_vbnet_server_error_potentially_dangerous.htm

http://stackoverflow.com/questions/5967103/a-potentially-dangerous-request-path-value-was-detected-from-the-client











Wednesday, October 3, 2012

SQL 2008 - "Saving changes is not permitted." error message.. Whenever any change is made to the table in SQL Server 2008,the following message is displayed Saving changes is not permitted. The changes 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.

The fix to this warning is as:
Open SQL Server Management Studio (SSMS).
On the Tools menu, click Options.
In the navigation pane of the Options window, click Designers.
Select or clear the Prevent saving changes that require the table re-creation check box, and then click OK.

Note If you disable this option, you are not warned when you save the table that the changes that you made have changed the metadata structure of the table. In this case, data loss may occur when you save the table.
Risk of turning off the "Prevent saving changes that require table re-creation" option

Although turning off this option can help you avoid re-creating a table, it can also lead to changes being lost. For example, suppose that you enable the Change Tracking feature in SQL Server 2008 to track changes to the table. When you perform an operation that causes the table to be re-created, you receive the error message that is mentioned in the "Symptoms" section. However, if you turn off this option, the existing change tracking information is deleted when the table is re-created. Therefore, we recommend that you do not work around this problem by turning off the option.

To determine whether the Change Tracking feature is enabled for a table, follow these steps:
In SQL Server Management Studio, locate the table in Object Explorer.
Right-click the table, and then click Properties.
In the Table Properties dialog box, click Change Tracking.
If the value of the Change Tracking item is True, this option is enabled for the table. If the value is False, this option is disabled.

When the Change Tracking feature is enabled, use Transact-SQL statements to change the metadata structure of the table.

Steps to reproduce the problem

In SQL Server Management Studio, create a table that contains a primary key in the Table Designer tool.
Right-click the database that contains this table, and then click Properties.
In the Database Properties dialog box, click Change Tracking.
Set the value of the Change Tracking item to True, and then click OK.
Right-click the table, and then click Properties.
In the Table Properties dialog box, click Change Tracking.
Set the value of the Change Tracking item to True, and then click OK.
On the Tools menu, click Options.
In the Options dialog box, click Designers.
Click to select the Prevent saving changes that require table re-creation check box, and then click OK.
In the Table Designer tool, change the Allow Nulls setting on an existing column.
Try to save the change to the table.
[Source:Microsoft]


Thursday, September 20, 2012

SQL SERVER – FIX : ERROR : Cannot open database requested by the login. The login failed. Login failed for user ‘NT AUTHORITY\NETWORK SERVICE’.


This error occurs when you have configured your application with IIS, and IIS goes to SQL Server and tries to login with credentials that do not have proper permissions. This error can also occur when replication or mirroring is set up.
Here is the solution:
Go to SQL Server >> Security >> Logins and right click on NT AUTHORITY\NETWORK SERVICE and select Properties
In newly opened screen of Login Properties, go to the “User Mapping” tab. Then, on the “User Mapping” tab, select the desired database – especially the database for which this error message is displayed. On the lower screen, check the role db_owner. Click OK.
Hope this solves your issue

Thursday, September 13, 2012

Manually configure IIS webserver for asp.net 4.0

Hi folks if you are getting this error "Manually configure IIS webserver for asp.net 4.0" then do the following





1.Open visual studio command prompt in administrative mode.
2.Then run this command
       C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i

i.e., you have to reach to v4.0.30319 folder first,then run the command aspnet_regiis -i

Here is the screen shot


Hope this solves your problem

How to Install SQL SERVER – 2008 –A Step By Step Installation Guide


How to Install SQL SERVER – 2008 –A Step By Step Installation Guide 

SQL SERVER 2008 Release Candidate 0 has been released for some time and I have got numorous request about how to install SQL Server 2008. I have created this step by step guide Installation Guide. Images are used to explain the process easier.
[Click On Images to See Larger Image]
[Click On Images to See Larger Image]

Monday, December 19, 2011

C# Facade Design Pattern

In real world a facade or façade  is generally one exterior side of a building usually, but not always, the front...:)

The facade pattern is a software engineering design pattern commonly used with object oriented programming analogy to an architectural facade.A facade is an object that provides a simplified interface to a larger body of code, such as a class library. A facade can:
  • make a software library easier to use, understand and test, since the facade has convenient methods for common tasks;
  • make code that uses the library more readable, for the same reason;
  • reduce dependencies of outside code on the inner workings of a library, since most code uses the facade, thus allowing more flexibility in developing the system;
  • wrap a poorly-designed collection of APIs with a single well-designed API (as per task needs).
    • Facade defines a higher-level interface that makes the subsystem easier to use. Facade  is one of the common and easiest patterns. It wrap a complicated subsystem with a simpler interface. As a developer we often use this facade pattern. Even some of them don't recognise while using it that its a facade patterns. I have tried to explain facade pattern by building a blog system.
    • Facade design patterns  gives easier interface for common task. It provides simplified and uniform interface to a large subsystem of classes. For example in a shopping cart system  there could be many API’s related to register user, purchase,user detail, transactions etc so facade deals with all these interfaces and provide one simple modified interface to deals with them.
      A more simple non-software example can be if you want to play a game suppose Metal gear Solid on PS3 (Did i tell you that i love that game?). You Require PS3, HD TV, Controller etc.  So there are so many sub system could be involve if you want to play a game on ps3. But actually all you are doing in simpler term is playing a game. So facade can give you a simple interface with a operation call PlayGame() in this example.The Facade object should be a fairly simple advocate or facilitator. If the Facade is the only access point for the subsystem, it will limit the features and flexibility that “power users” may need.
      For example we have
      // Facade pattern -- Structural example

      using System;

      namespace DoFactory.GangOfFour.Facade.Structural
      {
        /// <summary>
        /// MainApp startup class for Structural
        /// Facade Design Pattern.
        /// </summary>
        class MainApp
        {
          /// <summary>
          /// Entry point into console application.
          /// </summary>
          public static void Main()
          {
            Facade facade = new Facade();

            facade.MethodA();
            facade.MethodB();

            // Wait for user
            Console.ReadKey();
          }
        }

        /// <summary>
        /// The 'Subsystem ClassA' class
        /// </summary>
        class SubSystemOne
        {
          public void MethodOne()
          {
            Console.WriteLine(" SubSystemOne Method");
          }
        }

        /// <summary>
        /// The 'Subsystem ClassB' class
        /// </summary>
        class SubSystemTwo
        {
          public void MethodTwo()
          {
            Console.WriteLine(" SubSystemTwo Method");
          }
        }

        /// <summary>
        /// The 'Subsystem ClassC' class
        /// </summary>
        class SubSystemThree
        {
          public void MethodThree()
          {
            Console.WriteLine(" SubSystemThree Method");
          }
        }

        /// <summary>
        /// The 'Subsystem ClassD' class
        /// </summary>
        class SubSystemFour
        {
          public void MethodFour()
          {
            Console.WriteLine(" SubSystemFour Method");
          }
        }

        /// <summary>
        /// The 'Facade' class
        /// </summary>
        class Facade
        {
          private SubSystemOne _one;
          private SubSystemTwo _two;
          private SubSystemThree _three;
          private SubSystemFour _four;

          public Facade()
          {
            _one = new SubSystemOne();
            _two = new SubSystemTwo();
            _three = new SubSystemThree();
            _four = new SubSystemFour();
          }

          public void MethodA()
          {
            Console.WriteLine("\nMethodA() ---- ");
            _one.MethodOne();
            _two.MethodTwo();
            _four.MethodFour();
          }

          public void MethodB()
          {
            Console.WriteLine("\nMethodB() ---- ");
            _two.MethodTwo();
            _three.MethodThree();
          }
        }
      }

      Output
      MethodA() ----
      SubSystemOne Method
      SubSystemTwo Method
      SubSystemFour Method

      MethodB() ----
      SubSystemTwo Method
      SubSystemThree Method