• The correct SQL for something like this would be:
    --Start at master, as we will creating a LOGIN
    USE master;
    GO
    --Create the LOGIN first
    CREATE LOGIN SSCSample
      WITH PASSWORD = N'test123',
      DEFAULT_DATABASE = TestDB,
      DEFAULT_LANGUAGE = British,
      CHECK_EXPIRATION = OFF,
      CHECK_POLICY = OFF;
    GO
    --Connect to the right Database
    USE TestDB;
    GO
    --Create the USER for the LOGIN
    CREATE USER SSCSample FOR LOGIN SSCSample;
    GO
    --Grant SELECT on VIEW/TABLE
    GRANT SELECT ON dbo.test TO SSCSample;
    GO
    /*
    --Clean Up
    DROP USER SSCSample;
    GO

    DROP LOGIN SSCSample;
    GO
    */

    As Sue outlined, notice that I create a Login first, and then the user on the specific database. I skipped creating a role on the database as this was a simple example.

    My question, however, is actually related to your error: no process at the other end of the pipe. Are you actually connected to the SQL server before running this SQL? This sounds like your using named pipes for the connection to your SQL server however, it isn't enabled correctly, thus the connection is failing. it could also be due to some poorly formed SQL prior to the SQL posted though.

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk