Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6473299
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T06:26:59+00:00 2026-05-25T06:26:59+00:00

Just bumped into a statement that works in SSMS, but produces an error when

  • 0

Just bumped into a statement that works in SSMS, but produces an error when executed from C#:

create table    dbo.tb_Role
(
    idRole  smallint not null identity( 1, 1 )
        constraint xp_Role primary key clustered,
    sRole   varchar( 16 ) not null,
    s_Role  as lower( sRole )           -- automatic lower-case
        constraint  xu_Role unique,     -- enforce name uniqueness
    ..
)

Earlier in a similar case I always used a unique index on sRole without an additional computed column. Recently I realized that this approach will allow both ‘Admins’ and ‘admins’. Wanting to do things properly, I added s_Role. But my install engine (written in C#) surprisingly choked on that statement, showing a SqlException:

CREATE TABLE failed because the following SET options have incorrect settings: ‘QUOTED_IDENTIFIER’. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or filtered indexes and/or query notifications and/or XML data type methods and/or spatial index operations. Could not create constraint. See previous errors.

If I comment out s_Role column (and xu_Role constraint) install executes the script perfectly, so the error is triggered by that column definition.

I have two questions:

1) SSMS is also a .NET application – same as my install engine. Why is the behavior different? Can’t use profiler since it’s an Express Edition..

If the difference is about default connection properties (specifically, QUOTED_IDENTIFIER), SSMS has the default set to ON (confirmed in Tools|Options|QueryExecution|SQLServer|ANSI), and MSDN says this option is ON by default [for new connections].
I never modify any options in the SqlConnection objects that I use, so what gives?

2) There are no quoted identifiers in that column definition, so what’s the complaint about? Yes, I see “..indexes on computed columns”, but I just tried wrapping that entire CREATE TABLE in SET QUOTED_IDENTIFIER ON|OFF in SSMS and then flipped them – OFF|ON. Both cases execute in SSMS without any differences or errors!
So, even if I explicitly turn if OFF, SSMS executes this CREATE successfully..

The next thing to try is add same wrap into the install script. I’ll add results in a jiffy. My environment: VS2010, .NET4 (tho same code would run on 2.0), SQL 2008 Express (sure that same would occur on R2).

If anyone has an explanation, I will very much appreciate sharing!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T06:26:59+00:00Added an answer on May 25, 2026 at 6:26 am

    You misunderstand SET QUOTED_IDENTIFIER ON

    This (and other options) should be ON for indexes on computed columns. A unique constraint is an index. It’s to do with ANSI standards and predictable behaviours

    When you CREATE TABLE do you explicitly run SET QUOTED_IDENTIFIER OFF in SSMS or bvia the menus? You may be seeting it OFF for new connections only.

    From .net, run Profiler or execute DBCC USEROPTIONS to see what SET statements are actually issued. You aren’t using a DSN or some such are you?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Just bumped into the fact that an if statement can have multiple parameters in
I bumped into something unexpected just now, and it reminded me that there is
I just recently bumped into a strange behavior of JSoup library 1.3.3 (quite old,
During usage of NHibernate ... One strange problem that I have bumped into was
Bumped into a strange situation here. Trying to extract cars from a sql database
I bumped into a problem with normal mapping and surfaces pointing away from light.
I've bumped into a small problem that i cant seem to find the fix
I recently bumped into an article from inchoo It changes the default way on
I just bumped into this little problem and I wanted the input of other
I've bumped into several users that have cookies disabled and therefore the site doesn't

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.