web-dev-qa-db-ja.com

SQL Server 2008Expressでデータベースを作成するときにアクセス許可が拒否されました

VistaのSQLServer 2008 Expressで以下(Sql Server Management Studioによって生成)を実行します。

CREATE DATABASE [test] ON  PRIMARY 
( NAME = N'test', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\test.mdf' , SIZE = 5120KB , FILEGROWTH = 10%)
 LOG ON 
( NAME = N'test_log', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\test_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

結果は

Msg 262, Level 14, State 1, Line 1
CREATE DATABASE permission denied in database 'master'.

SQL 2005の参照を見つけた表面積ツールはもう存在せず、SQL Expressのデータベース管理者にローカル管理者(私もその1人)を追加する方法がわかりません。

私の知る限り、これはかなり標準的なインストールです。

新しいデータベースを作成するにはどうすればよいですか?

1
Tim Abell

2008 R2インストーラーは、インストール中に、どのユーザーがSQLサーバー管理者になるかを選択するように求めます。以前のバージョンのように、ローカル管理者アカウントをSQLサーバーのシステム管理者にすることはありません。インストール中に管理者にしたユーザー(またはユーザーが削除されたユーザー)がわからない場合は、SQL Serverをシングルユーザーモードで起動し、自分のアカウントをsysadminとして追加する必要があります。

これらの指示に従うことができます
必ず右クリックしてsqlcmdを「管理者として」実行してください。手順5では、Windowsアカウントをログインとして追加してから、次の2つのコマンドを使用してsysadminサーバーの役割に追加する必要があります。

exec sp_addlogin [YOULOCALMACHINENAME\YourUsername]
exec sp_addsrvrolemember [YOULOCALMACHINENAME\YourUsername], 'sysadmin'

次に、CREATE DATABASEステートメントを実行して機能させるために必要な特権を取得する必要があります!

3
Nick Kavadias

SQLサーバー認証モードで「sa」(対応するパスワードを使用)としてログインしてみてください。

0
Sergey

これを試してください、それはうまくいきました:

exec sp_addlogin [YOULOCALMACHINENAME\YourUsername]
exec sp_addsrvrolemember [YOULOCALMACHINENAME\YourUsername], 'sysadmin'
0
christian

OSQLコマンドラインツールを使用して、-Eスイッチを使用して統合認証を使用してログインしてみましたか。 -Uおよび-P(ユーザー名/パスワード)スイッチは使用しないでください。

管理者としてログインしていることを確認してください。次に、OSQLから作成スクリプトを実行できます。

0
Thies