Как изменить базу данных по умолчанию в SQL Server без использования MS SQL Server Management Studio? - PullRequest
156 голосов
/ 12 декабря 2008

Я удалил базу данных с SQL Server, однако оказалось, что мой логин был настроен на использование удаленной базы данных по умолчанию. Я могу подключиться к SQL Server Management Studio, используя кнопку «Параметры» в диалоговом окне подключения и выбрав «мастер» в качестве базы данных для подключения. Однако всякий раз, когда я пытаюсь что-либо сделать в обозревателе объектов, он пытается подключиться с использованием базы данных по умолчанию и завершается неудачей.

Кто-нибудь знает, как установить базу данных по умолчанию без использования проводника объектов ?

Ответы [ 10 ]

211 голосов
/ 12 декабря 2008

Что вы можете сделать, это установить базу данных по умолчанию, используя системную хранимую процедуру sp_defaultdb. Войдите, как вы сделали, и нажмите кнопку Новый запрос. После этого просто выполните команду sp_defaultdb следующим образом:

Exec sp_defaultdb @loginame='login', @defdb='master' 
48 голосов
/ 12 декабря 2008

Чтобы сделать это способом GUI, вам нужно отредактировать свой логин. Одним из его свойств является база данных по умолчанию, используемая для этого логина. Вы можете найти список входов в систему в разделе «Вход в систему» ​​в разделе «Безопасность». Затем выберите свой логин и щелкните правой кнопкой мыши и выберите Свойства. Измените базу данных по умолчанию, и ваша жизнь станет лучше!

Обратите внимание, что кто-то с sysadmin privs должен иметь возможность войти в систему, чтобы сделать это или выполнить запрос из предыдущего поста.

36 голосов
/ 19 февраля 2013

Благодаря этому посту я нашел более простой ответ:

  1. Открыть Sql Server Management Studio

  2. Перейти к объекту Explorer -> Безопасность -> Логины

  3. Щелкните правой кнопкой мыши по логину и выберите свойства

  4. И в окне свойств измените базу данных по умолчанию и нажмите OK.

24 голосов
/ 21 ноября 2017

Альтернативой sp_defaultdb (который будет удален в будущей версии Microsoft SQL Server ) может быть ALTER LOGIN:

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

Примечание: в отличие от решения sp_defaultdb имена пользователей и баз данных указываются без кавычек. Скобки необходимы, если имя имеет специальные символы (наиболее распространенным примером будет пользователь домена, который является доменом \ username и не будет работать без скобок).

11 голосов
/ 12 декабря 2008

Если у вас нет прав на изменение БД по умолчанию, вы можете вручную выбрать другую БД в верхней части запроса ...

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

Будет работать до тех пор, пока у вас есть разрешение на другое DB

8 голосов
/ 23 февраля 2015
  1. Нажмите на иконку Изменить соединение
  2. Нажмите Опции << </li>
  3. Выберите db из выпадающего списка Connect to database
1 голос
/ 23 февраля 2019

Я также предпочитаю ALTER LOGIN Команда, как в принятом ответе и описана здесь

Но для любителей GUI

  1. Перейдите на [SERVER INSTANCE] -> Security -> Logins -> [YOUR LOGIN]
  2. Рик Нажмите [ВАШ ЛОГИН]
  3. Обновить опцию базы данных по умолчанию внизу страницы

Надоело читать !!! просто посмотрите на следующее

enter image description here

1 голос
/ 04 ноября 2016

Если вы не можете войти в SQL Server:

sqlcmd –E -S InstanceName –d master

Ссылка: https://support.microsoft.com/en-us/kb/307864

0 голосов
/ 14 августа 2018

Это может или не может точно ответить на вопрос, но я столкнулся с этой проблемой (и вопросом), когда я изменил свою учетную запись, чтобы иметь новую базу данных, которую я создал как свою «базу данных по умолчанию». Затем я удалил эту базу данных и хотел протестировать сценарий создания с нуля. Я вышел из SSMS и собирался вернуться, но мне было отказано - не удалось войти в базу данных по умолчанию, была ошибка. D'ой!

В диалоговом окне входа в систему для SSMS я выбрал «Параметры», «Свойства подключения», а затем набрал master в поле со списком «Подключение к базе данных». Нажмите Подключиться. Получил меня. Оттуда вы можете запустить команду:

ALTER LOGIN [DOMAIN\useracct] WITH DEFAULT_DATABASE=[master]
GO
0 голосов
/ 23 мая 2017

Если вы используете проверку подлинности Windows и не знаете пароль для входа в систему в качестве пользователя с помощью имени пользователя и пароля, вы можете сделать это: на экране входа в систему SSMS щелкните параметры в правом нижнем углу, затем перейдите к вкладка свойств подключения. Затем вы можете ввести вручную имя другой базы данных, к которой у вас есть доступ, там, где она говорит, что позволит вам подключиться. Затем следуйте другим советам для изменения базы данных по умолчанию

https://gyazo.com/c3d04c600311c08cb685bb668b569a67

...