48

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
  • 59,859
  • 94
  • 288
  • 489

4 Answers4

38

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
  • 314,254
  • 77
  • 507
  • 490
38

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,151
  • 10
  • 16
TimS
  • 5,700
  • 6
  • 32
  • 54
12

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
  • 128,762
  • 24
  • 200
  • 224
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
  • 16,745
  • 16
  • 96
  • 110