自分のお店を開く時の心構えとは? >>

SQL Server 2008 へリモート接続できません。環境は下記の通りです。

SQL Server 2008 Work Group
Visual Studio 2008 Developer
Windows-7
コンピューター名 Y-05
フルコンピューター名 Y-05
ワークグループ    Y-PLAN
ユーザーアカウント  東京 太郎

サーバーは、リモート接続可にチェックしてあります。また、ファイヤウオールの例外として TCP/IP ポート1433の設定はしてあります。また、Windows認証とSQL 認証の設定もしてあります。

Windows認証のためのログインIDをSQL Server Management Studioのセキュリティから設定しようとすると、下記の表示がでて設定できません。

Transact – SQLステートメントまたはバッチの実行中に例外が発生しました。
東京 太郎 は有効なWindows NT名ではありません。完全な名前 <domein\username>
を指定してください。 Microsoft SQL Server エラー 15407

ログインIDを Y-05\東京 太郎 としても結果は同じです。ご指導のほどよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

#2,#5です。


サーバとクライアント両方に同じ名前、同じパスワードのユーザが存在する(ブランクパスワード不可)ならば、通常は接続できるはずです。
SQL Server 2008/Windows 7のワークグループ環境まではちょっとないので、質問者さんの環境でもそうだとは断言はできませんが、少なくとも2005/XP環境で試してみると問題なく認証されますね。

それにしてもアカウントは漢字なんですか?(単なる例にしては。。)

この回答への補足

ありがとうございます。おかげさまでWindows認証できました。

以前のXPでは「Administrator, パスワードなし」でWindows認証できていたのですが、この度、Windows-7に名前をつけ、パスワードを設定したために問題がおきました。Server上のログインIDと同じ名前にしたまではよかったのですが、パスワードが異なっていました。
この度のご指導で、クライアント側のパスワードをサーバーと一致させたところ繋がるようになりました。今、振り返ってみると単純な間違いだった訳ですが、ファイルサーバーとしてはまったく問題なく利用できていたものですから、他の設定に原因があるのではないかと思いこんでおりました。

補足日時:2010/02/09 10:30
    • good
    • 0

#2です。


ログインは「Y-SERVER\東京 太郎」で作るべきでは?
(Y05\東京太郎は、Y-SERVER\東京 太郎を使ってY-SERVERにログイン)

この回答への補足

「Y-SERVER\東京 太郎」は、すでにサーバーのログイン名として登録済みで、リモートPC からWindows認証でログインしようとしますと;

Y-SERVERに接続できませんでした。
追加情報
ログインできませんでした。このログインは信頼されていないドメインからのログインなのでWindows認証は使用できません。
(Microsoft SQL Server エラー; 18452)

と表示されます。

補足日時:2010/02/08 13:20
    • good
    • 0

SQL Server自体はY-SERVERにあるんですよね?


Y-SERVER\東京太郎
じゃダメなんですかね?

Y-05\東京太郎
じゃ
Y-05にSQL Serverがあることになりますよ
    • good
    • 0

これやった?



SQL Server ログインを作成する方法
http://msdn.microsoft.com/ja-jp/library/aa337562 …

この回答への補足

はい、これが一番問題になっています。
セキュリティーから右クリック、新規作成、ログインでPCのログイン名を入れようとしますと、

ログイン '東京 太郎'の作成に失敗しました。
追加情報
Transact SQL ステートメントまたはバッチの実行中に例外が発生しました。 (Microsoft sql-server Connection info)
'東京 太郎'は有効なWindows NT名ではありません。
完全な名前 <domein\username>を指定してください。
(Microsoft sql-server, エラー 15407)

と表示されます。ログイン入力画面の検索では、場所はY-SERVER がでるのみでネットワーク上のPCは表示されません。

Y-SERVERのログインに東京 太郎、Windows-7 のUser名も同じ東京 太郎を使っているせいでしょうか?

補足日時:2010/02/07 10:29
    • good
    • 0

ドメインじゃなくてワークグループなんですよね?


東京太郎さんはサーバにもクライアントにも同じパスワードで存在するのですか?

なお、ワークグループだとSQL Server認証が多いと思います。
http://msdn.microsoft.com/ja-jp/library/bb669066 …

この回答への補足

はい、ワークグループです。
サーバーには、下記のように同じログインが設定してあります。
Y-SERVER\東京 太郎
そして、Windows-7 の側が
Y-05\東京 太郎
となっています。そして、Windows 認証を試みると:

ログインできませんでした。このログインは信頼されていない
ドメインなので、Windows認証で使用できません。
Microsoft SQL-Server, エラー:18452
と表示されます。

過去には、Windows認証、SQL-Server認証ともにできておりました。
WindowsXPをWindows-7にアップグレードした際にIDを変更したのが
原因なのでしょうか? ServerにログインIDとして
Y-05\東京 太郎 を設定しようとすると最初の質問のように表示
されます。

よろしくお願いします。

補足日時:2010/02/06 15:55
    • good
    • 0

ずれた質問ならすみません。



SQL 認証 側はうまくいきますか?
DBは名前付きインスタンスですか?(名前付きの場合1434も開けないといけない)
SQL Server Configuration Manager での設定の TCP/IP は有効になってますか?

この回答への補足

SQL認証では繋がります。
DBのインスタンスは既定のままです。
Windows認証用のログインIDの設定に問題があると思いますが、
お気づきのことがありましたらお教えください。

補足日時:2010/02/06 11:43
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWindows認証できない

SQLserver2008 へ ACCESS2003のADPからWindows認証で接続すると
「ログインできません、このログインは信頼されていないドメインからの
ログインなので、Windows認証では使用できません。」と云うエラーがでます。

50台ほどあるクライアントの内一台だけで発生しています。
(ちなみにその一台だけMacで起動時にWindowsを選択して起動しています)

Aベストアンサー

SQLserver2005 での知識ですので、参考になるかわかりませんが、、、
サーバのプロパティのセキュリティのログインの監査で
失敗したログインを残すようにして
そのPCからのログインを実施します。

サーバのログファイルの表示で、どのドメインの
どのユーザでログインしようとしたか出てくると思いますので
それから、調査していけば、わかるかもしれません。

QSQL ServerにWindowsパスワードを入れると接続出来なくなってしまう

Windows2000ServerとSQLServer2000を使用しています。
端末の台数は20台未満と少ないのですが、今までは、データベースアクセス時に
SQLServer認証で使用していました。

クライアントPC起動時に、今まではパスワードも無しだったのですが、
セキュリティ面を考えて、Windowsのパスワードをユーザーにつけることにしました。
ところが、パスワードをつけると、サーバーのデータ―ベースを開こうとすると

「接続出来ませんでした。
SQLState:'28000'
SQL Server エラー:18452
〔Microsoft〕〔ODBC SQL Server〕〔SQL Server〕ユーザー'(null)'のログインに失敗しました。
理由:SQL Serverの信頼関係接続に関連付けられていません。」

となって、データ―ベースにアクセス出来なくなってしまいます。
名前付きパイプの信頼関係接続も有効になっているし、マルチプロトコルも無効になっています。
どうしたらデータ―ベース接続時にエラーが出ないように出来るでしょうか?

Windows2000ServerとSQLServer2000を使用しています。
端末の台数は20台未満と少ないのですが、今までは、データベースアクセス時に
SQLServer認証で使用していました。

クライアントPC起動時に、今まではパスワードも無しだったのですが、
セキュリティ面を考えて、Windowsのパスワードをユーザーにつけることにしました。
ところが、パスワードをつけると、サーバーのデータ―ベースを開こうとすると

「接続出来ませんでした。
SQLState:'28000'
SQL Server エラー:18452
〔Microsoft〕〔ODBC SQ...続きを読む

Aベストアンサー

クライアントPCからSQL SerVerにあるデータベースに接続するためには、

1.SerVer がクライアントPCを認識し接続許可をする。
2.SQL SerVer がクライアントPCを認識し接続許可をする。
3.データベース がクライアントPCを認識し接続許可をする。
(SQL認証であれば、1=2 に設定されていることですよね)

今データベースにアクセスできないのは、「1」の部分が接続許可を
出していないからだと思います。
(ここをはっきりさせるために、SerVerにアクセスできますか?と聞きました)

>Windowsのパスワードをかけない状態であれば、きちんとサーバーにアクセス出来るし

パスワードををかけたことにより、今まで「ユーザー名+パスワードなし」で
SerVerに接続していたのに、今度は「ユーザー名+パスワード」では違うクライアントPC
だと、SerVerは思ってしまうのです。

これを回避するためには、

「SerVer - マイコンピュータ - 右クリック - プロパティ - 管理 - 
 ローカルユーザーとグループ - *ユーザー - 操作(タスク) - 新しいユーザー」

上記の処理でパスワード入りの新しいユーザーを作成するか、下記です。

「*ユーザーの右クリック - すべてのタスク - パスワードの設定」

私のお勧めは上の方で、新しいユーザーを作成してそれが成功したらいらないユーザーを
削除するほうが安心です。
また、SerVerによっていろんな設定があるので、上は一般的にあまり手の込んだ管理を
していないSerVerの設定方法です。
ネットワーク管理者がいらっしゃるなら、その方に相談してみてはどうですか?

クライアントPCからSQL SerVerにあるデータベースに接続するためには、

1.SerVer がクライアントPCを認識し接続許可をする。
2.SQL SerVer がクライアントPCを認識し接続許可をする。
3.データベース がクライアントPCを認識し接続許可をする。
(SQL認証であれば、1=2 に設定されていることですよね)

今データベースにアクセスできないのは、「1」の部分が接続許可を
出していないからだと思います。
(ここをはっきりさせるために、SerVerにアクセスできますか?と聞きました)

>Windowsのパ...続きを読む

QSQLサーバに接続できません

こんにちは。

昨日、会社のWEBサーバの設定を変えました。
いままでは全員が一つのID&PWでそのサーバにアクセスしていたのですが、セキュリティーを考え、一人につき1ID&PWを与えて、それぞれがアクセスできるフォルダを制限しました。
そこまではよかったのですが、そのあとあるクライアントパソコンで
ショップの売り上げ情報などをネットからダウンロードしようとしたところ、

接続できませんでした。  SQL state:"28000"
SQL serverエラー:18456
[microsoft][ODBC SQL server driver][SQL server]
ユーザーはログインできませんでした。

というエラーメッセージがでてしまいます。
エラーの意味もよくわからず、どうにもできません。

パソコン初心者なので、質問自体にも至らない点があるかもしれませんが、よろしくお願いいたします

Aベストアンサー

質問文を読む限りでは、パスワード情報を変更したために、データをダウンロードするシステムが使用しているSQL Server接続用ユーザ情報が不整合を起こしているのでしょう。
ODBCデータソース等の設定を確認してみては。
何処を調べれば良いのか、さっぱり解らない場合は、当該システムを設置した人に教えてもらえば。
(業者さんなら金額が発生するかも。)

Q突然 Win7からのみつながらなくなった。

知り合いの事務所に頼まれ、不具合を見ることになりました。

現象としては、

 AccessADPファイルにてSQLServerにアクセスしていたのが、
 6/29(土)朝から、特定のPCのみ急にアクセスできなくなった。

というものです。以下に詳細を記します。

------- 動作PCの詳細 ------------

・稼働PC5台(内、WinXP SP3(homeとPro混在)が4台、Win7が1台)の共通設定
 
 同じワークグループに設定。それぞれのPCに同じユーザーアカウントとパスワード設定
 IPアドレスはルーターのDHCP機能で自動割り当て
 すべてウィルスバスタービジネスセキュリティーがインストール済み


・SQLServer2005 Express が稼働しているPC
 Win XP SP3 Pro(32bit)
 「簡易ファイルの共有」機能はOFF
 共有ファイルは共有の有効化、アクセス許可、セキュリティー許可をそれぞれ登録

  SQLServer は Windows認証方式
 TCP/IPおよび名前付きパイプを使用する構成。 ネットワークアクセス許可
 (TCP/IPは1433固定)SQL Browserも自動起動設定。
WindowsのファイヤーウォールにSQLSrver、TCP1433 UDP1434 例外登録 
 SQLServer ManagementStudio Expressで
 ログインユーザーとデータベースアクセス許可を、ビルトイングループ単位で与えてある
Hostsファイルの値は 「127.0.0.1」

・問題のPC
Win7 SP1 Pro(64bit)
Office 2010Pro(32bit版をインストール)
ワークグループ設定。ホームワークの設定はせず、社内ネットワークプロファイルで構成
 共有の有効化。
Hostsファイルの値が 
  # 127.0.0.1
になっていたので、#を取り除き上書き保存。

--------------------- 

調べてみたところ、問題のPC以外からは問題なくつながり、読み込み書き込み共にOKでした。
Administoratorでなくても、User権限の人でも問題なくつながります。

しかし、Win7マシンからだけなぜか急につながらなくなったとの事です。 
特定のユーザーではなく、特定のPCだけの現象です。ユーザーを変えてみても、
問題のPCからだけ、なぜかつながりません。
ADPファイルを新規作成し、サーバーに接続する段階ではサーバー名が出るものの、
 「信頼関係が…」うんぬん言われてつながりませんでした。

各PCのファイヤーウォールやWindowsDefenderをOFFにしてもダメでした。

そこで管理ツールのODBCでやってみたところ、次のようなメッセージが出ました。
 (ODBCは32bit版、64bit版共に試しました。)

----------------------------------------------
接続できませんでした。 ;
SQLState: '28000'
SQL Server エラー: 18452
[Microsoft][ODBC SQL Server Driver][SQL Server]ユーザー '' は
ログインできませんでした。このユーザーは SQL Srver の信頼関係
接続と関連付けられていません。
-----------------------------------------------

不思議なのは、表示のユーザーのところが '' になっている事です。
通常ここのところには 'マシン名\ユーザー名' のような形で表示されると思うのですが…。

また、違うユーザーで同じ事をしてみたところ、今度は、ユーザー名のところに
意味不明な数字の羅列が表示されていました。
 (あとから思えば、SIDを表示してたのかもしれません。)


そこで、そもそもファイルの共有事自体は出来るのか、試してみました。
結果、こちらにも問題がありました。
他のPCから問題のPCの共有フォルダへのアクセスはOKなのですが、
問題のPCから他のPCの共有フォルダを開こうとすると、
 「ユーザー名」「パスワード」
を聞いてくるダイアログが表示され、入力しても入れないPCがありました。

因みに、入れないPCの「簡易ファイルの共有」をONにすると問題なく入れますが、
これは単にGuest扱いを受けているだけだと思います。
   


以上からの推測ですが、SQLServerの稼働しているPCが問題のPCを正しく評価できない為に、
ユーザーが'(null)'のような形になっているのではないかとおもいました。

それで、ユーザー認証周りを見直し、グル―プだけでなく、ユーザー単位でもアクセス許可を設定
したり、新たにユーザーを作成したりして見たのですが、やはり問題のPCのみつながりません。

ファイルの共有に関しても、新たに共有設定をしてみたのですが、やはり問題のPCのみつながりません。

SQLServerの問題というよりも、PC自体の問題のように見えます。


正直なところ、Windows7はあまり使ったことがない為、行き詰まってしまいました。

素人考えでは、問題のマシン名とユーザー名が正しく正しく伝わっていない事が原因だと思うのです。
そもそも、なぜそのような事態になったのかがわからず、困っています。
「昨日までは問題なく使えていた」との事で、思い当たる節がありません。

担当していた人が退職された為、代わりに見ているのですが、
正直再インストールの方が早いのではとすら思ってしまいます。



ほかに何か見落としているところがないでしょうか。
また、対処法のヒントとなる事がありましたら教えて頂きたいと思います。

よろしくお願いします。

知り合いの事務所に頼まれ、不具合を見ることになりました。

現象としては、

 AccessADPファイルにてSQLServerにアクセスしていたのが、
 6/29(土)朝から、特定のPCのみ急にアクセスできなくなった。

というものです。以下に詳細を記します。

------- 動作PCの詳細 ------------

・稼働PC5台(内、WinXP SP3(homeとPro混在)が4台、Win7が1台)の共通設定
 
 同じワークグループに設定。それぞれのPCに同じユーザーアカウントとパスワード設定
 IPアドレスはルーターのDHCP機能で自動割り当て
 す...続きを読む

Aベストアンサー

こんにちわ。
Windows認証方式ということで、前提として、問題のWin7PCのWindowsログインユーザーがSQLServer2005 Express が稼働しているPCに適切な権限のグループ(Administrator等)に登録されているかどうかご確認されましたでしょうか?
切り分けとして、一時的にデータベースの認証方式をSQLServer認証との混合方式にして接続が可能であれば、Windows認証の問題と言えるのではないでしょうか。
それでWindows認証の問題となった場合にWin7PCとSQLServer2005 Express が稼働しているPCとのユーーザー登録状況を記載されると問題の有無が判断できる情報になるかと思います。

Q既定のインスタンスと名前付きインスタンス

Microsoft SQL Server 2012 をインストールしたいのですが、
既定のインスタンスと名前付きインスタンスのどちらを選べばいいのでしょうか?
SQLサーバーは初心者です。

Aベストアンサー

SQL Server は同一マシン上にいくつもインストールすることができる。
SQL Server は DB を管理するサービス (DBMS) なので、同一マシンに複数インストールすれば、同一マシンで複数の DBMS が稼動することになる。
1つめの DBMS で管理されている DB-A という DB があったとして、さらに 2つ目の DBMS にも DB-A という DB があったとしても、1つ目の DBMS で管理している DB-A と 2つ目の DBMS で管理している DB-A は別物である。

これは Windows のフォルダーで考えればわかりやすい。
1つのマシン上には複数のドライブ (C とか D とか) をマウントできる。
各ドライブには当然ながらフォルダーがあるが、C:\hoge と D:\hoge という 2つの同じ名前のフォルダーはドライブが違うので別物である。

で、本題。
同一マシン上に複数の DBMS をインストールする場合、それぞれの DBMS のインスタンスに名前をつけて区別する。
ただし 1つの DBMS しか稼動させない場合は名前をつける必要がない。これを 「既定のインスタンス」 と呼ぶ。
既定のインスタンスが稼動しているマシンに 2つ目の DBMS をインストールする場合、すでに稼動している既定のインスタンスと区別するために何か名前をつける必要がある。これが 「名前付きインスタンス」 である。

ただし DBMS を 1つしか稼動させない場合でも、何が何でも既定のインスタンスにしなくてはならないわけじゃなく、名前をつけてやってもかまわない。

例外として、SQL Server の無償版である Express Edition は、通常は名前付きインスタンスとしてインストールされる。
名前付きインスタンスを指定せずにインストールした場合は、既定の名前付きインスタンスである SQLExpress が使用される。

SQL Server は同一マシン上にいくつもインストールすることができる。
SQL Server は DB を管理するサービス (DBMS) なので、同一マシンに複数インストールすれば、同一マシンで複数の DBMS が稼動することになる。
1つめの DBMS で管理されている DB-A という DB があったとして、さらに 2つ目の DBMS にも DB-A という DB があったとしても、1つ目の DBMS で管理している DB-A と 2つ目の DBMS で管理している DB-A は別物である。

これは Windows のフォルダーで考えればわかりやすい。
1つのマシン上には複数...続きを読む

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分

Qテーブルの参照方法

よろしくお願いします。
SQLServer2005についての質問です。
(OS:Windows Server 2003 SP1)

サーバが2台あり、どちらにもSQL Server 2005 がインストールされ
ています。一方のサーバ(サーバA)に存在するテーブルを他方の
サーバ(サーバB)からTSQLで参照するにはどのようにすれば良い
でしょうか?

各サーバで必要な設定と、実行するTSQLのイメージを教えてください。

基本的なことかもしれませんが、調べてもさっぱり判らず困っています。
(sqlcmdを使うようだというところはなんとなく判りました)
どうぞよろしくお願い致します。

Aベストアンサー

リンクサーバを構築しないでもできますよ。
Management Studioから、リンク元のサーバを右Clickし、
サーバのプロパティを表示させます。
そこに、「接続」というタブがあるんで、
「このサーバへのリモート接続を許可する」をCheckONにしておく
ことと、

SQL Serverをインストールすると、
[構成ツール]の配下に「SQL Server セキュリティ構成」もインストールされるので、「サービスと接続のセキュリティ構成」を
選んで、SQL Server 2005 Surface Area Configuration を
起動させます。

[リモート接続]というタブがあるので
[ローカル接続および[リモート接続]を選択し、
適切なTCPプロトコルを設定し、適用させて、SQL Serverのサービスを
再起動すれば可能です。

細かい点としては、SQL Server Browser Serviceの有効化や
SQL Serverのファイアウォール設定を行う必要があります。

詳しいことは、ご確認頂いていたサイトの日本語版が
http://support.microsoft.com/kb/914277/ja-jp
にもありますので、少しはわかりやすいかと思います。

なお、設定後のSQLアクセスは、
select * from [サーバAのサーバ名].[DB名].[スキーマ名(dbo等)].[テーブル名]
で接続可能です。

よろしくお願いします。

参考URL:http://support.microsoft.com/kb/914277/ja-jp

リンクサーバを構築しないでもできますよ。
Management Studioから、リンク元のサーバを右Clickし、
サーバのプロパティを表示させます。
そこに、「接続」というタブがあるんで、
「このサーバへのリモート接続を許可する」をCheckONにしておく
ことと、

SQL Serverをインストールすると、
[構成ツール]の配下に「SQL Server セキュリティ構成」もインストールされるので、「サービスと接続のセキュリティ構成」を
選んで、SQL Server 2005 Surface Area Configuration を
起動させます。

[リモー...続きを読む

Qテーブル名を[]でくくらないとエラーになってしまう

テーブル名を[]でくくらないとエラーになってしまいます

sqlserver 2008 express edition を利用しているのですが

テーブル名 やカラム名に[]でくくってSQL文を実行しないと
エラーが出てしまいます
例えば

select * from [table]  の様にしないといけません
これを
select * from table で実行できるようにしたいのです
どうしたらいいのでしょうか

会社ではsqlserver2005を利用しているので
2008からは[]でくくる必要になったのでしょうか

それとも初期設定で何かしないといけないのでしょうか
設定方法を教えて下さい

sqlserver management studio2008もインストール済みです

Aベストアンサー

「table」はSQLの予約語です。そのため初期設定などで、「table」をそのままSQL文に使用することは出来ません。これは他のRDBも同様です。
SQL SERVERでは[]で括ることで、予約語をオブジェクト名に出来ますが、おすすめは出来ません。
なお、ANSI/ISOの標準規格では「"(ダブルクォーテーション)」で括ることで、同様にエラーを回避できます。SQL SERVERでも初期設定でANSI/ISOと同様に「"」で括るモードにすることは出来ますが、それでも予約語である以上何らかの対応は必要です。

> 会社ではsqlserver2005を利用しているので
> 2008からは[]でくくる必要になったのでしょうか

そんなことはないはずです。

QAccessとSQL Serverの連携について

現在Accessで組まれているデータベースがあるのですが、複数人で入力をする必要が出てきたため、SQL Serverへ移行したいと思っています。
ただ、まだデータベースの内容が完全にFIXしておらず、項目に変更や追加が発生する可能性があります。

そこで、
●Accessを管理画面として使い、
●Access上で内容を変更したら、システム全体もその通り変わる
ような仕組みを作りたいのですが、可能でしょうか。
(完全にSQL Serverへ移行するのではなく、AccessとSQL Serverを連携させる?)

よき方法がありましたら教えて頂けましたら幸いです。
ちなみにコストはあまり大きくはかけられません・・。
どうぞよろしくお願いします。

(※私はシステムはど素人なので、なるべく簡単に教えて頂けたら嬉しいです。なお、説明がおかしなこともあるかと思いますがご容赦ください。)

Aベストアンサー

>※私はシステムはど素人なので、なるべく簡単に教えて頂けたら嬉しいです。

でもやることは十分玄人の領域な気が…。なので簡単に、は不可能でしょう。
以下、#1さんと同じように、AccessファイルからSQLServerへデータ読込、書込する環境を構築することを目指します。違うのは概要だけ。#1さんはきちんとシステムを構築する方法を書かれていますが、私は概要だけ。なんで概要だけかは後述。

(1)SQL Server Expressをダウンロードして、サーバー(もしくはサーバーに見立てたPC)にインストール。
(2)Accessのテーブルを(1)のSQL Serverに作成。
(3)ここからはPC側の作業
(4)ODBC接続を作成
(5)現行のAccessに(4)を使ってリンクテーブル作成。
(6)(5)のAccess内のクエリ、フォーム、レポートなどを必要に応じた修正を行う。
(7)動作確認
(8)各PCにODBC接続を設定&Accessファイルを配布。

概要はここまでです。如何でしょう、ご自分でできそうですか?

作業の概要はこの通りなんですが、サーバー機の選定とか"細かい"作業はかなり省略…というか書いてません書けません。特に(6)は実際にAccessファイルを見ないときっちりアドバイスはできませんし、作業ボリュームや難易度も見えてきません。…ということで(業者への発注は想定外のようですがw)業者も見積には難渋するでしょう。さくっと見積もりが出てくることもあるでしょうけど、かなりバッファをとった高額なお見積りかと。正直、見積もり作るのにお金がほしい内容です。

どうしてこんなことをグチグチ書いているかというと、大変申し上げにくいのですが、自称素人の方には難易度高め。業者に任せるか、類似のパッケージを探された方が、不具合などのリスクも軽減され、業務への影響も少ないかと。

ご健闘をお祈りしております。

>※私はシステムはど素人なので、なるべく簡単に教えて頂けたら嬉しいです。

でもやることは十分玄人の領域な気が…。なので簡単に、は不可能でしょう。
以下、#1さんと同じように、AccessファイルからSQLServerへデータ読込、書込する環境を構築することを目指します。違うのは概要だけ。#1さんはきちんとシステムを構築する方法を書かれていますが、私は概要だけ。なんで概要だけかは後述。

(1)SQL Server Expressをダウンロードして、サーバー(もしくはサーバーに見立てたPC)にインストール。
(2)Accessのテー...続きを読む

QSQL Server時間切れについて

初めまして。SQL初心者です。
あるシステムにおいて、SQLサーバが無応答?になり、システムがダウンしてしまい、困っています。

Windows2000Server、SQL Server2000、VB6を用いてDBに定期的にRead&Write、及び各種のデータ表示を行っています。
ADOを使用して、接続や各コマンドを実行しているのですが、ごくたまに以下のエラーが出てしまいます。
Code:-2147217871,Description:時間切れになりました。Source:Microsoft OLE DB Provider for SQL Server,SQL State:HYT00,NativeError:0
過去ログや他サイトを調べた結果、コネクションのCommandTimeoutの秒数を延長させる、とあったので60秒に変更しました。
が、不定期(大体1週間~10日前後で夜中や朝方などにもあり)にこのエラーが出てしまい、約1時間~1時間半もダウンしています(この間のエラーをOn Errorではじいてログファイルに保存しています)。
毎分必ず実行しているストアド(20装置分のデータをUPDATEするので1分に20回実行する)があるのですが、必ずと言っていいほどこのストアド実行中に落ちています。
このストアドに5~6個のパラメータを渡し、複数のテーブルに対してUPDATE処理を行っています。
正常に動作している時は、数日間全く問題無いので、ストアドやVBのコードに間違いは無いと思います。

そこで、SQL Serverの設定等を見直したところ、1つ気になったところが。データベースファイル
\Microsoft SQL Server\MSSQL\Data\aaa.MDF
のサイズが14Gになっていました・・・。
このファイルにアクセスする時にSQL Serverで高負荷になってしまい、無応答のような状態になってしまうのでは?と思っていますがどうでしょう?

不定期に発生し、かつ再現性が無く、原因が掴めずに本当に困っています。
先輩方、何でも良いのでアドバイスをお願い致します。

初めまして。SQL初心者です。
あるシステムにおいて、SQLサーバが無応答?になり、システムがダウンしてしまい、困っています。

Windows2000Server、SQL Server2000、VB6を用いてDBに定期的にRead&Write、及び各種のデータ表示を行っています。
ADOを使用して、接続や各コマンドを実行しているのですが、ごくたまに以下のエラーが出てしまいます。
Code:-2147217871,Description:時間切れになりました。Source:Microsoft OLE DB Provider for SQL Server,SQL State:HYT00,NativeError:0
過去ログや他サイ...続きを読む

Aベストアンサー

14Gですか・・・大きいですね。
データの構造がどうなのか解らないので、
容量的に妥当かどうかはわかりませんが、
一度インデックスの再構築と圧縮を掛けてはどうでしょうか


CREATE PROCEDURE SP_COMPRESS AS

DECLARE @name varchar(30)

DECLARE tnames_cursor CURSOR FOR
SELECT name FROM sysobjects
WHERE type = 'U'
OPEN tnames_cursor

FETCH NEXT FROM tnames_cursor INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
PRINT @name + 'のDBREINDEX...'
EXEC ('DBCC DBREINDEX ('+ @name + ')' )
FETCH NEXT FROM tnames_cursor INTO @name
END
DEALLOCATE tnames_cursor

dbcc SHRINKFILE("SampleDb_Log",1)
DBCC SHRINKDATABASE("SampleDb",1)
GO


データベース名は自分の環境に合わせてください。
また、バックアップは必ず取っておいてください。
14Gもあれば結構時間がかかると思いますが・・・

とりあえず参考程度に・・・

14Gですか・・・大きいですね。
データの構造がどうなのか解らないので、
容量的に妥当かどうかはわかりませんが、
一度インデックスの再構築と圧縮を掛けてはどうでしょうか


CREATE PROCEDURE SP_COMPRESS AS

DECLARE @name varchar(30)

DECLARE tnames_cursor CURSOR FOR
SELECT name FROM sysobjects
WHERE type = 'U'
OPEN tnames_cursor

FETCH NEXT FROM tnames_cursor INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
PRINT @name + 'のDBREINDEX...'
EXEC ('DBCC DBREINDEX (...続きを読む


人気Q&Aランキング

おすすめ情報