如何在不使用 MSSQLServerManagementStudio 的情况下更改 SQLServer 中的默认数据库?

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

有人知道如何设置我的默认数据库 不使用对象资源管理器吗?

289289 次浏览

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

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

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

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

如果您没有权限更改您的默认数据库,您可以在您的查询顶部手动选择一个不同的数据库..。

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

将工作,只要你有权限的 其他数据库

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

  1. 打开 SqlServerManagementStudio

  2. 转到对象 Explorer-> Security-> Logins

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

  4. 在属性窗口中更改默认数据库并单击 OK。

  1. 点击更改连接图标
  2. 按选项 < <
  3. 从 Connect to database 下拉菜单中选择 db

如果您无法登录到 SQLServer:

sqlcmd –E -S InstanceName –d master

参考文献: Https://support.microsoft.com/en-us/kb/307864

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

Https://gyazo.com/c3d04c600311c08cb685bb668b569a67

Sp _ defaultdb (其中 将在未来版本的 Microsoft SQL Server 中删除)的替代品可以是 ALTER LOGIN:

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

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

ALTER LOGIN me WITH DEFAULT_DATABASE = my_database

但是

ALTER LOGIN [EVILCORP\j.smith28] WITH DEFAULT_DATABASE = [prod\v-45]

这可能会或可能不会准确地回答这个问题,但我遇到了这个问题(和问题) ,当我改变了我的帐户有一个新的数据库,我已经创建了我的“默认数据库”。然后,我删除了该数据库,并希望从头开始测试我的创建脚本。我注销了 SSMS 并打算重新登录,但是被拒绝了——无法登录到默认数据库是一个错误。噢!

我所做的是,在 SSMS 的登录对话框中,转到 Options,Connection Properties,然后在“ Connect to database”组合框中键入 master。点击连接。我被录取了。从那里您可以运行命令:

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

我也更喜欢 ALTER LOGIN命令,因为在接受的答案和描述 给你

但是对于 GUI 爱好者来说

  1. 进入[服务器实例]—— > 安全—— > 登录—— > [您的登录]
  2. 右键点击[您的登录]
  3. 更新页面底部的默认数据库选项

厌倦了阅读! ! ! 只是看看下面

enter image description here

单击“连接到服务器”对话框中的选项和“连接属性”中的选项,可以在启动时选择要连接到的数据库。最好让它默认,这将使主作为默认。否则,在连接到数据库之后,可能无意中在错误的数据库上运行 sql。

enter image description here

enter image description here

有一个小图标用于更改连接,单击该图标,然后转到 Options 并选择 db from Connect to database 下拉菜单

enter image description here

使用 下面的 MSSQL 查询,你可以改变 Sqlcmd上的 资料库:

USE testdb
GO

然后,你可以检查 当前使用的数据库:

SELECT DB_NAME()
GO

Testdb

然后,你可以显示 所有现有的数据库:

SELECT name FROM master.sys.databases
GO

师父
Tempdb
模特
MSDB
Testdb

此外,如果不在 Sqlcmd上指定数据库,则使用 “主”数据库作为 默认情况下