如何在不使用MS SQL Server Management Studio的情况下更改SQL Server中的默认数据库?

时间:2008-12-12 10:38:32

标签: sql-server sql-server-2005 ssms default-database

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

有没有人知道如何设置我的默认数据库而不使用object explorer

11 个答案:

答案 0 :(得分:211)

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

Exec sp_defaultdb @loginame='login', @defdb='master' 

答案 1 :(得分:48)

要以GUI方式进行操作,您需要编辑登录信息。其中一个属性是用于该登录的默认数据库。您可以在“安全性”节点下的“登录”节点下找到登录列表。然后选择您的登录名并右键单击并选择“属性”。更改默认数据库,你的生活会更好!

请注意,拥有sysadmin privs的人需要能够登录才能执行此操作或运行上一篇文章中的查询。

答案 2 :(得分:36)

感谢this post,我找到了一个更简单的答案:

  1. 打开Sql Server Management Studio

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

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

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

答案 3 :(得分:24)

替代sp_defaultdb(will be removed in a future version of Microsoft SQL Server)可能是ALTER LOGIN

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

注意:与sp_defaultdb解决方案不同,用户和数据库名称不带引号。如果名称有特殊字符,则需要使用括号(最常见的示例是域用户,即域\用户名,如果没有括号,则无法使用。)

答案 4 :(得分:11)

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

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

只要您拥有其他数据库

的权限,就可以正常工作

答案 5 :(得分:8)

  1. 单击“更改连接”图标
  2. 点击选项<<
  3. 从“连接到数据库”下拉列表中选择数据库

答案 6 :(得分:2)

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

enter image description here

enter image description here

答案 7 :(得分:1)

如果您无法登录SQL Server:

sqlcmd –E -S InstanceName –d master

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

答案 8 :(得分:1)

我也更喜欢ALTER LOGIN命令,如接受的答案中所述,并描述了here

但是对于GUI爱好者

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

讨厌阅读!!!只需关注以下

enter image description here

答案 9 :(得分:0)

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

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

ALTER LOGIN [DOMAIN\useracct] WITH DEFAULT_DATABASE=[master]
GO

答案 10 :(得分:-1)

如果您使用Windows身份验证,并且您不知道通过用户名和密码以用户身份登录的密码,则可以执行此操作:在右下角的SSMS点击选项的登录屏幕上,然后转到到连接属性选项卡。然后,您可以手动输入您可以访问的另一个数据库的名称,以及它所说的位置,这样您就可以进行连接。然后按照其他建议更改默认数据库

https://gyazo.com/c3d04c600311c08cb685bb668b569a67