アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

A 回答 (3件)

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は固定になっているか
(名前付インスタンスであれば、さらにチェック項目が増えるのですが)

この回答への補足

早速の回答ありがとうございます
・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
    • good
    • 0

「データベースに接続できません」から「ユーザー'sa'はログインできませんでした」に変わっていますね。


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

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

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

お礼日時:2008/11/22 18:33

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

この回答への補足

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

補足日時:2008/11/18 21:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す