Подтвердить что ты не робот

При подключении к SQL Server Management Studio по умолчанию используется "мастер" при выборе объекта, специфичного для базы данных

В SQL Server 2008 R2 Management Studio, если я щелкнул правой кнопкой мыши по объекту внутри конкретной базы данных и выбрал "Выбрать более 1000 строк..", соединение с базой данных для окна запроса всегда открывается на "master", а таблица имя полностью определено как [база данных]. [dbo]. [table]. Это делает невозможным вхождение и настройку этого запроса, вставку объединений и т.д. В инструкцию без полной проверки всего, что я добавляю, или добавления оператора USE или выбора базы данных из выпадающего меню.

Есть ли параметр или что-то, что сделает окна запросов открытыми с подключением базы данных к базе данных выбранного объекта браузера, а не подключиться к "master" и не полностью квалифицировать базу данных объектов в тексте запроса? Я понимаю, что я могу зарегистрировать свое SQL-соединение по умолчанию для своей базы данных, но мы действительно просматриваем несколько новых баз данных каждую неделю - за определенный месяц я затрону несколько десятков баз данных, поэтому было бы сложно управлять несколькими регистрациями баз данных, Я бы предпочел, чтобы SSMS просто подключился к указанной базе данных. Возможно и понятно?

4b9b3361

Ответ 1

Нет такой настройки для команды SELECT TOP, но вы можете это сделать, изменив базу данных по умолчанию для своего входа. Это утомительно, если вы часто это делаете для разных баз данных (так же, как изменение регистраций, как я уже заметил, вы уже указали).

Вместо использования SELECT TOP 1000 (который помимо того, что вы не попали в нужный контекст базы данных, также помещает TOP, в котором я предполагаю, что вы просто удалите его), вы должны щелкнуть правой кнопкой мыши и выберите Script Table as > SELECT to > New Query Window. Это помещает контекст в правый БД, добавляет команду USE, не имеет TOP и не префикс базы данных для имени таблицы.

ИЗМЕНИТЬ

FWIW, я склонен согласиться с вами, и я ненавижу противоречивое поведение между функциональностью, которая должна быть одинаковой/идентичной. Итак, я подал это предложение - пожалуйста, голосуйте!

http://connect.microsoft.com/SQLServer/feedback/details/684247/

Ответ 2

Если вы входите через Win Auth, находитесь в группе, используете SA или какой-либо другой идентификатор пользователя или находитесь в ситуации, когда изменение вашего логина на самом деле не является решением, И если все, что вы хотите сделать, база данных в редакторе запросов:

  • В существующем открытом редакторе запросов щелкните правой кнопкой мыши, выберите Connection, Change Connection.

  • Нажмите кнопку "Параметры", чтобы развернуть параметры.

  • На вкладке Свойства подключения выберите базу данных, к которой вы хотите подключиться.

SSMS запомнит ваш выбор для этого сервера. Возможно, вам придется повторить для других серверов, но он исправляет наличие базы данных по умолчанию, отличной от основной.

Ответ 3

Если вы хотите, чтобы окно запроса подключалось к какой-либо базе данных по умолчанию, в SSMS перейдите в Security → Logins, выберите логин, который вы используете для подключения к этому серверу, и заходите в окно свойств. В разделе "Общие" измените базу данных по умолчанию из "master" в базу данных, которую вы хотите подключить.

Ответ 4

Вы можете просто положить USE [database name] в верхней части окна запроса до выполнения запроса. Если вы это сделаете, вам не нужно полностью квалифицировать имена баз данных. Если вы создаете какие-либо скрипты и контролируете их версию, это хорошая практика, чтобы в любом случае поставить верх. Это, по крайней мере, предотвращает ошибочное выполнение script неправильной базы данных (например, создание хранимой процедуры).

USE MySpecialDatabase
GO

SELECT * FROM MySpecialTable