2012-01-14 19 views
20

Me gustaría cambiar la base de datos predeterminada para un inicio de sesión para admitir software que puede acceder a SQL Azure pero no permite la alteración fácil de una cadena de conexión. Parece que SQL Azure se establece de manera predeterminada en la base de datos master.Cambiar la base de datos predeterminada para un inicio de sesión de SQL Azure

que ya hemos considerado:

  • Los procedimientos almacenados. No puedo encontrar un procedimiento almacenado que haga esto (sp_defaultdb no está implementado en SQL Azure hasta donde yo sé)

  • Alter Login. ALTER LOGIN no permite la opción DEFAULT_DATABASE.

  • SSMS. SSMS no parece permitir mucho control del usuario a través de la interfaz para SQL Azure.

Ideas?

Respuesta

9

Cadena de conexión:

Server=tcp:[serverName].database.windows.net;Database=myDataBase;User ID=[LoginForDb]@[serverName];Password=myPassword;Trusted_Connection=False;Encrypt=True; 

Usted puede cambiar la conexión de base de datos por defecto, al escribir la propiedad 'Base de datos' en la cadena de conexión.

SSMS se conecta al cuadro de la base de datos que es una opción-> pestaña secundaria en el cuadro de diálogo de conexión.

9

Puede cambiar fácilmente la base de datos predeterminada cuando inicia sesión con SSMS. Haga clic en el botón Opciones en el cuadro de diálogo de inicio de sesión y luego haga clic en la pestaña Propiedades de la conexión. En el cuadro "Conectarse a la base de datos", ingrese el nombre de su base de datos.

6

Como ya descubrió, la opción DEFAULT_DATABASE no está disponible en SQL Azure. Por lo tanto, si no puede cambiar la cadena de conexión de su aplicación en la que normalmente especificaría el nombre de la base de datos, estará atascado en el maestro.

Sin embargo ... ¿es posible crear una conexión ODBC y configurar su aplicación para usar ODBC? El uso de ODBC le permitiría especificar una base de datos predeterminada.

+0

Gracias ...Parece que estoy atascado a menos que quiera construir una cadena de conexión. Estaba tratando de evitar eso, pero parece que realmente no hay otra manera. –

2

usted tiene que utilizar el uso siguiente para ser capaz de cambiar la base de datos "por defecto"

  1. uso "de SQL Server Native Client 10.0" o superior en cambio en el uso de "SQL Server como controlador
  2. Uso completa identificación del usuario como Nombre de usuario @ AzureConnnectString

Para mí es [email protected]

Más detalles aquí http://debugmode.net/2011/04/22/connecting-microsoft-access-to-sql-azure/

+0

¿Es "NorthWind" en su ejemplo un nombre de usuario o de base de datos? –

0

Otra opción es crear un usuario asignado en la base de datos maestra y la base de datos alojada. Esto permitirá que SSMS se conecte al servidor y use master como db predeterminado, luego el usuario puede abrir la base de datos. No soy un DBA, así que no sé las implicaciones de esto, pero así es como lo resolví. Mi base de datos solo se está utilizando para un proyecto POC, por lo que no tiene muchos requisitos de seguridad.

Cuestiones relacionadas