- ベストアンサー
MSDE2000のadministratorでインストール後に一般ユーザで使うには?
MSDE2000のadministratorでインストール後に一般ユーザで使うことができません。エラー5(アクセスが拒否されました)。MSSQLServerサービスでこのサービス操作を実行中に発生しました。 これはadministratorで起動したときは出ないのですが、他の一般ユーザだと出てしまいます。何かアドヴァイスをお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
うーん! MSDE2000を使うのに、この質問は...という感想です。 http://www.horikawa.ne.jp/msde/index.html http://www.sqlpassj.org/bunkakai/begin/series/s02/default.aspx が参考になります。 後は、Googleで クライアン/サーバーシステム で検索すると、 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnvb60/htm/avoid.asp などなどヒットします。
その他の回答 (2)
No1のGoogle検索が精一杯です。 それ以上は、ルール違反です。 特定のHPを示唆する検索ワードも厳禁ですので悪しからず!
<以下、思いつくままに某つたないHPからの引用です。ヒントにはなるでしょう!> /* ログインIDの作成 */ EXEC sp_addlogin @loginname = 'nnnnn', @passwd = 'wwwww' @defdb = 'Sales2006SQL' go /* ユーザーの作成 */ use Sales2006SQL EXEC sp_grantdatabase @loginname = 'nnnnn' go 'nnnnn' にはログイン名、'wwwww' にはパスワードを記述します。 なお、sp_addlogin は SQL Server 認証を使用して接続する場合に用いるセキュリティプロシージャです。Windows認証を採用している場合は、sp_grantlogin を用います。 /* ログインIDの作成 */ EXEC sp_grantlogin @loginname = 'sssss\nnnnn' ← 'MainServer\Operator' go /* テーブル作成権限 */ use Sales2006SQL EXEC sp_addrolemember @rolename = 'db_ddladmin', @membername = 'nnnnn' go /* バックアップ権限 */ EXEC sp_addrolemember @rolename = 'db_backupoperator' @membername = 'nnnnn' go パスワードの初期化 osql -U sa -i PWD_null.sql -o osql.txt -P wwwwww start osql.txt EXEC sp_password @old = 'WWWWW', @new = NULL, @loginame = 'sa' go パスワードの変更 osql -U sa -i PWD_change.sql -o osql.txt -P start osql.txt EXEC sp_password @old = NULL, @new = 'WWWWWW', @loginame = 'sa' go osql を使っての<Windows認証>の場合のログインID、ユーザーの作成については、「第五章、5-2、ユーザーの追加と権限の付与。」を参照して下さい。また、osql を頭の片隅から真ん中へ移動したい方は、別稿「osql リファレンス」を一読して下さい。 ' ------------------------------------------------------------------------------- ' AddUser: Last Update 2005/11/26 By SiberianHusky ' ------------------------------------------------------------------------------- Option Compare Database Option Explicit Private Sub cmdCancel_Click() DoCmd.Close End Sub Private Sub cmdOK_Click() On Error Resume Next Dim Status As Long Dim CR As String * 2 Dim strCurrentDir As String Dim strLoginame As String Dim strServer AS String Dim strDefdb As String Dim strOsql As String strCurrentDir = CurrentProject.Path ChDrive strCurrentDir ChDir strCurrentDir ' -------------------------- ' ログイン名等を変数に代入 ' -------------------------- strLoginame = "'" & Nz(Me.txtLoginame, "") & "' " strServer = Nz(Me.txtServer, "") strDefdb = Nz(Me.txtDefdb, "") If strLoginame <> "''" And strServer <> "" And strDefdb <> "" Then CR = Chr$(13) & Chr$(10) ' ------------------ ' スクリプトを作成 ' ------------------ strOsql = "EXEC sp_grantlogin" & CR & _ "@loginame=" & strLoginame & CR & _ "go" & CR & _ "use " & strDefdb & CR & _ "EXEC sp_grantdbaccess @loginame=" & strLoginame & CR & _ "go" & CR & _ "use " & strDefdb & CR & _ "EXEC sp_addrolemember" & CR & _ "@rolename='db_ddladmin'" & "," & CR & _ "@membername=" & strLoginame & CR & _ "go" & CR & _ "EXEC sp_addrolemember" & CR & _ "@rolename='db_backupoperator'" & "," & CR & _ "@membername=" & strLoginame & CR & _ "go" & CR ' -------------------------------------- ' スクリプト、osqlジョブをファイル出力 ' -------------------------------------- FileWrite "adduser.sql", strOsql FileWrite "adduser.bat", "osql -E" & _ " -S " & strServer & _ " -i adduser.sql -o osql.txt" ' -------------------------------------------------------- ' osqlジョブを実行し結果をリッチテキストボックスにロード ' -------------------------------------------------------- Status = DosCommand(strCurrentDir & "\adduser.bat") Pause 1 Me.RichTextBox.LoadFile "osql.txt", 1 ' ------------------------ ' 作成したファイルを削除 ' ------------------------ Kill "adduser.sql" Kill "adduser.bat" Else Message "入力されていない項目があります。" End If End Sub Private Sub cmdViewResult_Click() If FileExists("osql.txt") Then Me.RichTextBox.LoadFile "osql.txt", 1 Else Message "表示する実行結果はありません" End If End Sub Private Sub Form_Close() On Error Resume Next Kill "osql.txt" End Sub Private Sub Form_Load() Me.RichTextBox.Text = "" End Sub
お礼
ご丁寧に有難う御座いました。 >>以下、思いつくままに某つたないHPからの引用です。ヒントにはなるでしょう! gooの規約に反しなければこのHPのアドレスを教えていただきたく思います
お礼
早速の回答有難う御座います。 MSDE2000をクライアントPCにインストールしました。 クライアントの閉じた環境でVBとリンクして使いたいと考えており、MSSQLSERVERのサービスを起動したり停止したりしようと思います。管理者権限では操作できるのですが、一般ユーザ権限では操作出来ません。(アクセス拒否される)参考HPを色々見て操作しておりますが、未だ解決していない状況です。