簡體   English   中英

如何在不使用 MS SQL Server Management Studio 的情況下更改 SQL 服務器中的默認數據庫?

[英]How to change default database in SQL Server without using MS SQL Server Management Studio?

我從 SQL 服務器刪除了一個數據庫,但事實證明我的登錄設置為默認使用刪除的數據庫。 通過使用連接對話框中的“選項”按鈕並選擇“主”作為要連接的數據庫,我可以連接到 SQL Server Management Studio。 但是,每當我嘗試在 object 資源管理器中執行任何操作時,它都會嘗試使用我的默認數據庫進行連接並且失敗。

有誰知道如何在不使用 object explorer的情況下設置我的默認數據庫?

您可以做的是使用 sp_defaultdb 系統存儲過程設置默認數據庫。 像您所做的那樣登錄,然后單擊“新建查詢”按鈕。 之后只需運行 sp_defaultdb 命令,如下所示:

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

要以 GUI 方式進行操作,您需要編輯您的登錄信息。 它的屬性之一是用於該登錄的默認數據庫。 您可以在安全節點下的登錄節點下找到登錄列表。 然后選擇您的登錄名並右鍵單擊並選擇“屬性”。 更改默認數據庫,您的生活會更好!

請注意,具有 sysadmin privs 權限的人需要能夠登錄才能執行此操作或運行上一篇文章中的查詢。

替代 sp_defaultdb ( 將在 Microsoft SQL Server 的未來版本中刪除)可以是ALTER LOGIN

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

注意:與sp_defaultdb解決方案不同, sp_defaultdb用戶和數據庫名稱不帶引號。 如果名稱有特殊字符,則需要括號(最常見的例子是域用戶,它是domain\\username ,沒有括號就不能工作)。

感謝這篇文章,我找到了一個更簡單的答案:

  1. 打開 SQL Server 管理工作室

  2. 轉到對象資源管理器 -> 安全 -> 登錄

  3. 右鍵單擊登錄並選擇屬性

  4. 並在屬性窗口中更改默認數據庫並單擊確定。

如果您無權更改默認數據庫,則可以在查詢頂部手動選擇不同的數據庫...

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

只要您對另一個數據庫有權限就可以工作

  1. 單擊更改連接圖標
  2. 點擊選項<<
  3. 從 Connect to database 下拉列表中選擇 db

我也更喜歡ALTER LOGIN命令,如已接受的答案並在此處描述

但對於 GUI 愛好者

  1. 轉到 [服務器實例] --> 安全 --> 登錄 --> [您的登錄]
  2. 右鍵單擊[您的登錄]
  3. 更新頁面底部的默認數據庫選項

讀膩了!!! 看看下面

在此處輸入圖片說明

單擊連接到服務器對話框和連接屬性上的選項,您可以選擇在啟動時連接到的數據庫。 最好將其保留為默認值,這將使 master 成為默認值。 否則,您可能會在連接到數據庫后無意中在錯誤的數據庫上運行 sql。

在此處輸入圖片說明

在此處輸入圖片說明

如果您無法登錄 SQL Server:

sqlcmd –E -S InstanceName –d master

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

這可能會也可能不會完全回答這個問題,但是當我更改我的帳戶以擁有我創建的新數據庫作為我的“默認數據庫”時,我遇到了這個問題(和問題)。 然后我刪除了該數據庫並想從頭開始測試我的創建腳本。 我注銷了 SSMS 並打算重新登錄,但被拒絕了——無法登錄到默認數據庫是錯誤。 哦!

我所做的是,在 SSMS 的登錄對話框中,轉到選項、連接屬性,然后在“連接到數據庫”組合框中鍵入master 單擊連接。 讓我進來。從那里你可以運行命令:

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

有一個用於更改連接的小圖標,單擊該圖標,然后單擊 go 到選項和 Select 數據庫從連接到數據庫下拉

在此處輸入圖像描述

使用下面的 MSSQL 查詢,您可以更改sqlcmd上的數據庫

USE testdb
GO

然后,您可以檢查當前使用的數據庫

SELECT DB_NAME()
GO

測試數據庫

然后,您可以顯示所有現有的數據庫

SELECT name FROM master.sys.databases
GO

掌握

臨時數據庫

model

數據庫

測試數據庫

此外,如果您沒有在sqlcmd上指定數據庫,則默認使用“master”數據庫

如果您使用 Windows 身份驗證,並且您不知道通過用戶名和密碼作為用戶登錄的密碼,您可以這樣做:在 SSMS 的登錄屏幕上單擊右下角的選項,然后轉到連接屬性選項卡. 然后您可以手動輸入您有權訪問的另一個數據庫的名稱,在它顯示的位置,這將允許您連接。 然后按照其他建議更改默認數據庫

https://gyazo.com/c3d04c600311c08cb685bb668b569a67

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM