0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SQL Server】SQLServerの既定のデータベースを削除してしまった

Last updated at Posted at 2022-11-30

【自分用メモ】
SQLServerの既定のデータベースを削除してしまった場合の対応手順
※SQLサーバーにログインするユーザーも知らなかった場合

■ SQLサーバにアクセスした時、発生したエラー(Windows認証でログインした時、発生したエラー)
ユーザーの既定データベースを開けません。ログインに失敗しました。
ユーザー'インスタンス名¥ログインユーザー名'はログインできませんでした。(Microsoft SQL Server、エラー:4064)

■ 対応した手順
① コマンドプロンプトでsqlcmdで接続する。

sqlcmd -E -S (インスタンス名) -d master

② masterを使用するコマンドを入力する。

USE master
GO

③ 既定のデータベースが存在するかを確認するSQL

select name, dbname from sys.syslogins where name='(ログインユーザー)'

④ SQLサーバーにログインするユーザー作成

CREATE LOGIN [ユーザー名] WITH PASSWORD = 'パスワード',DEFAULT_DATABASE = [master]

⑤ 作成したユーザーに権限付与

EXEC master.sys.sp_addsrvrolemember 'ユーザー名', 'ロール'
※今回、DB作成できるようにするため、データベースを作成できるロールが最適
※大体のPJが「createdb」ロールの名前を指定している

⑥ SQLサーバーにて「Server認証」方式で接続する

このステップでは④で作成したアカウントでログインする

⑦ SQLサーバーにアクセスできたら、削除してしまった既定のデータベースを作成する

操作手順としてはGUIでSQLサーバーの画面を直接操作する。

⑧ とっておいたデータベースのバックアップがあったら、データベースの復元を行う

操作手順としてはGUIでSQLサーバーの画面を直接操作する。

全てが完了したら、SQLサーバーのタブを開き、Windows認証でアクセスできるか、試す。無事にアクセスできたら、成功である。

■参考になった記事
https://note.com/gotch59/n/n446b35e1d7eb
https://www.pine4.net/Memo/Article/Archives/114

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?