【SQLServer】 CEATE DATABASEの権限がない! | demicadeのブログ

demicadeのブログ

iPhoneアプリ開発素人のメモ的なブログです。

ご無沙汰です。demicadeです。

久しぶりに書くのは備忘録として。しかもSQLServerの事です。

データベースを追加しようとした際に、下記エラーにより作成できませんでした。


「CEATE DATABASE permission denied in database ‘master’データベース’master’への権限がありません。」


でも、administratorsグループ所属ユーザでログインしているし、管理者権限なら、SQL Server Expressの管理者じゃないの???と思っていたら、下記記事を見つけることで解決できました。


管理者グループ(administrators)なのにSQL Server Expressの管理者になれない場合

http://staff.qualias.jp/technology/%EF%BB%BF%E7%AE%A1%E7%90%86%E8%80%85%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%EF%BC%88administrators%EF%BC%89%E3%81%AA%E3%81%AE%E3%81%ABsql-server-express%E3%81%AE%E7%AE%A1%E7%90%86%E8%80%85%E3%81%AB/



一点だけ注意。下記コマンドを実行する前に、sqlcmdでデータベースに接続する必要があります。


CREATE LOGIN hero WITH PASSWORD="123", DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
EXEC sys.sp_addsrvrolemember @loginame = "hero", @rolename = "sysadmin"
GO


○sqlcmdコマンド接続の方法

例: sqlcmd -E -S localhost\sqlexpress <サーバー名\インスタンス名>



これで解決!!