こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

新規saの作成方法について

sqlserver2005standardでwindowsXPproにインストールしました
インストール後にsaを
SQLマネージメントスタジオで対象サーバの[セキュリティ][ログイン]と展開して右ペインの[sa]をダブルクリックして状態のログイン
を有効にしてからパスワードをいれてokすると
ユーザー'sa'の作成に失敗しました
transactSQLステートメントまたはバッチの実行中に例外が発生しました。
特殊なプリンシパル'sa'は使用できません。
とエラーがでます

前に他の方の質問の解答で
直接コンソールより
c:\>sqlcmd-e-s\SQLEXPRESS
1>ALTER LOGIN SA ENABLE
と、ありましたがよくわかりません
できればSQLマネージメントスタジオの方で
作成できればとおもうのですが
よろしくご教授おねがいします

投稿日時 - 2008-11-16 22:52:16

QNo.4484387

すぐに回答ほしいです

質問者が選んだベストアンサー

1回目と2回目で内容に食い違いがあるようですが、結局saは有効になっているのですね?いかなる方法であれログインできるのであればsaアカウントには問題ないでしょう。

>当然のことながら以前から同じpc内からサーバーへの接続でwindows認証でもsql認証でログインsaパスワード****を入れますと接続できます
というのはおかしいです。認証モードがWindows認証であればsaでは入れません(サービスを再起動していないなどの理由で認証モードが変わっていない状態での話かと推測します)

また、saというのは特殊であり、データベースユーザになることはできません。ユーザマッピングを指定したときにユーザ:saとしたのがエラーメッセージの理由です。そもそもsaというのはサーバロールとしてsysadminが付与されているため、個別データベースへのマッピングを行う必要がありません(ちなみにsaからsysadminを外そうとしても同じエラーが出ます)。

リモートアクセスできない理由はおそらくはリモート接続を認める設定になっていないからでしょう。とりあえず以下の諸点を確認することをお勧めします。
・SQL Serverのセキュリティ構成でリモート接続を認めるにしているか
・SQL Server構成ツールで名前付きパイプまたはTCP/IPが有効になっているか
・SQL ServerのインストールされているPCのファイアウォールはどうなっているか、IPは固定になっているか
(名前付インスタンスであれば、さらにチェック項目が増えるのですが)

投稿日時 - 2008-11-19 02:52:04

補足

早速の回答ありがとうございます
・SQL Serverのセキュリティ構成でリモート接続を認めるにしているか
はい、リモート接続を認めるにしています
・SQL Server構成ツールで名前付きパイプまたはTCP/IPが有効になっているか
はい、TCP/IPは有効になっています
・SQL ServerのインストールされているPCのファイアウォールはどうなっているか、IPは固定になっているか
はい、IPアドレスはサーバー192.168.0.65およびクライアント192.168.0.77になっていますゲートウエイは192.168.0.1でpc双方の共有ホルダはすべて見えております
インターネットには接続してありませんのでウイルスバスター無効、windowsのファイアーウォールも無効にしてありますが念のため例外で1433のポートを登録してあります
クライアントであるpcのosはwindowsxp_homeでもwindowsxp_proでも同じように接続テストすると「プロバイダの初期化中にエラーが発生したため接続テストに失敗しました、ユーザー'sa'はログインできませんでした」とメッセージがでます
サーバー側でログイン設定で何かしなければいけないのでしょうか
よろしくおねがいします

投稿日時 - 2008-11-19 21:53:02

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(3)

ANo.3

「データベースに接続できません」から「ユーザー'sa'はログインできませんでした」に変わっていますね。。
考えてみましたが、一般的な設定には特に問題は見当たらない上に、「ログインできませんでした」ということはデータベースは見えているということですから。
そうすると、管理メニューにあるSQLサーバログにはログインに失敗したログが書かれているはずです。その内容により、なぜログインが失敗したか、メッセージおよび状態コードで判断できることがあります。
http://msdn.microsoft.com/ja-jp/library/ms366351(SQL.90).aspx

また、他のsysadminユーザを新規作成して、そのユーザでも試してみるとsaだけが問題なのかも判断できると思います。

投稿日時 - 2008-11-20 23:16:09

お礼

接続できましたー\(^ ^)/
ありがとうございました
[DBNETLIB][connectionopen(preloginhandshake().]一般的なネットワークエラーです:ネットワークのマニュアルを調べて下さい
とでましたのでおかしいと思い、クライアントpcを再起動してから再度accessで接続をしてみると[ユーザー名]sa でパスワードを要求されたので****いれますと接続できました。これで設定をもう一度確認してみます。いろいろ迅速に何回もご丁寧に回答ありがとうございました、これからもご指導よろしくお願いします、本当にありがとうございました

投稿日時 - 2008-11-22 18:33:31

ANo.1

そもそもですが、インスタンスのサーバ認証モードはSQL Server認証になっていますか?

投稿日時 - 2008-11-16 23:34:31

補足

はい、構成ツールのセキュリティー認証で混合モードに変更しました
当然のことながら以前から同じpc内からサーバーへの接続でwindows認証でもsql認証でログインsaパスワード****を入れますと接続できます
ただここでパスワードを入れなかったり違うパスワードを入れたりすると「サーバーとの接続は正常に確立しましたがログイン中にエラーが発生しました(provider:共有メモリプロバイダ,error:0-パイプの他端にプロセスがありません)とででしまいます
正しいパスワードをいれると接続できるということはsaは正常に作成できているということでしょうか
でも他のpcからリモート接続しようとしてsaとパスワードをいれても
「データベースに接続できません」とでてしまいます
これが本来の質問ですので、よろしくお願いします
それからSQLマネージメントスタジオで対象サーバの[セキュリティ][ログイン]と展開して右ペインの[sa]をダブルクリックして状態のログインは有効になっています
ユーザーマッピングで目的のデータベース名のチェックが入っていなかったので入れてユーザーをsa規定のスキーマをdboにしてokすると「ユーザー'sa'の作成に失敗しましたtransactSQLステートメントまたはバッチの実行中に例外が発生しました。特殊なプリンシパル'sa'は使用できません。」
と同じエラーがでます

投稿日時 - 2008-11-18 21:19:15

-広告-
-広告-
-広告-
-広告-