177

我从 SQL Server 中删除了一个数据库,但事实证明我的登录名被设置为使用删除的数据库作为其默认值。我可以通过使用连接对话框中的“选项”按钮并选择“主”作为要连接的数据库来连接到 SQL Server Management Studio。但是,每当我尝试在对象资源管理器中执行任何操作时,它都会尝试使用我的默认数据库进行连接并失败。

有谁知道如何在不使用对象资源管理器的情况下设置我的默认数据库?

4

11 回答 11

227

您可以做的是使用 sp_defaultdb 系统存储过程设置您的默认数据库。像您一样登录,然后单击“新建查询”按钮。之后只需运行 sp_defaultdb 命令,如下所示:

Exec sp_defaultdb @loginame='login', @defdb='master' 
于 2008-12-12T10:38:41.893 回答
57

sp_defaultdb(将在 Microsoft SQL Server 的未来版本中删除)的替代方案可能是ALTER LOGIN

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

注意:用户名和数据库名不带引号(与sp_defaultdb解决方案不同)。如果名称有特殊字符,则需要括号(最常见的例子是域用户,domain\username没有括号也不能工作):

ALTER LOGIN me WITH DEFAULT_DATABASE = my_database

ALTER LOGIN [EVILCORP\j.smith28] WITH DEFAULT_DATABASE = [prod\v-45]
于 2017-11-21T13:20:55.490 回答
51

要以 GUI 方式执行此操作,您需要编辑您的登录名。它的属性之一是用于该登录的默认数据库。您可以在 Security 节点下的 Logins 节点下找到登录列表。然后选择您的登录名并右键单击并选择属性。更改默认数据库,您的生活会更美好!

请注意,具有系统管理员权限的人需要能够登录才能执行此操作或运行上一篇文章中的查询。

于 2008-12-12T16:30:50.707 回答
45

感谢这篇文章,我找到了一个更简单的答案:

  1. 打开 Sql Server 管理工作室

  2. 转到对象资源管理器 -> 安全 -> 登录

  3. 右键单击登录并选择属性

  4. 并在属性窗口中更改默认数据库,然后单击确定。

于 2013-02-19T12:36:37.567 回答
14

如果您无权更改默认数据库,则可以在查询顶部手动选择不同的数据库...

USE [SomeOtherDb]
SELECT 'I am now using a different DB'

只要您有权访问其他数据库,就可以使用

于 2008-12-12T17:23:03.113 回答
8
  1. 单击更改连接图标
  2. 点击选项<<
  3. 从连接到数据库下拉列表中选择数据库
于 2015-02-23T06:44:45.680 回答
5

单击连接到服务器对话框和连接属性上的选项,您可以选择在启动时连接到的数据库。最好将其保留为默认值,这将使 master 成为默认值。否则,您可能会在连接到数据库后无意中在错误的数据库上运行 sql。

在此处输入图像描述

在此处输入图像描述

于 2020-08-24T21:55:14.950 回答
4

我也更喜欢ALTER LOGINCommand 作为接受的答案并在此处描述

但对于 GUI 爱好者

  1. 转到 [服务器实例] --> 安全 --> 登录 --> [您的登录]
  2. 右键单击[您的登录名]
  3. 更新页面底部的默认数据库选项

看书累了!!!看看下面

在此处输入图像描述

于 2019-02-23T13:51:18.577 回答
2

如果您无法登录 SQL Server:

sqlcmd –E -S InstanceName –d master

参考: https: //support.microsoft.com/en-us/kb/307864

于 2016-11-04T13:24:16.320 回答
1

这可能会也可能不会完全回答这个问题,但是当我将帐户更改为拥有一个创建为“默认数据库”的新数据库时,我遇到了这个问题(和问题)。然后我删除了该数据库并想从头开始测试我的创建脚本。我注销了 SSMS 并打算重新登录,但被拒绝 - 无法登录到默认数据库是错误。哦!

我所做的是,在 SSMS 的登录对话框中,转到选项、连接属性,然后master在“连接到数据库”组合框中键入。单击连接。让我进去。从那里你可以运行命令:

ALTER LOGIN [DOMAIN\useracct] WITH DEFAULT_DATABASE=[master]
GO
于 2018-08-13T21:03:20.680 回答
-1

如果您使用 Windows 身份验证,并且您不知道通过用户名和密码以用户身份登录的密码,您可以这样做:在 SSMS 的登录屏幕上单击右下角的选项,然后转到连接属性选项卡. 然后,您可以手动输入您有权访问的另一个数据库的名称,在它显示的位置,这将允许您连接。然后按照其他建议更改默认数据库

https://gyazo.com/c3d04c600311c08cb685bb668b569a67

于 2017-05-23T10:53:10.810 回答