2009-04-18 17 views
5

私はローカルのSQL Server 2008 ExpressインスタンスへのグラフィックインターフェイスとしてSQL Management Studio 2008 Expressを使用しています。どちらもローカルに自分のWebプロジェクトのテストおよび開発インターフェイスとしてのみ使用しています。SQL Server Management Studioで「管理者権限」を取得する方法は?

私は最近、SQLコーディングでより自信を持って成長し、より複雑なSQLのものを使用し始めました。私の最新の探査分野はトリガーです。しかし、私の驚くべきことに、私はサーバインスタンスに対して管理者権限を持っていないようです。つまり、デバッグやアクセス権の変更といった簡単なことはできません。

デバッグを開始しようとすると、私はアクセス許可の拒否メッセージが表示され、別のデータベースへのアクセス許可ルールを管理しようとすると表示されます。私はこれがサーバーをインストールしたときに選択したいくつかのオプションと関係があると思われますが、すでにいくつかのデータベースを設定してデータを格納しているので、すべてをアンインストールして再インストールする必要はありません。

サーバーインスタンスのマスター管理者を変更する方法はありますか。もしそうでなければ、私のトリガーをデバッグするなどの権限を得る他の方法はありますか?

答えて

5

ローカル管理者アカウントとしてコンピュータにログオンします。デフォルトでは、これはMSSQLのsysadminロールでなければなりません。

SSMSを使用して、統合認証を使用してMSSQLインスタンスに接続します。あなたは現在、システム管理者です。システム管理者として、あなたは今add your normal user account to the sysadmin roleすることができます:あなたはSSPI(別名統合認証、あなたはSSMSを起動別名ではない別のユーザー名とパスワード)を使用している場合

EXEC sp_addsrvrolemember @loginame = 'PC_OR_DOMAIN\loginname', @rolename = 'sysadmin' 

その後、ちょうどloginameのようWindowsのログインを使用しています。 SQL Server認証(別名ユーザー名とパスワード)を使用する場合は、usernameをloginameとして使用します。他のloginameを使用すると、アカウントも作成されます。

確かにGUIの中でそれを行う方法はありますが、私は便利なATMを持っていません。私はそれがセキュリティ - >ログイン - >プロパティとさまざまなサーバーの役割のいくつかのチェックボックスの下にあると思う。

編集:Enabling the local admin account on Vista はまた、あなたは、ローカルの管理者(ユーザーアカウントがローカルのAdministratorsグループの下に表示される)、その後ある場合 - by default - あなたはシステム管理者です。 sysadminロール(SQL)とLocal Adminsグループ(Vista)のメンバをダブルチェックする価値があります。

Edit2:SQL 2008 does not add BUILTIN\Administatorsがこれ以上表示されません。その場合は、となったかどうかを確認する必要があります。これは、ログイン・ノードを介して使用可能にする必要があります。 sysadminログインを選択しないと、MSSQL Adminのlocked outになることがあります。その場合、私は再インストールします。 MSSQLを停止し、* .MDFファイルと* .LDFファイルをコピーすることで、データベースを保存することができます。再インストール後、それらを元に戻し、sp_attach_dbを使用して再接続します。

+0

ローカル管理者としてログオンするにはどうすればよいですか?私はWindows Vistaを実行し、私が知っている唯一のアカウントは私の普通のユーザーアカウント(AASLOEG \ Tomas、私のコンピュータの名前はAASLOEG ...です)です。私は管理者として物事を実行する権利を持っていますが、管理者としてSSMSを実行してもそのトリックはありません。私はGUIを使ってSQLステートメントを実行することを試みましたが、これまでのところ許可が拒否されています... –

+0

編集のリンクをありがとう - 私の問題を解決しなかったけれど、 。私は、mssqlディレクトリからdbファイルを取り出して再インストールし、ローカル管理者グループと自分のユーザーアカウントがsysadminロールに追加されていることを確認しました。それは口笛だったが、今はうまくいく。ありがとう! –

+0

FYI、これは私の問題を解決しました。 –

0

Sql Server構成マネージャー。

これで、インスタンスアカウントを設定できるようになります。

しかし、私が思うものは、データベース所有者をデータベースに接続するユーザーに変更することです。 SSPIを使用している場合はログインしたユーザーになります.SQL認証を使用している場合は、接続文字列内でユーザーが接続します。

追加:

あなたはWindows XP以降でデバッグしている、とあなたは管理者(ローカル)でない場合は、そのシステム上で「デバッグUsers」グループに配置する必要があります。それ以外の場合は、メモリにアクセスしたり、デバッガを所有していないプロセスに接続したりすることは大きな問題ではありません。

+0

返信いただきありがとうございます!私は2つのフォローアップの質問があります:1)自分のWindowsユーザーアカウントにインスタンスアカウントを変更した場合でも、ASP.NETは自分のサイトをテストするために必要なアクセスを許可しますか? 2)データベース所有者を自分自身に変更するにはどうすればよいですか(それは実際に何かしたいことです)。私が試したとき、私は許可されていないメッセージを受け取りました。 A Catch 22 ... –

+0

はい、ASP.Netアプリケーションプールがユーザーとして接続していることを条件とします。 デバッガからASP.Netを実行すると、そのインスタンスがユーザーとして実行されます。 IISでは、そのユーザーはサイトを実行する「アプリケーションプール」によって設定されます。ユーザーの資格情報でカスタムWebサイトを作成し、Webサイトをそのユーザーとして実行するように設定できます。 ただし、SQL Serverインスタンスアカウントではなくデータベースによって設定されているため、DBにアクセスすることができないという問題があります。 – Spence

+0

管理者権限を持っていますか?あなたがそうした場合、あなたは管理スタジオに接続しているアカウントを確認してください。 – Spence

関連する問題