web-dev-qa-db-ja.com

MS SQL Server Management Studioを使用せずにSQL Serverのデフォルトデータベースを変更するにはどうすればよいですか?

SQL Serverからデータベースを削除しましたが、my loginが削除されたデータベースをデフォルトとして使用するように設定されていました。接続ダイアログの「オプション」ボタンを使用し、接続するデータベースとして「マスター」を選択することにより、SQL Server Management Studioに接続できます。ただし、オブジェクトエクスプローラーで何かを行おうとすると、デフォルトデータベースを使用して接続しようとして失敗します。

誰も私のデフォルトのデータベースを設定する方法を知っていますかオブジェクトエクスプローラを使用せずに

156
Martin Brown

Sp_defaultdbの代替(これは Microsoft SQL Serverの将来のバージョンで削除される )は ALTER LOGIN になります。

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

注:sp_defaultdbソリューションとは異なり、ユーザー名とデータベース名は引用符なしで提供されます。名前に特殊な文字が含まれる場合は角かっこが必要です(最も一般的な例は、domain\usernameであり角かっこなしでは機能しないドメインユーザーです)。

24
Marek

できることは、sp_defaultdbシステムストアドプロシージャを使用してデフォルトデータベースを設定することです。完了したらログインし、[新しいクエリ]ボタンをクリックします。その後、次のようにsp_defaultdbコマンドを実行します。

Exec sp_defaultdb @loginame='login', @defdb='master' 
211
Martin Brown

GUIの方法で行うには、ログインを編集する必要があります。そのプロパティの1つは、そのログインに使用されるデフォルトのデータベースです。 [セキュリティ]ノードの下の[ログイン]ノードの下に、ログインのリストがあります。次に、ログインを選択し、右クリックして[プロパティ]を選択します。デフォルトのデータベースを変更すると、あなたの人生は良くなります!

Sysadmin privsを持っている人は、これを行うため、または前の投稿からクエリを実行するためにログインできる必要があることに注意してください。

48
Marcus Erickson

この投稿 のおかげで、簡単な答えが見つかりました:

  1. SQL Server Management Studioを開きます

  2. オブジェクトエクスプローラー->セキュリティ->ログインに移動します

  3. ログインを右クリックして、プロパティを選択します

  4. そして、プロパティウィンドウでデフォルトデータベースを変更し、[OK]をクリックします。

36
Mattijs

デフォルトDBを変更する権限がない場合は、クエリの上部で別のDBを手動で選択できます...

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

other DBに対する許可がある限り機能します

11
Greg B
  1. [接続の変更]アイコンをクリックします
  2. オプションをクリックします<<
  3. [データベースに接続]ドロップダウンからデータベースを選択します
8
Ravishankar S

SQL Serverにログインできない場合:

sqlcmd –E -S InstanceName –d master

参照: https://support.Microsoft.com/en-us/kb/307864

1
gmesorio

また、受け入れられた回答のようにALTER LOGINコマンドを選択し、説明します here

しかし、GUI愛好家のために

  1. [サーバーインスタンス]->セキュリティ->ログイン-> [あなたのログイン]に移動します。
  2. [あなたのログイン]をクリックします
  3. ページの下部にあるデフォルトのデータベースオプションを更新する

読書にうんざり!!!次を見てください

enter image description here

1
Mubashar Ahmad

これは質問に正確に答えるかどうかはわかりませんが、「デフォルトデータベース」として作成した新しいデータベースを使用するようにアカウントを変更したときに、この問題(および質問)に遭遇しました。次に、そのデータベースを削除し、作成スクリプトを最初からテストしたいと考えました。私はSSMSからログオフし、再びアクセスしようとしていましたが、拒否されました-エラーはデフォルトのデータベースにログインできませんでした。ど!

私がやったことは、SSMSのログインダイアログで、[オプション]、[接続プロパティ]に移動し、[データベースに接続]コンボボックスでmasterと入力することでした。接続をクリックします。私を入れました。そこからコマンドを実行して次のことができます。

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