55

With SQL Server 2005 and 2008 is it possible to set the default schema from the connection string? It'd be a lot easier if we didn't have to manually set the schema with SQL code.

Earlz
  • 62,085
  • 98
  • 303
  • 499

4 Answers4

42

You set the default schema based on the user who is logging in via the connection, not the connection itself.

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;

Reference:

OMG Ponies
  • 325,700
  • 82
  • 523
  • 502
41

No, this is done at the database User level, not in the connection string.

For reference, here are all of the properties which can be set in a connection string: https://www.connectionstrings.com/all-sql-server-connection-string-keywords/

plr108
  • 1,201
  • 11
  • 16
TimS
  • 5,922
  • 6
  • 35
  • 55
13

change the default schema associated with that login

example

ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;

More detail here: http://msdn.microsoft.com/en-us/library/ms176060.aspx

SQLMenace
  • 132,095
  • 25
  • 206
  • 225
2

If when you say "Schema," you mean "Owner" (i.e. dbo), then I believe the selected answer is correct.

However, if you mean "Database" instead, which in some vendor's lingo means the same thing as "Schema," then I have provided some more info below.

In the link that TimS provided:

Scroll down to the row with these two properties:

Initial Catalog -or- Database

Here's an example connection string with a DEFAULT DATABASE:

Server=myServerName\myInstanceName,1433;Database=DEFAULT_DATABASE;User Id=myUsername;Password=myPassword;

See link below for more examples:

JohnB
  • 18,046
  • 16
  • 98
  • 110