MS SQL Server 総合スレ2
レス数が1000を超えています。これ以上書き込みはできません。
0001NAME IS NULL
04/08/20 23:36ID:19KWsGbt前スレ 「MS SQL Server 総合スレ」
http://pc5.2ch.net/test/read.cgi/db/1057061513/
SQL Serverホーム
http://www.microsoft.com/japan/sql/
0002NAME IS NULL
04/08/21 00:21ID:???0003NAME IS NULL
04/08/21 01:08ID:???乙
前スレの張り直し
--------------------------------------------------------------------------------------------------
拡張ストアドを登録して実行したところ
ライブラリ 'hogehoge.dll' のストアド関数 xp_hoge でアクセス違反が発生しました。SQL Server はプロセス 52 を終了しています
と表示され実行できません
DLL自体は市販のものでVBやCで組み込んで実行できるものです
拡張ストアドの呼出し手順が悪いのか
そもそも専用に作られていないDLLが呼び出せないものなのか
よろしくおながいします
0004NAME IS NULL
04/08/21 20:41ID:TpGD4Dog市販のものなら hogehoge.dll を作った所のサポセンで聞いてくらさい
0005NAME IS NULL
04/08/22 11:29ID:???-------------------
あるDBのデータファイルが壊れたときの最新の状態までの復元方法について教えてください。
(バックアップ、トランザクションログファイルは全て残っている。)
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/adminsql/ad_bkprst_565v.asp
に手順はあるのですが、
-----抜粋
最後に作成したデータベースのバックアップを使ってデータベースを復元します。
1.現在アクティブなトランザクション ログのバックアップを作成します。
-----
でいきなりつまずいております。
データファイルが壊れた状態でどうやってトランザクションログのバックアップ
を取ればいいのでしょうか。
0006NAME IS NULL
04/08/22 11:55ID:???0007NAME IS NULL
04/08/22 11:57ID:???0008NAME IS NULL
04/08/31 19:34ID:NJTux1oZどうすればいいでしょうか?
00095
04/09/02 01:48ID:???とりあえず報告
0010NAME IS NULL
04/09/02 18:54ID:???もう解決しているみたいですけど・・・
DBが破損しているときのトランザクションログのバックアップは
no_trancateオプションでbackup logステートメントを実行します。
ちなみにこの実施はエンタープライズマネージャからできません。
0011NAME IS NULL
04/09/04 01:09ID:xNpdTK5uバックアップファイル名などは、DBに格納されているのでしょうか?
今までバックアップしたバックアップファイル名などが履歴として
管理されているDB&テーブルを知っている人教えてください。
0012NAME IS NULL
04/09/04 11:41ID:???しかし
ステートメントで、しかもファイルにバックアップしてたら確か残らなかったと思う。
(つまりこの場合はSQLに管理されていない)
ので、個別にファイルにバックアップしてしまった場合は自分で判断して復元するしかない。
0013NAME IS NULL
04/09/05 02:24ID:/+gfyBEqシングルモードでサービスを起動する必要があるのですか?
シングルモードで起動するには、どうすればよいでしょうか?
00145
04/09/05 03:32ID:???0015NAME IS NULL
04/09/05 10:31ID:/+gfyBEqフルバックアップをしてしまったら
もうログ配布は出来なくなるのですか?
0016NAME IS NULL
04/09/05 16:11ID:???0017NAME IS NULL
04/09/06 09:13ID:iAHztlGz接続にSQLServerが応答しなくなりました。アプリケーションもDBも
ローカルマシンなのですが、対処法はあるでしょうか?ちなみにWin
ファイアウォールは切ってます。SQLServerはSP3適用済みです。
はぁー。
0018NAME IS NULL
04/09/06 12:36ID:???XPを使っていないのでよくわからない面があるけど…
マイクロソフト サポート技術情報 - 842242
http://support.microsoft.com/default.aspx?scid=kb;ja;842242
上記ページ内の
「Windows ファイアウォールを使用してポートを手動で開く」
「ポートを手動で開く必要が生じることのあるプログラム 」←SQL Server2000も入っている
を試してみては?
0019NAME IS NULL
04/09/06 12:51ID:6OuY8PjqSBS2003+SQL2000ServerにWorkgroupで接続している、クライアントのWindowsXPマシンを
SP2にバージョンアップしたら、クライアントPCのEnterPrizeManagerを起動して
SQL ServerのDBを見に行こうとしたらSQL Serverを認識しませんでした。
(nullUser・・・・のメッセージがでます。調べたらID・パスワードが異なるというような?)
その他、ネットワークプリンタが動作しなくなりました。(認識していない)
ネットワークドライブをSP2にアップする前に定義してたんですが、
エクスプローラからネットワークドライブの内容を見ようとすると
ID・パスワードの要求が来ました。ID・パスワードを入れると、
ネットワークプリンタは動作するようになりましたが、SQL Serverは
認識しません。
結局ネットワークドライブを一度削除してから、再設定したら、
ネットワークドライブに対するID・パスワードの要求が来なくなり、
また、SQL Serverへの接続ができるようになりました。
XPをSP2にバージョンアップすると、ネットワークドライブの設定が
おかしくなる?(内部のIDが不整合を起こすのかな?)のでしょうか。
0020NAME IS NULL
04/09/06 19:46ID:MdKgnRoT2000から2005への移行はどんな感じでやってるの?
0021NAME IS NULL
04/09/08 00:27ID:Oe+LSjEKSQL SERVERをインストール
エンタープライズマネージャを機動・・
しようとすると、「スナップインの初期化ができません」
とでて、機動すると左メニューのサーバー一覧のところが
なにも表示されません。
症例ありますでしょうか。
環境変数の設定は狂ってなさそうでした
mmcに追加もできません。
0022NAME IS NULL
04/09/08 06:06ID:eoItyhvrダンプを取るにはどうすればよいのでしょうか?
0023NAME IS NULL
04/09/08 07:23ID:nKIRbi5DDTSでダンプファイルを出力って出来なかったっけ?
0024NAME IS NULL
04/09/08 10:57ID:???bcpが一番高速
0025NAME IS NULL
04/09/08 13:17ID:eoItyhvr今会社で使っているシステム、大部分は MS SQL Server
か MSDE なんですが、上の判断で最近はオープン系の
RDBMSも結構混在してきました。
たとえば HiRDB とか MySQL とか PostgreSQL とか。
いま悩んでるのが、いわゆる GUID をキーにして
作成しているテーブルが多く、その一部を上記の
RDBMSたちにぶち込まなければならないこと。
GUID に適した型なんて、MS 以外の RDBMS には
ありませんから…
皆さん、他のDBも混在してのシステムにおいて、
GUIDなどはどういう型でぶち込んでるんですか?
0026しろうと
04/09/08 16:06ID:qLRRm9Vl0027NAME IS NULL
04/09/08 16:12ID:eoItyhvrそれも一つの解決法ですね。
やっぱしそれくらいしか方法ないんですかね。
実質的には128ビット整数だから変換して…
ってのも考えたんですが、128ビット整数を
格納しようとすると結局バイナリオブジェクトとして
格納することになるんですよね。
GUID使った時点でMS限定になるのかな、やっぱり。
0028NAME IS NULL
04/09/08 17:10ID:???レプリケーション以外であえてGUIDを使うシーンってどんなの?
Accessのオートナンバー的な思想で使ってるって事か?
0029NAME IS NULL
04/09/08 19:21ID:???0030NAME IS NULL
04/09/09 00:34ID:???正規化をしない方針なのかな
0031NAME IS NULL
04/09/09 07:16ID:W6a6rf8N俺が来る前のことなのではっきりしたことは分からないんだが、
もともとは Jet のレプリケーションつかった Access アプリ
だったらしい。
で、そのときに s_GUID をキーにして設計していたらしくて、
そのまま他のテーブルの外部キーなんかもゼンブ GUID
になってる orz
その後 MS SQL Server に移行したらしいが、 GUID の使用は
引き継がれたままで、今度オプソ系の RDBMS が入ってきて
困ったことに。
>>29 なるほど。話は変わるけど、別のところで MD5 の
メッセージダイジェスト値を格納する必要が出てきて、
それはどういう型で格納するの?ってのがいま議論中。
文字列にしてインデックスつける?なんか無駄な気がする。
0032NAME IS NULL
04/09/09 11:59ID:wL9F3VFGhttp://www.atmarkit.co.jp/fdotnet/basics/adonet01/adonet01_01.html
の記事をみてSQL Server 2000を使ってみようと思い立ったんですが、
とりあえず http://www.microsoft.com/japan/sql/evaluation/trial/2000/ をインストールして
みたのですが、ヘルプをみても使い方がサッパリ分りません。
インストールするとタスクトレイにDBのアイコンがでますが、これのサービスをスタートしようとすると
エラー1069(ログオンに失敗したため、サービスを開始できませんでした)となってしまいます。
これってまず何をすればいいんでしょうか?
0033NAME IS NULL
04/09/09 15:03ID:???全部BASE64でテキスト化しちまえ
領域長のムダが気にならないんなら
普通にヘキサでテキスト化すればよし。元の倍になるだけだしな。
いずれにせよ一手間入るが、まあやむを得ないだろう。
0034NAME IS NULL
04/09/09 19:58ID:W6a6rf8Nhttp://kinshachi.ddo.jp/kurage/html/MT/comp/archives/000461.html
0035NAME IS NULL
04/09/09 20:00ID:W6a6rf8NでもそのうちSQLの規格で256ビット符号なし整数とかの
型も用意されるんだろうな…とか妄想してみる。
0036NAME IS NULL
04/09/09 22:39ID:???IPv6の128bitアドレスを格納する型は出てくるんじゃないかな
0037NAME IS NULL
04/09/10 01:41ID:AEyu2ovR0038NAME IS NULL
04/09/10 18:30:34ID:???客先の営業所5箇所にスタンドアロンWin2KでVB+Accessで動くシステムがあります。
本社にWin2KServer+SQLServer立ててネット経由でレプリケーション(営業日のみ1日2-3回)したいのです
SQLServer x 2 のレプリケーションしか経験なく、ネット等で調べてもイマイチだったので
0039NAME IS NULL
04/09/10 18:33:42ID:???0040NAME IS NULL
04/09/11 21:11:13ID:ZlGp2E4m可変長配列の内容をDBに入れたいときはどうするべきなのでしょうか?
想定しているのは,[code], [name], [URL1], [URL2], [URL3]・・・というレコードで,
codeとnameの組み合わせは一意なのですが,URLが幾つ入るかは不明なのです.
方法としては,
1: テーブルを2つに分け,片方は[code], [name], [id]として,別テーブルに[id], [URL]のレコードを
延々と追加していく.
でも,URLって最大でもそんなに多くの数はいかないと思うし,この方法は始めてDB使う自分には難しそう.
2: もう,最大でURLは30とか決め打ってしまう.[size]カラムを追加して使用[URL]数を管理する.
これにしようかと思っているけれど,何か大人気ない気もして・・・
3: 何かトークン文字を決定して,それをはさんで文字列を連結して,ひとつの[URL]に入れてしまう.
でも,確か,URLってスペースとかコンマとか,全ての文字を使う可能性もありますよね・・・
環境はSQL Server 2000で,言語はC#でADO.NETでDataGridなんかも使っている部分もあります.
0041NAME IS NULL
04/09/11 21:54:29ID:???004240
04/09/11 22:11:56ID:ZlGp2E4mなるほど,そういう風に入れていって,
読み出したい時には,[code], [name]をキーにしてマッチするURLを全て取得すれば
良いのですね.
しかも,入れていくのは必ず必要ですが,読み出しが発生する確立は低い仕事なので,
それが最も適していると思います.
どうも有り難う御座いました.
0043NAME IS NULL
04/09/11 22:19:41ID:???0044NAME IS NULL
04/09/11 23:09:57ID:iYQEts4e0045NAME IS NULL
04/09/12 19:08:06ID:Sr0+DAmCいろいろ集計用にデータ抽出ってのは無理がある?
まだ許容範囲?
0046NAME IS NULL
04/09/12 20:46:19ID:???0047NAME IS NULL
04/09/12 21:38:49ID:???そもそも、ただ件数だけを語っても無意味。
0048NAME IS NULL
04/09/15 09:38:45ID:???「XP SP2とSQL Serverの問題解決リソース集」
(・∀・)つ ttp://itpro.nikkeibp.co.jp/free/NT/WinColumn/20040907/1/
0049NAME IS NULL
04/09/15 23:28:27ID:Lu6Yk6lY目次をつけるようなものって概念はわかるが
どうしたいときに、どうしたらよいのかがわからない
0050NAME IS NULL
04/09/15 23:34:37ID:???電話帳に索引がなかったり五十音で並んでなかったら困るだろ?
0051NAME IS NULL
04/09/16 04:05:44ID:???もう意味わからねーっす。
0052NAME IS NULL
04/09/16 04:20:19ID:???エラーメッセージは何?
005351
04/09/16 04:48:01ID:???サーバー : メッセージ 443、レベル 16、状態 2、プロシージャ **********、行 23
FUNCTION 内での 'INSERT' の使い方が無効です。
これ。
ググってみたけどさっぱり症例が出てこねーっす。
負荷を減らしてみたいからUDF使ったらこれだ。さっぱり訳分からない…。
VALUESで設定する変数のデータ型は何度も確認したが、ちゃんと合っている。
マジ訳わかんねーっす。
問題のSQL文はこちら :
INSERT INTO テーブル名(
列名1,
列名2,
列名3,
列名4
)VALUES(
@変数1,
@変数2,
@変数3,
@変数4
)
0054NAME IS NULL
04/09/16 05:12:41ID:???FUNCTIONの中で普通のtableに対するinsert/update/deleteは出来ない。
FUNCTIONの中だけで使うtable変数ならOK。
詳しくはBooksOnlineでCREATE FUNCTIONの解説を読むべし。
ストアドで置き換えるしかないんじゃないの?
0056NAME IS NULL
04/09/17 01:26:44ID:SDsxdximなってしまいました。デフォルトの30秒を引き伸ばすには
どうすればよいの?
0057NAME IS NULL
04/09/18 09:51:03ID:tejhIpmqセキュリティ監査関連のトレースをテーブルに吐いているんだけど、
あれって初めに設定するレコード数越えるとそれ以上もう書き込まなくなりますよね。
あのテーブル定期的に見るツール作ってセキュリティ監視したいと
思って居るのですが、ずっとはき続ける設定などはあるのでしょうか?
吐き出し先がファイルだったらローテーション出来るけど、中身はバイナリになっちゃうし。
プロファイラで確認するにしても、人手で事後になっちゃいますよね。
リアルタイムっぽく不正ログインなど検知したいような場合はどうすれば良いんでしょうか。
0058NAME IS NULL
04/09/19 11:05:29ID:???電話帳なんて使わないから分からん
0059NAME IS NULL
04/09/19 11:31:15ID:???んじゃ、辞書みてみ。
0060NAME IS NULL
04/09/19 12:42:34ID:???まず、SQL Server にはクエリタイムアウトは存在しない。ロックタイムアウトがあるのみ。
そのロックタイムアウトもデフォルトでは無限に設定されている。
ロックタイムアウトを設定したいなら SET LOCK_TIMEOUT を使う。
クエリタイムアウトが発生している場合、それは SQL Server ではなく
アプリケーション(ミドルウェア)の仕業。ADO, ODBC, JDBC など使っている
ミドルウェアを提示しないことには、なんとも言えない。
0061NAME IS NULL
04/09/23 13:24:55ID:xcLAWOnH0062NAME IS NULL
04/09/23 15:08:12ID:???0063NAME IS NULL
04/09/23 22:12:31ID:xcLAWOnH0064NAME IS NULL
04/09/23 22:13:05ID:xcLAWOnH0065NAME IS NULL
04/09/23 22:14:11ID:???増やそうと思えば幾らでも増やせる訳だし・・・
0066NAME IS NULL
04/09/23 22:41:25ID:???ベンダーに言われて聞いてみたとか。
0067NAME IS NULL
04/09/23 22:44:11ID:???0068NAME IS NULL
04/09/24 01:21:36ID:???0069NAME IS NULL
04/09/24 01:40:05ID:p56C03FH怖いことがサラッとサポートレターに書いてあったな
まあ保守に丸投げだから俺の知ったこっちゃないが
0070NAME IS NULL
04/09/24 01:53:29ID:???phpmyadminの使い方がいまいちよくわかりませぬ
movable typeでMySQL使う方法でインストール
ログインして左側にテーブル?がズラーと出てるんだが
これって管理しにくい
ログインしてMovableTypeという感じのフォルダみたいなのをつくって
そこから管理したいんだが
ログインしてトップから左側にmt_ffffff mt_xxxxxxxみたいなのがズラーと並ぶというのは
直接database設定で mysqlx.db.sakura.ne.jpを指定したからだと思うんだけど
管理しやすいいい方法ないですか?
フォルダのようにして例えばMT xoops etcがログイン時に出てくるようにしたい
そして各々MT xoops etc をクリックすればそれぞれのデータが出るようになれば最高
できるんだろうけど設定の仕方がまったくわかりません
どうかご教授おながいします
はっきりいってMySQL,phpmyadmin知ってる人にとってはクソみたいな質問でスマソ
ほんまわからん
ウィンドウズ使い慣れてるが
「フォルダの作り方わからない」って聞かれてるようなものだからな、きっと
0071NAME IS NULL
04/09/24 05:07:54ID:???mysqlについて語ろう
http://pc5.2ch.net/test/read.cgi/db/1056947097/
で聞くように。
0072NAME IS NULL
04/09/27 16:03:41ID:wde5Qh77に移動するにはどうしたらよいのでしょうか?
0073NAME IS NULL
04/09/27 16:59:37ID:???>>71
0074NAME IS NULL
04/10/03 01:00:57ID:5Mrnex2+「Microsoft SQL Server 2000 Windows CE Edition」について伺いたいのですが、
1.この製品だけでPDA内でRDBMSとして機能しますか?
2.RDBMSとして機能した場合、デスクトップPCからも参照が出来ますか?
3.2が不可能な場合、どのような条件で可能になりますか?
SQLServer2000がデスクトップPCにインストールされていれば可能になりますか?
開発環境は「VisuakStudio.NET 2003」+「.NET CompactFramework」
を想定しております。
申し訳ありませんが、どなたかご回答頂けませんでしょうか?
0075NAME IS NULL
04/10/03 01:07:30ID:???俺が知ってるのは鯖CE1.0だけど、
1→○
2→×
3→デスクトプーから直接CE鯖のDBを読む手段は無い。
レプリケーションして間接的に参照する事ができるのみ。
鯖CE落としてBooksOnline読むほうが早いんでないの?
0076NAME IS NULL
04/10/03 01:28:30ID:???早速のご回答ありがとうございます。
なるほど、デスクトップPCから直接
PDA内のDBにアクセスは出来ないわけですね。
詳細についてはBooksOnlineを参照させて頂きます。
取り急ぎ1点だけ確認させてください。
デスクトップ内のDBの内容の一部を
PDA内のDBに反映させることは
SQL文を使った操作だけで実現するのは不可能と言うことでしょうか?
0077NAME IS NULL
04/10/03 01:50:45ID:???ここで語るよりは、何ができるのかサンプルを眺めた方が早い。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/sqlce/htm/_lce_programming.asp
の「レプリケーション」「RDA」あたりを読んでみればイメージをつかめるかと。
0078NAME IS NULL
04/10/05 18:38:00ID:dDc9pyNDどうすれば良いのでしょう?
どなたかご教授お願いします…。
0079NAME IS NULL
04/10/05 20:00:01ID:???それとも GB とか Big5 をそのままぶち込まなけりゃならない理由でも
中国語のことよくわかんないけど、
Unicode とのマッピングがちゃんと整備されてない?
0080NAME IS NULL
04/10/06 00:08:43ID:???0081NAME IS NULL
04/10/06 01:37:59ID:Brrsw9Rfレプリケーションを組もうとしてるんですけど(2000がパブリッシャ)
SQLServer2000のEnterpriseManager上で6.5のサーバに接続ができなくてサブスクライブに失敗してしまいます。
2000と6.5でレプリケーションはできるみたいなんですけど、手がかりが無く困り中。
なにか手がかりとかヒントとかご存じの方いたら教えてほしいです。
細工が必要なんでしょうか。
0082NAME IS NULL
04/10/06 11:14:35ID:???0083NAME IS NULL
04/10/07 03:05:30ID:UPbzabvY接続したいです。教えてください。
1.sqlsrv32.dllがODBCドライバですね?
2.WindowsXPをインストールすると、このODBCドライバは自動的に
インストールされるのでしょうか?(いつも入っているみたいなので)
それとも、ODBCドライバのインストール作業が要りますか?
0084NAME IS NULL
04/10/07 12:37:09ID:???> 1.sqlsrv32.dllがODBCドライバですね?
Yes
> 2.WindowsXPをインストールすると、このODBCドライバは自動的に
> インストールされるのでしょうか?(いつも入っているみたいなので)
> それとも、ODBCドライバのインストール作業が要りますか?
MDACコンポーネントをインストールするとODBCドライバもインストールされます。
WindowsXPはインストール時に標準でMDACが組み込まれるので別途作業は必要
ないです。
0085NAME IS NULL
04/10/07 18:27:49ID:HW+iltsm本ではmysqlデータベースも表示されるとあるのになぜですか?
0086NAME IS NULL
04/10/07 19:03:28ID:UPbzabvYありがとうございます!
0087NAME IS NULL
04/10/07 19:11:26ID:???>>71
008885
04/10/07 19:17:08ID:HW+iltsmおおしまった。
0089NAME IS NULL
04/10/07 19:26:39ID:3Z16q19iいらっしゃれば、と思いこちらでも書き込みさせていただきました。
PHPからSQL Serverに接続したいのですが、接続がうまくいかず困っています。
SQL Server(データベース)自体は自家サーバー上に設置してあり、このデータベースに
レンタルサーバー上にあるPHPページから接続してデータを処理したいのですが、
そもそもこれは可能でしょうか?
PHPマニュアルのサンプルコードを参考に
$conn=odbc_connect("DRIVER=SQL Server;SERVER=".$ser.";UID=".$user.";PWD=".$pass.";
DATABASE=".$db.";Address=".$ser.",1433","","");
という感じで接続を試みているのですが、
「S1090 文字列またはバッファの長さが無効です」というODBCエラーが出ます。
このエラーの意味するところがまた良くわからず閉口してます。
PHP+SQL Serverの連携に関する情報があまりなくて、困っています。
ヒントでも結構ですのでよろしくお願いいたします。
009081
04/10/07 22:30:36ID:???自己解決しました
失礼しました。
0091NAME IS NULL
04/10/08 14:11:28ID:???マルチポストしないでください。
【PHP】質問スレッドpart23【php】
http://pc5.2ch.net/test/read.cgi/php/1096965398/105-
からの一連のレスで結論が出ているのではないですか?
0092NAME IS NULL
04/10/08 16:11:41ID:???0093NAME IS NULL
04/10/08 20:32:14ID:dArSDjPJ0094NAME IS NULL
04/10/09 01:15:42ID:cNFK6W7Jということは、TRUNCATE TABLE実行後は、フルバックアップする必要があるということですか?
0095NAME IS NULL
04/10/15 01:22:52ID:???使うことは、ライセンスの問題はあるのでしょうか?
それとも、会社でみんなでつかうには Office Dev. や SQL Server2000 Dev. など再頒布権の
あるツールをひとつ買わないといけないのでしょうか。ご存知の方、教えて下さい。
0096NAME IS NULL
04/10/15 02:21:08ID:???再頒布権はオンラインで取得できる。
http://www.microsoft.com/japan/sql/msde/
↓はFAQから引用
Q. MSDE を自分のアプリケーションで使用したいのですが、マイクロソフトの製品やサービスを購入しなくても MSDE を入手できますか ?
A. はい。MSDE は無償で ダウンロード できます。
Q. 開発しているアプリケーションの一部として MSDE を含めたり、再頒布することはできますか ?
A. はい。登録 していただくことで MSDE の再頒布権を無料で取得できます。また、以下の製品またはサービスのいずれかでランセンスを取得して MSDE を入手している場合は、アプリケーションの一部として MSDE を再頒布することを許諾します。
ASP.NET Web Matrix*
MSDN® ユニバーサル サブスクリプション、エンタープライズ サブスクリプション、およびプロフェッショナル サブスクリプション
Microsoft Office XP Developer Edition
SQL Server 2000 Developer Edition、Standard Edition、および Enterprise Edition
Microsoft Visual Studio® .NET Architect Edition、Developer Edition、および Professional Edition*
* ASP.NET Web Matrix をダウンロードして MSDE を入手した場合、ASP.NET Web Matrix を使用して開発するアプリケーションに組み込む以外の目的では使用できません。
009795
04/10/15 07:03:51ID:???ありがとうございます。そのFAQをみると、
・Office Dev. などで入手した MSDE -> Office Dev. など入手元ツールで作成したアプリにのみ
添付可。例えばOffice Dev. の MSDE とメモ帳で作った ASP をセットで再頒布は出来ない。
・オンラインで入手した MSDE -> 自分で使うアプリに自由に使えるが、そのアプリを第3者に
販売・譲渡するには登録して再頒布権を入手する必要がある。
・アプリに MSDE を添付しないで第3者に公開し、(Macromedia Flash Plugin のように)利用者
それぞれが個別に MS から MSDE をダウンロードするようにさせるのは可。
となるのでしょうか。
「使用権」は自分や社内など限定された環境で使う権利、「再頒布権」は第3者にアプリとセットで
配布する権利と解釈しました。
当方では顧客などに再頒布することは無くイントラでの使用のみなので、Web から
ダウンロードした MSDE2000 を登録無しでつかうことにします。
0098NAME IS NULL
04/10/18 09:30:24ID:???ストアドを呼びそのストアドでも begin tranをしている
場合、このトランザクションは入れ子で働いてくれますか?
それともvb側のトランザクションと同一視されますか?
0099NAME IS NULL
04/10/19 13:11:03ID:uvONeASE0100NAME IS NULL
04/10/21 10:28:55ID:???IDENTITYを削除テーブルを新規に作成し、元データを入れる。
元テーブルの名前を別の名前にrenameし、
新規に作成したテーブルの名前を元のテーブル名にrenameする。
0101NAME IS NULL
04/10/21 10:54:49ID:???0102NAME IS NULL
04/10/21 11:46:05ID:???0103NAME IS NULL
04/10/21 11:47:27ID:???0104NAME IS NULL
04/10/21 12:13:57ID:???0105NAME IS NULL
04/10/21 21:55:46ID:???0106NAME IS NULL
04/10/22 09:33:16ID:???なるほど!
ありがとう。
0107NAME IS NULL
04/10/23 20:04:48ID:???勉強中です。
本読むと管理関係にかなりの部分が割かれてるけど、
これらの知識はPGやSEにとっても役に立つの?
0108NAME IS NULL
04/10/24 00:30:10ID:???起たない
0109NAME IS NULL
04/10/24 01:21:51ID:???(;´∀`)<ちょっと勃った
人 Y /
( ヽ し
(_)_)
0110NAME IS NULL
04/10/24 13:12:02ID:???全体の設計や運用に関わる立場なら役に立つ。
というか、それ知らないとまともに運用できない。
PGレベルだと直接役に立つ機会は少ないと思うけど、知っといて損は無いよ。
アフォSEが作ったDBに突っ込みいれる事もできるし。
0111NAME IS NULL
04/10/24 15:47:36ID:qYETNpDv嫌われるからやめた方がw
0112NAME IS NULL
04/10/25 01:21:18ID:???ワロタw
不毛な残業をしたくなければ勉強すべき。
0113112
04/10/25 01:22:09ID:???0114NAME IS NULL
04/10/25 02:46:19ID:/9sdc+cHPGだから覚える必要ないなんて事はない
0115NAME IS NULL
04/10/25 03:06:30ID:???0116NAME IS NULL
04/10/25 15:19:09ID:???プログラム&デバッグの最中に、間違って変な(異常に時間のかかるような) SQL 投げた時に、
即座にサーバー側でその SQL にキャンセルかける(プロセスkill)くらいのことはできたほうがよ
いかと(w
#で、調べるとインデックスが上手く機能してなかったりするんだよな、これが。
0117NAME IS NULL
04/10/25 19:07:04ID:hgGHLtGdにある再帰 SQL 照会1: を MS-SQL Server 2000 で実現させたいのですが、
SQL Server 2000 ではこのような再帰 SQL は使えますでしょうか?
試してみたのですが、
キーワード 'WITH' 付近に正しくない構文があります。 となってしまいます。
アドバイス頂ければ幸いです。
0118NAME IS NULL
04/10/25 20:25:32ID:???0119NAME IS NULL
04/10/27 22:52:41ID:???0120NAME IS NULL
04/10/29 05:11:16ID:???1.Begin Transaction
2.TableAをUpdate
以上をクエリアナライザから実行して、トランザクションを終了させない状態で
3.VBで作成したアプリからTableAにSelect文を実行(ADO2.7使用)
この時、3.ではSQLServer2000からレコードを取得できないでタイムアウトと
なってしまいます。SQLServer2000ではこのような時はReadOnlyモードで
TableAを読み込むことはできないのでしょうか?
※ちなみに、3.を実行してから、タイムアウト発生前に1.のトランザクションを終了させると
TableAからレコードを取得してきます。
0121NAME IS NULL
04/10/29 06:11:33ID:???もっと良い方法があると思うのですが
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
で一応読み取れます。あまりおすすめしませんが。
0122NAME IS NULL
04/10/29 22:33:57ID:???RollBackしてテストデータを元に戻したいとかか?
0123NAME IS NULL
04/10/30 10:15:21ID:???↓
select * from TableA (READUNCOMMITTED)
0124NAME IS NULL
04/11/02 23:25:46ID:???RAID構成のディスク障害の際に
OSおよびSQLServerのファイルが壊れてしましいました。
OSはなんとか修復して復旧しましたが
SQLserverを起動しようとすると
エラー2140:WindowsNTの内部エラーが発生しました
とでます。
SQLServerの再インストールしかないでしょうか?
0125NAME IS NULL
04/11/04 09:45:20ID:???当方がW2K上のEnterprise Managerで作成したビューがあるのですが、対象となったデータベースはフィールド名、テーブル名とも2バイト文字で作られているものでした。
簡単な例を挙げると
「SELECT * FROM 管理者 WHERE マネージャーCD = '100'」
といったもの。
ところがこれをXP使用者がEnterprise Managerを使って見てみた所
「SELECT * FROM 管理者 WHERE マネ ー ジャ ー CD = '100'」
と、「ー」の両側に半角スペースが入力された形になっていたのです。
・普通に実行して結果は出力可能
・この状態で保存しようとすると
「[定義の表示]に出力列が無いか、またはFROM句に項目が含まれていません」
とエラーメッセージが出て保存が出来ない。
・半角スペースを消して実行しようとすると実行できず、半角スペースが入った形に「修正」されてしまう。
等の現象が発生、XP使用者からは修正できないものになってしまいました。
因みにXPのSP1、2共に同じ現象。
このような現象についての心当たり、解決方法に付いて御存知の方はいませんでしょうか。
0126NAME IS NULL
04/11/04 10:13:51ID:???たぶんこれでしょう
http://support.microsoft.com/default.aspx?scid=kb;ja;327056
0128猫屋敷
04/11/04 15:37:58ID:/u63hAA3bird
dog
dog
bear
cat
cat
cat
tiger
....
という感じのレコードがあるのですが、nameが同じレコードを
附番して
[name] [number]
bird.............1
dog.............1
dog.............2
bear...........1
cat..............1
cat..............2
cat..............3
tiger...........1
....
という感じにしたいのですが、自動的に附番させる方法はないでしょうか?
0129NAME IS NULL
04/11/04 15:47:10ID:1/6p/jx/SQLseverの一時テーブルをACCESSのリストボックスで
表示させることはできないのでしょうか?
Me.ListBox.RowSource = "SELECT * FROM #Temp_Table"
のような記述をしてみましたが、エラーも起こらず何も表示しません。
#Temp_Tableとその中身の存在は確認済みです。
どなたか解説お願いします。
0130NAME IS NULL
04/11/04 16:26:07ID:???どういうロジックか分からないが、
#だと、テンポラリテーブルを作成する
プロセス(ストアド等)が終了するとクリアされる。
ログイン中消さないなら##を使う。
その辺りは大丈夫なのか?
0131NAME IS NULL
04/11/04 16:34:17ID:???ストアドプロシージャ介して、というドキュメントがあったけど。
0132129
04/11/04 16:45:36ID:1/6p/jx/>131 納得しました。
ありがとうござました。
0133NAME IS NULL
04/11/04 22:28:10ID:???このテーブルにtimestamp列を
追加しても問題ないのであれば
SELECT
d.name,
c.seq
FROM (
SELECT
a.name,
COUNT(a.name) AS seq,
a.timestamp AS keycol
FROM animal as a, animal as b
WHERE a.name = b.name
AND a.timestamp >= b.timestamp
GROUP BY a.name, a.timestamp
) as c, animal d
WHERE c.keycol = d.timestamp
0134NAME IS NULL
04/11/05 00:38:17ID:???0135NAME IS NULL
04/11/05 01:06:26ID:???要求マシンスペックも高くなってるけどな・・・
メモリを大量に積めば間違いなく今より速いと思われ
0136初心者
04/11/05 11:39:23ID:1ZTV7vdh次のような環境がネットワーク上にあります。
Aマシン:Win2000+SQLサーバー2000
Bマシン:Win2000+SQLサーバー2000
やりたいことは、
AマシンのC:\Databaseというフォルダー内にある 「Cost」というデータベースを、
BマシンのC:\Databaseというフォルダー内に新規にコピーしたいのです。
BマシンのCドライブ内にDatabaseというフォルダーは作成済みです。
Enterprise Managerを使い、まず、Bマシンのプロパティで、
「データベースの設定」タブ内の「新規データベースの既定の場所」の、
「既定のデータディレクトリ」と「既定のログディレクトリ」をC:\Databasに設定しました。
設定後、プロパティを再度確認すると、間違い無く設定はされています。
念のため、Bマシンのデータベースマネージャを再起動しています。
この状態で、Enterprise Manageで、Aマシンのデータベース内の「Cost」を
マウス右ボタンでクリックし、全てのタスク==>データベースのエクスポートの順に選び、
Bマシンへ新規にコピーしています。
コピー処理終了後、Bマシンに正しくコピーできていることは
Enterprise Managerで確認できるのですが、
コピー先フォルダーがC:\Databaseでは無く、
C:\Program Files\Microsoft SQL Server\MSSQL\dataになってしまいます。
C:\Databaseにコピーするにはどうしたらいいのでしょうか?
どなたか、教えてください。よろしくお願いします。
0137NAME IS NULL
04/11/05 11:50:48ID:???先にBのマシンにデータベースを作る。
もちろんデータファイルの場所はC:\Databaseで。
そのあとインポート。
0138初心者
04/11/05 12:25:22ID:1ZTV7vdhありがとうございます。
やってみます。
0139NAME IS NULL
04/11/05 23:43:35ID:HhlifwTIMS-SQLで Limit/ffset に代わるSQL文はどのように書けばいいのでしょうか?
お願いします。
0140NAME IS NULL
04/11/06 01:55:35ID:???http://www.google.co.jp/search?hl=ja&inlang=ja&ie=Shift_JIS&c2coff=1&q=%22SQL+Server%22+%2BLimit%8B%E5%81@%2BOFFSET%8B%E5&lr=lang_ja
0141NAME IS NULL
04/11/07 11:48:09ID:aLjLwZ2gSQLServer2000のDBインスタンスを作成するプログラムを作りたいのですが、
どの辺を参考にすればいいでしょうか。
いくつか方法があるのでしょうか?
インスタンスさえ作ってしまえば
ODBC作って経由で何でもできるかなーと思っていたのですが
いきなりつまずきました。
0142NAME IS NULL
04/11/07 20:33:26ID:???インスタンス?インストーラでも作る気でつか。
それならそれでsetupsql.exeを-sで呼びゃいいけど。
多分データベースのことだろうから、それでいくと
SQL-DMO使うのが一番楽。感動するほど楽。
80\Tools\Binn\sqldmo.dllをimportして使うべし
データベース作成まわりはどいせSQLServer依存になるから
SQLDMO使うのをためらうこともないでしょ。
0143141
04/11/07 23:18:15ID:aLjLwZ2gありがとうございます。早速ぐぐってみます。
そのとおり、作りたいのはデータベースそのものです。
これでいけるかな・・
ttp://www.sqldev.net/download/sqldmo/80/vc/createdb.cpp.txt
0144NAME IS NULL
04/11/08 15:59:11ID:???既存プロシージャの修正業務を行っているんですが、そのprcが
(1) デカイTBL(20万行)から必要行を取り出して一時TBL(#TMPTBL)に挿入
(2) 一時TBLに対して色々複雑な処理をして出力TBLへ挿入
(3) 出力TBLを使って帳票出力
という流れで処理を行っているんですが、死ぬほど遅いんです。
で、質問なのですが、たとえ一時TBLと言えどきちんとIndexを作ってやらない
とjoinとか沢山行ったら目も当てられないと思うんですが、SQLSvrの一時TBLは
そういう意図で(上記のような流れの処理で)使うべきではない?
というか、皆さんどういう局面で一時TBLを使ってるんですか?一時TBLを使う
時はちゃんとIndexも指定するのが常識ですか?
#とはいえ、SELECT・・・INTO・・・で一時TBL作る際にはINDEXの作成はでき
#ないですよね?
0145NAME IS NULL
04/11/08 18:52:56ID:???一時テーブルの使い方うんぬんはそれほど経験が無いので
何とも言えないけど、作業テーブル的な使い方で問題ないんじゃないでしょうか。
自分も大体同じような使い方をしています。
CREATE INDEXはストアドプロシージャー内で使えるので、
一時テーブル #TMPTBL 作成後
CREATE INDEX <index_name> ON #TMPTBL (column1, column2, .....)
でいいのでは?
(このINDEXはストアドプロシージャー終了後削除される)
0146NAME IS NULL
04/11/08 19:03:05ID:???間違った使い方ではないと思う。
チューンアップをするなら、まずクエリアナライザでそのプロシージャの
実行計画を表示させてボトルネックがどこにあるのかを探すのが先決。
それで一時テーブルのテーブルスキャンが原因となればindexを作ればいい。
0147NAME IS NULL
04/11/08 21:47:53ID:???1行づつフェッチして if文で分岐処理して… とかやってるんじゃないかな。
そういうストアド特有の処理を多用しているのであればインデックスを張ったところで
高速化は望めないよ。
0148142
04/11/08 23:13:22ID:???>ttp://www.sqldev.net/download/sqldmo/80/vc/createdb.cpp.txt
うぁ。なんでこんな長いコードになるんだ、と思ったら
importも自動生成スマートポインタもなにも使ってないのね。
古いVC6でもコンパイルできるように、とかかな。ありがた迷惑な。
そっちの話をしだすとスレ違いなのでそれはおいといて。
ま、これでいけますよ。
0149NAME IS NULL
04/11/09 17:01:50ID:QT8QbHq6win2000serverをwin2003serverにアップグレードでインストールしようとしたのですが、
SQL server2000がサポートされてないとメッセージが出ました。しらべると、SQL server 2000の
SP3にアップグレードすればよさそうだったのでやろうと試みたのですが、手順がよくわかりません。
サイトに行くとなんか、3種類のファイルをダウンロードさせられ、実行ファイルを展開したまではいいの
ですが、そっから先がよくわからないのです。 だれか優しく教えてください。
0150NAME IS NULL
04/11/09 21:24:48ID:???http://support.microsoft.com/default.aspx?scid=kb;ja;819334
0151NAME IS NULL
04/11/09 23:25:37ID:???可変長の配列をプロシージャに引き渡す場合、
どういう方法を取るんでしょうか?
何をしたいかというとWhere条件のIN文に不特定の
数の文字列を入れたいんです。
Where num IN('one', 'two', 'three')
みたいな感じなんですが、これが0個の時もあれば
10個の時もある、みたいな形をとりたいんですが・・・
0152NAME IS NULL
04/11/10 00:29:51ID:???0153NAME IS NULL
04/11/10 00:38:34ID:???それってカッコ悪くない?
0154NAME IS NULL
04/11/10 09:11:01ID:???0155NAME IS NULL
04/11/10 22:19:50ID:???そういうストアドを作るという設計自体を見直したら?
0156NAME IS NULL
04/11/10 22:45:31ID:???0157NAME IS NULL
04/11/11 10:23:14ID:???SQL)の書き方を変えるっつーか意識しながら書くってのが常識ですか?
いや、シングルプロセッサなテスト鯖でカリカリにチューニングしたプロシージャを評価
鯖で動かしたら8つあるプロセッサのうち、1個しか働いてなかったんで。
「シングルプロセッサな鯖で本番運用してみたら話にならなかったので、Xeon 8way位の
eServerあたりを思い切って購入」みたいな時に困っちゃうと思うんですが・・・
0158NAME IS NULL
04/11/11 11:47:42ID:???0159NAME IS NULL
04/11/11 22:24:29ID:???どんなデータベースであろうと、聞いた事ないねえ。
それより物理ディスクやRAIDとかいう構成方法と、
データファイルやログファイルなんかの分割の組み合わせ的な
設計の方を考慮するべきだよ。
プロセッサを考えて処理方法を考えなければいけないのは、
スパコンのようなプロセッサ+ディスクのセットが複数で
構成されているばあいじゃないかな。
もちろん、データの分散も考慮してないと意味無いけど。
0160NAME IS NULL
04/11/11 23:36:41ID:???BooksOnlineでキーワードに並列って入れてみ。
大したことは書かれてないけどな。
並列クエリになるかどうかとは別として
クエリの実行プランがどうしても思うようにならないときは
UPDATE STATISTICS と sp_recomplie をやってみるといいかも。
0161NAME IS NULL
04/11/11 23:50:11ID:???シングルプロセッサの場合、複雑な結合になるSQLよりは、あえてそれを分解して極々簡単なSQLを順次
直列に実行する方が早くなるケースがある。あるいは、まとめてselect/まとめてinsertな処理をあえ
てカーソルでクルクル回した方が速いとか。
でもそんなプロシージャだと、マルチプロセッサ環境でも全く並列クエリにならない罠。
ある程度joinやsubqueryが沢山有るような複雑なsqlほど、マルチな環境できちんと並列化される。
ていうか、以前「極力joinは使わない方針で」といわれてprcを書かされたことがある(゚д゚;
こういう方針で書くところは結構あるんじゃないかな?
0162NAME IS NULL
04/11/12 00:02:50ID:???0163NAME IS NULL
04/11/12 01:47:02ID:???ハードや負荷状況・統計情報が変わったときに追従できないと思う。
0164NAME IS NULL
04/11/12 07:22:36ID:???/ |
/ |
/ |
l" Microsoft l
lー-―――――――‐--、/l
| '''二二_ ,,_ ト、ミヾニ┤
ヽ |,,,,,,,,_ ,、-──-、 ヾ、ミ三ミi
\ | i`二ニ! `´二二,`''' `!彡ヾ,i
i ! ゝ-- ノ ‐─‐‐ レ⌒Y
゙! '、 | ""/ ''''" 彡!)) /
ヽ ヽ, ! / '´ レ'/
\ | i└= 人/ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ,! i ∠-,_ /| | < 4CPUだ、きっちり回せ。
ヽェニニメニニィ' 、,/ / | \______________
ヽ` ,,、 ,、/ / |_
_\_,,,、-''´ / ト, ヽ
/ ,r|::::'' / ノノ \
r┤ |;;;| ヾー / / /\
ノヘ| ∨ ,r'_/__,,_ /イ´/`ヽ、
,,、-‐'''"~´-‐゙i,,ニ二!\ ,r''///-‐ヽ\/! / / `゙''-`ヽ
,r‐''''"´‐''"´ ヾ彡|─\ /彳" /ミ/i !/ /
/〉 | ト、〃ヽ、 / /! /ヽシ i | /
/ ヽ\ \i// /ヾ / i| | !
\〃\/ヾ/ i
\/\/
0165NAME IS NULL
04/11/12 13:44:16ID:???だから本番運用後やハード買い替え後に追加対応で苦労するわけですヨ。
まあ、マッチポンプという気も(ry
0166NAME IS NULL
04/11/12 19:41:37ID:???ひとつのクエリを複数 CPU で効率良く駆動するようにしなくても、
4つ以上のクエリが同時実行されれば CPU は十分に有効活用されるんだから
クエリ単体は、単一 CPU 向けにチューニングしといてもいんじゃね?
0167名無しさん
04/11/12 21:01:09ID:???それを言うならむしろ逆じゃないか?
マルチで最大のパフォーマンスを発揮するように書いておいて、実
際にパラレルでクエリを実行時するかしないかはその時のメモリな
んかの状況次第でMSSQLが最適な方法を選択。
多分これがスマートだと思うが。
0168NAME IS NULL
04/11/12 22:20:58ID:???そんなにMSSQLタソは頭がイクない!
でも次の娘なら・・・?!
0169NAME IS NULL
04/11/13 02:08:12ID:/IwXI261SQLServerはマルチコアでのライセンス価格をシングルコアと同じにするらしいから、
あと少しすればそんな悩みは無用になる。
使い切れないトランジスタをひたすらコアの増加に向けてくるから、
これからムーアの法則以上の速度でサーバの能力があがる。
オラやDB2はマルチコアはライセンス料×コア数だから使う必要なし。
0170NAME IS NULL
04/11/13 05:00:46ID:???あれ、まだ態度を表明していなかったのでは?
いずれにせよMSに追従すると思うけど
つーか、論点が違うんですけど旦那>>169
0171170
04/11/13 08:02:18ID:???論点ずらしてすみません。
ただオラとDB2は現状すでにライセンス料×コア数ですよ。
単純に追従するかは疑問ですよね。
ただこの話題に触れている人って少ないですよね。
導入コストに直撃するはずだけど。
オラは、RACでのスケールアウトをPRしまくっているけど、
スケールアウトでサーバコストを下げても、オラのライセンス料が
高すぎるから意味ないし。
マルチコアはスケールアップで、RACでの性能向上の意味を
薄れさせかねない。
0172NAME IS NULL
04/11/13 08:10:15ID:???マルチCPUならスループットに影響出るだろうけど、マルチコアってちょっと怪しい
0173170
04/11/13 08:34:54ID:???承知済みで対策を考えている。
マルチCPUと比べると、
・キャッシュが半分(デメリット)
・データの同期のコストが低い。(メリット)
・Opteronのようなメモリバス内蔵だと、全体としてのメモリ帯域が
半分(XEONでは関係なし)(デメリット)
・シングルコアに比べてクロックが低い可能性がある。(デメリット)
・バス競合をうまく抑えられる可能性がある。(メリット)
まあ一長一短だが、肝心な事はCPU業界全体がこちらに向かっている事と、
うまく使えば2WAY以上は、急上昇するサーバのコストを抑えられる事。
http://pc.watch.impress.co.jp/docs/2004/1112/kaigai133.htm
0174NAME IS NULL
04/11/13 18:56:46ID:???>半分(XEONでは関係なし)(デメリット)
これってXEONならメモリコントローラをコア数分つけられるってこと??
0175170
04/11/13 21:48:40ID:???説明足らなくて済みません。
まず質問の答えはNO。
XEONは、
(1WAY)
CPU−チップセット−メモリ
(2WAY)
CPU−チップセット−メモリ
CPU−|
Opteronは、
(1WAY)
CPU−メモリ
(2WAY)
CPU−メモリ
|
CPU−メモリ
XEONはメモリコントローラを内蔵していないで、チップセット経由で
メモリアクセスだから、2WAYだとメモリ帯域がCPUあたり半分になる。
しかも2CPUだとFSB(CPU-チップセット間)のスピードも1CPUほど出せない。
でもOpteronはCPU毎にメモリコントローラが内臓されているから、
2WAYならシステム全体としてのメモリ帯域は2倍になる。
だからOpteronの方が、2WAYでの性能の伸びが大きい。
0176NAME IS NULL
04/11/14 12:18:31ID:4TxXXTd4使えないんだけど、アドホッククエリの中に
トランザクションや変数や分岐とかの
普通はストアードで書きそうな記述をしたいんだけど、
これって問題とかあるのかね?
0177NAME IS NULL
04/11/15 18:52:15ID:???set @sql = N'Select count (*) Table_' + convert(nvarchar(16),@TableCode) + ' where id=1 ;'
EXECTE sp_executesql @sql
上記の、count(*) の結果を変数に取得したいです。
同一内容のテーブル名が業務毎に複数有るので、テーブル名の切り替えの為に
sp_executesql を使っています。
0178NAME IS NULL
04/11/16 02:13:34ID:???ストアドかfunctionを使う
0179177
04/11/16 09:07:39ID:???ありがとうです。
0180NAME IS NULL
04/11/25 09:43:27ID:???CPU負荷がそれぞれ 50% しかいかない。
100% フルに使わせるにはどうしたらいいの?
0181NAME IS NULL
04/11/25 09:58:23ID:???0182NAME IS NULL
04/11/25 19:08:41ID:???など、使いわけていらっしゃいますか?
今は 0 , 1 の値しかとらない事が明確な場合でも、smallint で定義しています。
こういった場合 bit もしくは tinyint を使うべきでしょうか?
smallint で定義しているのは、フラグ関係のフィールドは一貫して smallint
で定義させている、という手抜きをしているだけの理由です。
アドバイスください。
0183NAME IS NULL
04/11/25 22:40:29ID:???0,1の場合はbitを使いますが、
フラグだったものが将来コードになりそうな場合int使っちゃいます。
(1:on/0:off の場合 bit →→→ 将来 1:on 0:off 2:ready になりそうならint、
説明のフィールドにコメントを残しておく。)
自分はデータベース専門じゃ無いのと、設計書等を十分に残せないまま
次々開発せざるを得ない職場なので、他の人が読んだときに
わかりやすい事を一番に心がけてます。
私の勝手な思いこみかもしれないけど、bool型みたいなのはbitで定義した方が
他の人が見たときにわかりやすいんじゃないかな?
0184NAME IS NULL
04/11/26 02:56:33ID:???スピンループするストアドを2個走らせれば100%まで行くだろ
マジレスすると、メモリかディスクがボトルネックになってる可能性がある。
Standard editionだとメモリは2GBまでしか使えない。
案外Win2KSP4にしたらあっさり100%まで使われたりしてな(根拠無)
0185NAME IS NULL
04/11/27 18:41:45ID:???たしかにディスクがボトルネックかもしれん。
調査してみる ノシ
クローズド環境だし、いまさらspクラスのパッチは怖くて無理('_`)
0186NAME IS NULL
04/11/29 19:57:35ID:ivioTFDbSQLServerとの接続について次の2つの方法のどちらが主流なのでしょうか?
(1)プログラム起動時に接続、プログラム終了時に切断
(2)イベント(等)発生時に接続、処理終了後に切断。 待ち状態時は常に切断状態。
あとそれぞれのメリット、デメリット等あるでしょうか?
0187NAME IS NULL
04/11/29 20:07:36ID:???Connectionは重い処理なんで、繋ぎっぱなしに越した事はないかと。
0188NAME IS NULL
04/11/29 21:17:38ID:???ユーザさんが途中の画面で放置するので処理毎に切断するようにした。
主流とか無いんじゃない?好みと要件次第の様な気がする。
0189186
04/11/29 21:49:00ID:ivioTFDbケースバイケースって事みたいですね。
どの場合にどちらを使うかという判断規準をもうすこし聞いてみたいですね
0190NAME IS NULL
04/11/30 14:07:53ID:???できないですか?
use db_nameみたいに
0191NAME IS NULL
04/11/30 17:52:41ID:???sp_defaultdbでログインの既定データベースを変更するとよろし
0193NAME IS NULL
04/11/30 20:00:09ID:WlF48P8nやっぱ、基本はConnection Poolingでしょうか?
0194NAME IS NULL
04/11/30 21:00:23ID:???>ODBC接続すると、何秒位かかりますか?
自分のパソコンのCPUとネットワーク回線速度とトラフィックとDBサーバのスペックと負荷状態による。
>やっぱ、基本はConnection Poolingでしょうか?
何の基本か分からないけど、自分のパソコンにMSSQLをインストールして自分一人だけで使うってのならプーリングするだけ無駄。
0195NAME IS NULL
04/11/30 21:56:04ID:4Do0EdsB0196190
04/12/01 10:17:00ID:???ありがとうございます!
0197NAME IS NULL
04/12/01 12:14:08ID:???0198NAME IS NULL
04/12/01 20:40:23ID:???bitだと同一テーブルに8列までは1バイトの記憶域にまとめて格納できるらしい。
9列になると2バイトとると。
そんな自分は16bitで足りなさそうなとこは32bit割り当ててみたりと適当です。
#intって16bit?
0199NAME IS NULL
04/12/01 20:50:39ID:???明示的に datetime に CONVERT しないで SQL Server に暗黙の型変換させたほうが早いのね。
今まで 600MB 約 1MレコードのテーブルにADPのサーバフィルタで
convert(datetime, 日付) between convert(datetime, '2004/11/01') and convert(datetime, '2004/11/30')
とかやっててタイムアウトが多かったから(ローカルのMSDEで実行したら4時間くらい
ディスクフル回転で100GBくらい読んでた)、おかしいとは思っていたが…。今は
日付 between '2004/11/01' and '2004/11/30'
にしている。
しかしなんで高々600MBのテーブルを100GB近くも読みに逝ってたんだろう?
0200NAME IS NULL
04/12/01 21:19:02ID:???いや、結果が一緒だったらいいんだけど。
0201199
04/12/01 22:01:52ID:???Σ(゚Д゚|||え、そういわれてみればそうか…。まあ確かに年月日で並んでれば結果は同じだからいいか。
0202NAME IS NULL
04/12/01 23:08:26ID:SwPYFPERSQL鯖のODBC接続は凄く早いが。秒なんて掛かからね。
0203NAME IS NULL
04/12/01 23:10:38ID:???てゆーか、お前一人だけしか使わないのなら一般的じゃないっていってるだろというか、他DBに比べて速いか遅いかって何と比べてんだ位教えてYO!
0204NAME IS NULL
04/12/02 02:33:58ID:???betweenとか大小比較の時に変数や関数を指定すると
indexを使わないでテーブルスキャンしたり
無駄にループする実行プランになることがある
0205195
04/12/02 09:05:14ID:RE9blmZt体験版でテストしたけど、隣に置いたPCに瞬時に接続するね。
別の建物というか距離のあるイーサネットのDBに接続すると10秒近くかかるけど、
RDBなんだからしょうがないね。
>>203
Sybase、ポスグレ、MySQL、Firebird、Ora、なんかと。
0206NAME IS NULL
04/12/02 18:26:38ID:???ISDNルータを挟んだ別セグメントのSQL Server相手でもそんなには遅くないけど。
0207NAME IS NULL
04/12/02 18:48:58ID:???物理的な距離とネットワーク的な距離は別問題だろ・・・
0208NAME IS NULL
04/12/02 21:48:22ID:???>ODBC接続すると、何秒位かかりますか?
>やっぱ、基本はConnection Poolingでしょうか?
ODBC接続とコネクションプーリングは比較するようなものじゃない。
ODBCはあくまで規格だから、ODBC接続でコネクションプーリングするってできるし。
あとコネクションプーリングを採用する際のメリットはコネクションの確立と解放の時間が無くなることであり、
デメリットとしてはコネクションつなぎっぱなしになることと、順番待ちが発生すること。
逆にDBサーバ側から見れば固定数しか来ないっていうメリットにもなる。
ここいらへんはトレードオフだな。
>他DBに比べて速いか遅いか
ODBC接続でMSSQLに接続するのと、ODBC接続でオラクルに接続するのと、ODBC接続でポストグレスに接続するのと、
比べる意味あるのか?
あとアドバイス。
単語だけじゃなくて、ちゃんと意味を理解しろ。理解できるだけの基礎知識をつけろ。
あきらかに知識がなさ過ぎてただのバカな質問に見える。
キャベツと千切り、どっちがうまいですか?と聞かれてどうやって答える?
0209NAME IS NULL
04/12/02 21:51:34ID:???ギャベツのせんずり
って答える。
0210NAME IS NULL
04/12/03 09:26:44ID:???ぬるぽ
0211NAME IS NULL
04/12/03 11:40:56ID:???0212NAME IS NULL
04/12/04 13:14:02ID:AIpsSRcu>ODBC接続でMSSQLに接続するのと、ODBC接続でオラクルに接続するのと、ODBC接続でポストグレスに接続するのと、
>比べる意味あるのか?
あるだろ?
ODBC接続でオラクルは問題ありだろ? とくにM$のは。
0213NAME IS NULL
04/12/04 13:28:39ID:???SQL鯖へのODBC接続時間とかConnection Poolingとか言ってるのでWEBアプリの話だと思われ。
Connection Pooling無しで毎回SQL鯖にODBCで再接続した場合に
実用的な速度で再接続出来るのかと聞いてるのだと思う。
こんな質問をするヤツに任せるとトンデモなWEBアプリが出来上がる悪寒。
0214NAME IS NULL
04/12/04 20:32:01ID:???A社製のODBCドライバでオラクルつなぐのと、B社製のODBCドライバでオラクルつなぐのと比べるなら分かる。
もしくはオラクルつなぐのにODBC使うのとJDBC使うのとSOAP使うのとで比べるなら分かる。
他DBに比べて速いか遅いか位教えてYO!とか言われてもなあ
0215NAME IS NULL
04/12/04 20:33:22ID:???それでConnection PoolingとODBCはどっちが一般的なんだ?
0216NAME IS NULL
04/12/04 22:23:44ID:???ADO.Netが一般的。
0217NAME IS NULL
04/12/04 23:23:57ID:???慣れればアレなんだろうけど・・・
0218NAME IS NULL
04/12/04 23:38:07ID:???○慣れる頃にはアレ
0219NAME IS NULL
04/12/05 11:09:48ID:???歌を歌いながらガラスに絵を書く人。
0220NAME IS NULL
04/12/08 00:39:17ID:???水森亜土かよっ
0221NAME IS NULL
04/12/08 14:20:48ID:???そのデータベースを他のPCからADO.NETで利用する場合、
クライアント側のPCにMSDEのクライアント版みたいなのが必要になったりするんでしょうか?
0222NAME IS NULL
04/12/08 14:28:45ID:???0223NAME IS NULL
04/12/08 14:54:48ID:???そのサーバーに見立てたPCにはサーバー版OSが必要らしい。
ソースは↓
ttp://www.horikawa.ne.jp/cgi-bin/showlog.cgi?kd=1&no=1196
んなこたぁ知ってるYO!だったらスルーしてください。
0224NAME IS NULL
04/12/09 00:42:37ID:???それはマイクロソフト日本法人が非公式に日本apacheユーザグループに出した回答を元にしていると思われ。
正しくない部分が多々あるDQNな文章で信憑性はゼロ!
0225NAME IS NULL
04/12/09 21:21:33ID:???0226NAME IS NULL
04/12/12 17:19:11ID:???勉強できる書籍でおすすめのがあれば教えていただけないでしょうか?
0227NAME IS NULL
04/12/12 18:10:36ID:???マイクロソフトの本。
管理面で上下巻、tansact-sql(ストアドプロシジャー)でで上下巻の計4冊。
金あるならセミナー行け。その方が時間的にお得。
0228NAME IS NULL
04/12/14 21:25:01ID:lFJ3oA330229NAME IS NULL
04/12/15 12:11:20ID:???SQL鯖は1インスタンスに複数のデータベースを持てるからそっちを検討してみてぁ?
0230228
04/12/15 21:07:02ID:i0yZMr72ありがとうです。
一つ疑問があるのですが
SQLServer2000はSP3にしてあるのですが
CD(SQLServer2000)からのインストールでインスタンスを追加すると
それは自動的にSP3になるのでしょうか?
0231NAME IS NULL
04/12/15 22:41:57ID:???なりません。
名前付きインスタンスには別途サービスパックを適用する
必要があります。
0232NAME IS NULL
04/12/20 19:20:47ID:???ストアドプロシージャでBeginTrans、CommitTransを記述するようにするもの
なのでしょうか?
Accessチックにクエリビルダで線をピッピと引っ張って作ってましたが
実はありえない事をやっているのかと不安になってきました。
0233NAME IS NULL
04/12/21 07:57:35ID:???問題ないと思います。Accessからできることだけで操作したほうが見通しが
良いですし。トランザクションはネストできますからストアド内で使うか
どうかは状況しだいですが、普通はAccess側から操作すれば十分です。
JET(mdb)のリンクテーブルって話ならまた違いますけどね。
0234NAME IS NULL
04/12/21 20:37:58ID:???0235NAME IS NULL
04/12/24 18:21:41ID:bNmDGfoNOracleでいうDMPはSQL Serverではどれにあたるのでしょうか?
DTSを使用するとは思うのですが・・・。
0236NAME IS NULL
04/12/25 13:52:59ID:???鯖側DBは
Chinese_Taiwan_Stroke_CI_AS
で、DB・テーブルを作り
クライアント側(日本語Win2000)で接続して
BIG5のテキストデータをperl+DBIで書き込んだのだが
見事に文字化けしてしまう
クライアント側を台湾版のOS(or 日本語版の地域設定で台湾)にしないとダメなのか?
>>235
DB間のコピーならDTSだよ
0237236
04/12/25 14:43:33ID:???ttp://www.microsoft.com/japan/Office/2000/techinfo/Limitation/Access2000.asp
>■多言語について
>クライアント コンピュータのコード ページは、サーバーのコード ページと一致していなければならない
office2000(access2000)以外にも当てはまるのか?
0238NAME IS NULL
04/12/25 15:59:44ID:???クライアント側はUnicodeにすればサーバ側で変換してくれるんじゃないの?
0239236
04/12/25 17:39:33ID:???ANSIからOEMへの自動変換
と
インターナショナル設定
のチェック(両方)を外したら解決した・・・
たぶん片方だけで済むはず
>>238
perlなんで
(各コードページの定義ファイルが必要だし・・・)
0240NAME IS NULL
04/12/25 22:17:48ID:???すまん。前にperlでもUnicodeが使えるって聞きかじってたもんで適当に答えてしまった。
でもDB-Libraryが使われてるのならUnicodeはアウトかも
・任意のバージョンの DB-Library または Embedded-SQL for C を使用するアプリケーションは、TDS 4.2 を使用して通信します。
・TDS 4.2 は Unicode をサポートしません。nchar 型と nvarchar 型の値は、サーバーの Unicode 以外の Windows® コード ページを使用して char 型と varchar 型に変換されます。これにより、拡張文字が失われる可能性があります。ntext 型の値は取得できません。
0241NAME IS NULL
04/12/25 22:54:33ID:???�@SQLServerの入っているPC
↓
�ASQLServerの入っていないPC
↓
�BSQLServerの入っているPC
というふうにテーブルを移動させたいのですが�@から�Aに移すときに
どの形にして入れれば�Aから�Bに移したとに�Bと�@と全く同じ状態で
復元できるのでしょうか?
0242NAME IS NULL
04/12/26 11:07:24ID:???DTSは鯖間のコピーだった気がする
テーブル(デザイン)だけなら
(1)内のダミーにDTSを使用してコピー
この時
C:\Program Files\Microsoft SQL Server\80\Tools
フォルダ内に〜.TAB, 〜.PRC, 〜DR1, 〜.DR2のファイルが出来るから
これを(3)の鯖に対して"クエリ アナライザ"を使用してテーブル等を作る(この時に〜.TAB等を使う)
データはアクセスファイルにでもすればいい (レコードが多いと無理っぽ)
0243NAME IS NULL
04/12/27 00:17:15ID:???今の設定はChinese_Taiwan_Stroke_CI_ASなんだけど
大文字小文字は区別しない
半角と全角は区別するってどうやるんだ?
あとbig5の記号で
\xA2\x7E と \xF9\xFA も区別するようにしたい
*unicodeでは後者が前者に変換されてる by EmEditor
この辺unicodeは糞だな・・・
0244NAME IS NULL
04/12/27 03:02:57ID:???select * from ::fn_helpcollations()
where name like 'Chinese_Taiwan_Stroke%WS%'
0245NAME IS NULL
04/12/27 08:51:53ID:???ttp://www.microsoft.com/japan/msdn/library/ja/jpdnsql2k/htm/IntlFeaturesInSQLServer2000.asp
へんな書き方すんな
0246NAME IS NULL
04/12/27 15:29:23ID:x6k6atOm方法はないでしょうか?
0247NAME IS NULL
04/12/27 16:14:15ID:???0248NAME IS NULL
04/12/27 21:03:51ID:???0249NAME IS NULL
04/12/28 00:02:40ID:???隠し関数を使ったわけでもないのに変って言われてもなぁ..
まあ、普通は使わない関数なのは確かだけど。
0250NAME IS NULL
04/12/30 00:55:55ID:???データ型は使用されています、とメッセージが出て削除できません。
依存関係では何も表示されませんし、スクリプトで全オブジェクトを出力して
作成された sql ファイルを見てもそのユーザー定義データ型を使用している
ところはありませんでした。
ユーザー定義型を削除するにはどうしたらよいのでしょうか?
0251NAME IS NULL
04/12/30 23:53:11ID:???ストアドプロシジャーにするメリットとしては、処理効率?があげられると
思うのですが、3、4個のテーブルを JOIN して、5、6個程度の WHERE 句
が存在する程度の抽出 SQL でも、ビューで作成して利用するより、
同じ内容で、ストアドプロシジャーにするほうがレスポンスは向上する
ものなのでしょうか?
SELECT を行なう SQL で、ビューを利用するメリットと、ストアドプロシジャー
にするメリットがいまいちつかみきれていません。
基本的に SELECT を行なう SQL であれば、どちらを選択すべきなのでしょう
か?更新処理などがなくてもやはり、ストアドプロシジャーにしたほうが
効率はあがるものなのでしょうか?
アドバイスのほど、よろしくお願いします。
0252NAME IS NULL
04/12/31 00:48:32ID:???迷ったら、楽でシンプルであとから手を入れやすい方を選べば間違いない。
0253NAME IS NULL
04/12/31 22:30:14ID:???後から変更することは可能ですか?
それとも、再インストールするしかないのかな・・・。
0254NAME IS NULL
05/01/01 01:21:32ID:???<インストールパス>\Microsoft SQL Server\80\Tools\Binn\svrnetcn.exeで変更できる
0255NAME IS NULL
05/01/01 09:37:38ID:???「サーバーを起動し、指定した設定を適用しています...」のまま先に進まなくなります。
インストールタスクの強制終了もできず、Winも終了できず電源OFFするしかなくなるんです。
Windowsファイアウォールも無効にしてますし、ウィルスバスターも終了してます。
こんな現象起きている人いますか?
0256255
05/01/01 09:48:09ID:???0258NAME IS NULL
05/01/05 17:19:54ID:/Mdw8tqjセットアップ初期化エラー
アクセスが拒否されました
と表示され、パッチが当てられません。
なにが原因なのでしょうか?
0259NAME IS NULL
05/01/05 18:15:49ID:???[SQLServerのVER]:2000
WindowsXPのクライアントからSQLServerへODBC経由で接続し、データを取得しようと
すると以下のエラーが表示されてしまいます。
[Microsoft][ODBC SQL Server Driver][SQL Server]
OLE DB プロバイダ 'MSDAORA'は分散トランザクションを開始できなかったので、
要求した操作は実行されませんでした。
どのようにしたら解決できますでしょうか?
どなたかご教示の程宜しくお願い致します。
0260NAME IS NULL
05/01/05 19:45:35ID:???「Distributed Transaction Coordinator」サービスを止めていないか?
0261259
05/01/05 19:51:26ID:???0262NAME IS NULL
05/01/05 20:24:02ID:iUXMKCt8と言うのは、SQLServerにインデックスを張ったのですが、
その後インデックスを有効にする処理が必要なのかなと思ったわけです。
Oracleだとコストベースオプティマイザであれば、インデックスを張った後に統計情報を取得しないと意味ないですよね。
SQLServerにも統計情報なる考え方があるのかどうか教えて下さい。
BooksOnlineではそれらしき項目が無いので、統計情報なるものは存在せず
インデックスを張れば即時に効果が出るかと予想してます。
0263NAME IS NULL
05/01/05 23:43:58ID:???あるし、BOLにも乗ってるはず。
_Wとかtとかではじまってるやつだ。sysindexesみてみよ。
ただ、oracleやdb2と違うのは自動でできること。(db2も設定すればできるけどね)
全体の数割が変更されるごとに勝手に更新されるので
自分では何もしなくて良い。結果的に
>インデックスを張れば即時に効果が出る
だね。
強制的に手動更新する場合は UPDATE STATISTICS
0264NAME IS NULL
05/01/06 11:49:54ID:???クライアント側のアプリってCOM+配下のコンポーネントってことはないですか?
COM+とSQLServerが別のサーバーの場合は特別な設定が必要になります。
0265259
05/01/06 17:51:58ID:???もし、おっしゃられている場合、どのような設定を行えばよいのでしょうか?
0266NAME IS NULL
05/01/06 20:25:56ID:???分散トランザクションつまり複数のDBサーバーにまたがるトランザクションを使用する場合、
トランザクションコーディネータ(MSDTC)配下のCOM+コンポーネントを作成する必要があります。
DBもCOM+コンポーネントも同じコンピュータにある場合は何の問題もなく稼動しますが、
別のコンピューターにある場合は通常のDBへの接続のほかにDBサーバーのMSDTCとCOM+コンポー
ネントのあるサーバーのMSDTCの間でトランザクションを制御するための通信が発生します。
その通信は標準では有効になっていません。
まず、Win2003ではネットワークDTCアクセスが標準では有効になっていないため追加でインストール
する必要があります。XPでは標準でネットワークDTCアクセスがインストールされています。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;817064
次はXP同士のケースで検証したものなので2003だと異なる箇所もあるかもしれませんが、
双方で「管理ツール」「コンポーネントサービス」「MSTDC」「セキュリティの構成」
「トランザクションマネージャ通信」で送受信とも許可にします。
「COMセキュリティ」「アクセス許可」「制限の編集」でANONYMOUS LOGON,Everyone双方に
リモートアクセス許可を与えます。(ここはもう少しよい方法があると思いますが全開にしています)
あと、WindowsXP SP2の場合は\windows\sysetm32\msdtc.exeをファイヤーウォールの例外に登録する
必要があります。
余談ですがDTC間の通信はwindows2000とXP/2003の間でセキュリティに関するモデルが異なっている
ようで、2000サーバーとXPクライアントの場合の設定は難易度高です。特にDBサーバーが2000で
ドメインサーバーを兼ねてる場合の設定はほとんど不可能と思ったほうがよいと思います。
0267NAME IS NULL
05/01/06 22:47:21ID:???うちのWin2000(PDCとDBサーバ兼用)
にXPSP2クライアントと2003クライアントから
DTC通信で分散トランザクションができてしまいます・・・
0268NAME IS NULL
05/01/07 00:53:31ID:???トランザクションが動いてないってことはないですか?
コンポーネントのトランザクションの設定が全部「サポート」以下の場合
明示的にトランザクションを開始してない場合はトランザクションは使われてません。
自動トランザクションで開始するなら「必要」または「新しく必要」のコンポーネント
がどこかに必要になります。
0270NAME IS NULL
05/01/11 22:32:40ID:???ここで質問させてください。
SQL Server 2000 Reporting Servicesを使用して、PDFのレポートを
表示するWebアプリケーションを作成しようと思っています。
開発はVS .NET 2003 で行っていて、ソリューションエクスプローラーの
参照設定から、Web参照の追加で、ReportingServiceへの参照設定を
しようとしたのですが
'http://localhost/ReportServer/ReportService.asmx' をダウンロード中にエラーが発生しました。
HTTP ステータス 400: Bad Request で要求が失敗しました。
というエラーが発生してしまい、Web参照設定ができません。
ReportingServiceをWebサービスとして利用するにあたって、なにか
設定等必要になるのでしょうか?
0271NAME IS NULL
05/01/12 00:09:24ID:???Reporting Servicesというのははじめて知ったけど
.NETのWEBサービスなら ?wsdl とか付けるんじゃなかったけ
ttp://localhost/ReportServer/ReportService.asmx?wsdl
0272NAME IS NULL
05/01/12 21:15:12ID:w3W1K1pODB2で言う分散パーティションニング・フィーチャー(DPF)みたいな機能で
1つのDBを複数の筐体に拡張することはできるのかしら?
SQLServer2000でも、2005でもパソコンでしか動作しないから
スケーラビリティの問題をどう解決するのかな?
それともOracleに載せ替えるのかな?
0273NAME IS NULL
05/01/12 21:39:58ID:???製品情報くらい自分で調べろ。
0274NAME IS NULL
05/01/12 22:54:52ID:???かなりの馬鹿みたいね、こいつ
何億もするWindowsサーバ機を組んでる大企業なんてごろごろいるよ。
それもパソコンですか?
0275NAME IS NULL
05/01/12 23:09:15ID:???AIXやOS/390とかの世界の人なんだろう。きっと。
0276NAME IS NULL
05/01/12 23:24:11ID:ujs9GoAF全てのDBアクセスで、毎回select count(*)でデータ件数取ってきてから、from以下同文の本SQL発行してる
出力データ格納するのに必要な領域サイズ知るためみたいだけど…
これって普通のやり方なの?できれば一回で済ませるようにしたいんですが
0277NAME IS NULL
05/01/12 23:50:28ID:???count(*)から次に読み込むまでの間にデータが増減しない保障はない。
月に1回くらい不思議なエラーが出るかも。でもCで配列を動的に増や
すのって面倒そう。c++ならstlの出番か。MFCのCxxArrayでもいいけど。
0278NAME IS NULL
05/01/13 00:00:01ID:???それからポインタを先頭に戻して読み直せばいい。
ただし効率考えたらforward onlyで読みたいね。
0279NAME IS NULL
05/01/13 16:57:52ID:???SELECT
*
FROM
HOGE
を返すVIEWがあるんだけど
HOGEテーブルの列を追加して
sp_recompileをかけても
変更がVIEWの結果に反映されません
原因と解決策があれば教えてくださいマシ
今は影響する全部のVIEWに対してALTER VIEWをかけてます( Д)
0280NAME IS NULL
05/01/13 18:18:10ID:???0281NAME IS NULL
05/01/13 18:31:51ID:???おぉ!!!
こういうのがあったとは
ありがとうございます<m(__)m>
0283NAME IS NULL
05/01/13 22:38:21ID:???なんでもかんでもってのは変だと思う。
すべてメモリに取り込まなくても処理できるのであれば無駄だし。
0284NAME IS NULL
05/01/13 23:23:38ID:???10件毎とか100件毎にメモリを確保しながら
少しずつ読んで行くことはできないの?
0285NAME IS NULL
05/01/14 00:35:35ID:???移した行をDELETEしたら、トランザクションログが無茶苦茶増えてディスクフルになって
元のDBがぶっ壊れた!!
まあ完全/差分バックアップから復元できるわと思ったら、差分をリストアしたあとで
ナズェ「容量が大きすぎて復元できんわ」という旨のログがでるのディスカーーーー!!
SQL Server買えってこと、なのか?
0286NAME IS NULL
05/01/14 02:15:40ID:???まあまあ、Oracleだって4GBの境界でDBが
ぶっ壊れる仕様があるらしいぞ。
要はPC用RDBなど子供のオモチャということだ。
0287NAME IS NULL
05/01/14 07:17:50ID:86tIXLvbあのー、そのオモチャを銀行で使ってるんですが...
0288NAME IS NULL
05/01/14 07:40:16ID:???いつの話だよ
0289NAME IS NULL
05/01/14 09:25:51ID:ajTKD0DUで、壊れた場合、コマンドで復旧すんだおね?
まさか、SQL鯖とか復旧不可破壊なんて存在しないおね?
0290NAME IS NULL
05/01/14 22:00:51ID:86tIXLvb詐欺師かおまえら。そんな煽り方やめろよ。
金も、知識もないユーザの何億円も出させて
にっちもさっちも行かなくなって泣いてるぞ。
ユーザの事を考えたことあるのか?
0291NAME IS NULL
05/01/14 22:06:11ID:86tIXLvb32bitのパソコンに32Gバイトもメモリー積んで
全く無意味だ。
買ったオレもバカだった。何億円もドブに捨てた。
オマエらサーバ作るのは金輪際やめろ。
M$のクソ社員が。
0292NAME IS NULL
05/01/14 22:36:28ID:???>何億円もドブに捨てた。
オマエが捨てたわけじゃなかろ
0293NAME IS NULL
05/01/14 22:36:53ID:???そもそもメモリが大して無くてもCPU負荷が論理的に可能な限界まで
低くなるように設計・実装して初めて意味がある。
メモリ内操作だって負荷は結構あるんだから。
何億も使う前にまずそれぐらいやるか、やってくれる人間を雇えよ。
・・・・ということをMSは言わずに上のエディションを買わせるってのは同意だが。
0294NAME IS NULL
05/01/14 22:59:36ID:???マシン入れたら自動的に分散して所定の設定にしたがってパフォーマンスをあげていくとか。
0295NAME IS NULL
05/01/14 23:14:43ID:86tIXLvbボケー。オレは事業主だ。
M$の安月給サラリーマンほどが何の根拠も責任もない発言するのだ。
0296NAME IS NULL
05/01/15 00:31:44ID:???もともと頭が悪かったのか精神に傷を負ったのか…
でもなんかワロタ
0297NAME IS NULL
05/01/15 00:56:29ID:???0298NAME IS NULL
05/01/15 00:59:17ID:???SQL鯖2005は大分自動化が進んだんじゃね?
少なくとも6.5とかの頃から見れば大分マシ
0299NAME IS NULL
05/01/15 01:20:47ID:???当方winxpでMySQL4.0.22を最初に使っていたのですが
ある日突然show databases;で見たら
mysqlが消えていて・・・
自分で作ったデータベースは残ってました。
それで新しくデータベースを作ろうとしてもエラーが出て
仕方なく再インストールしても相変わらず同じ状態でした。
それで調べて、まずsc.exeというツールが有って
それをコマンドプロントからsc delet MySQLとしてからc:\に有ったmyも消しました。
その後、再インストールしたら起動しなくなってしまって
今は4.1.8を使ってるのですがこれも最初固まったままで
今は何故か動くには動くのですが
出来ればMySQL4.0に戻したいですけども
正しいアンインストールとうか再インストールって出来ますでしょうか?
長文申し訳御座いません。
0300NAME IS NULL
05/01/15 01:40:19ID:???もう一度スレタイ読め
0301NAME IS NULL
05/01/15 01:48:22ID:???微妙に惜しいんだけどねぇw
0302NAME IS NULL
05/01/15 01:48:27ID:???0303NAME IS NULL
05/01/15 07:27:25ID:???MYSQL
にてるっちゃー似てるか
0304NAME IS NULL
05/01/15 08:18:17ID:???0305NAME IS NULL
05/01/16 14:51:03ID:???ぼったくりの方のとかいう接頭氏をいれたらどう?
0306NAME IS NULL
05/01/16 16:23:12ID:???0307NAME IS NULL
05/01/21 10:05:42ID:o65aaURFpingは飛ぶけど(webサーバーとしては問題なく立ち上がってる)
portにすら到達出来ないってのは何処の設定が間違ってるんでしょうか?
(サーバー側のルータはportを開けてる)
0308NAME IS NULL
05/01/21 13:34:37ID:???とクエリーを実行するときに
特定の名前の項目「のみ」結果のカラムを排除したいんだけど
そういうSQLの書き方教えてください。
テスト結果のデータが書き込まれるテーブルが
たくさんあって(スキーマもたまに変わる)中身を比較したいんだど
タイムスタンプに使用している項目だけを
結果の表から排除したいんですが。
0309NAME IS NULL
05/01/21 22:53:50ID:???出来ない。
カラム一覧はsyscolumnsで取れるからそれ使って
動的なT-SQLをごりごり書くか、プログラム側で対処しなさい。
0310NAME IS NULL
05/01/21 23:39:58ID:???途中の経路でブロックされていない?
Portが塞がれているなんて言うのは良くある事なので。
0311307
05/01/22 00:40:32ID:???すいません、途中の経路と言いますと何処での問題点が考えられるでしょうか・・?
win2003なのですが、正直win系のサーバーとなると尚更さっぱりです。
ちなみにサーバー内部のaccessからはSQLを拾えました。
ルータでは確かにportを開けてるのですが、外部から1433,1434に到達出来ない時点で
サーバーで何か設定する必要があるという事なのでしょうか?
0312NAME IS NULL
05/01/22 14:18:45ID:???0313NAME IS NULL
05/01/22 15:21:06ID:???0314NAME IS NULL
05/01/23 00:32:50ID:???他の人も書いているけどネットワークの経路に問題あるんじゃない?
まずはサーバから直につないで設定が間違ってないことを確認してからだけど。
0315NAME IS NULL
05/01/23 01:19:21ID:???ISPによっては1433/1434をブロックしてる可能性はあるな。
デフォルトインスタンスだけを使うなら1433だけ開いていればいい。
しかし、セキュリティの点から言って
SQLServerを直接外部に晒すのはやめといたほうがいい。
IISを噛ますとかして必要なデータだけ取れるようにしたほうがいいよ。
0316307
05/01/23 07:09:22ID:???>>312
数種類のnmapからsppまで試してみたのですが、
(ちなみにnmapは-p0オプションを付けないとブロックされてしまいました)
portがどういう状態なのかははっきりと判別出来ませんでしたが
(port1433-1434部分で非常に時間が掛かる)
存在しない=閉じられている?という結果のようです。
ネットワークの構成はルータ一台とその対象のサーバー一台(win2003,MSSQL2000)のみです。
設置して間もなく、また素人なもので他に特にややこしい事はしておりません。
>>315
やはりISP側でブロックしている可能性も考えられるのでしょうか・・?
避けたいのは重々なのですが、現状(試用段階)では複数の顧客別のデータベースを
そのサーバーに配置する方法以外に活路を見出す事が出来ませんでした。
とあるシステムの仕様がADO接続でデータベースに値を拾いにいくというものになります。
0317NAME IS NULL
05/01/23 14:58:19ID:???極端な言い方をすると、データベースをインターネットに直結させるのは
故意にデータ漏洩させようとしてるようなもんだ。
仕様を考えた奴に文句言ってこい。
どうしようもないのなら、サーバネットワークユーティリティと
クライアントネットワークユーティリティで1433以外のポートを使うように設定すれば
ISPのポートブロッキングは回避できるはず。
その場合にもファイヤーウォールでアクセス可能なIPアドレスを絞り込んだほうがいい。
0318NAME IS NULL
05/01/23 23:34:34ID:???SQLserver認証に使うログイン名とパスワードは何処で作成出来るのでしょうか?
コンピュータの管理→ローカルユーザーとグループから作成したユーザーを
adminにしたのですが他に何か必要でしょうか?
そのユーザーでログインしても関連付けられていないと怒られてしまいます。
0319NAME IS NULL
05/01/24 02:34:08ID:???select name from master..syslogins の結果を晒してみて
0320NAME IS NULL
05/01/31 22:46:22ID:w5VceGKxSQL Server(WEB_server)SP3*2台でリプリケーション(パブリケーションの種類はトランザクション)を
はっているんですがリプリケーション作成で自動に作成されるDBの容量が5ギガも食ってシステムドライブを
圧迫してしまうんですが何が原因なんでしょか・・・orz
0321NAME IS NULL
05/01/31 23:48:40ID:???レプリケートされたデータをずっと残すような設定にしてるとか?
どれくらい残しておくかって設定があった気がするけど、何だっけ...
0322320
05/02/01 00:59:37ID:???回答ありがとうございます。
レプリケーションはる際は基本的にデフォルトで行いました。
レプリケートはった後にやはりログの圧縮等行った方がいいのですかね・・
0323NAME IS NULL
05/02/01 01:31:49ID:45tpBUnc0324NAME IS NULL
05/02/01 01:52:40ID:???0325NAME IS NULL
05/02/03 01:20:58ID:???0326325
05/02/03 04:29:45ID:???0327NAME IS NULL
05/02/03 22:11:04ID:???0328NAME IS NULL
05/02/04 00:14:04ID:???既に「SQL Server 2000 Reporting Services」にそういうこと言ってる人いますよw
0329NAME IS NULL
05/02/04 01:48:50ID:6b5hasz00330NAME IS NULL
05/02/04 01:52:08ID:???0331NAME IS NULL
05/02/04 02:07:37ID:???あるよ。
そんなくだらないことより、文字を影付きでSELECTできないので困ってます。
誰か助けてくだちい。
0332NAME IS NULL
05/02/04 22:21:01ID:???sp_who activeとかじゃダメだっけ?
0333NAME IS NULL
05/02/04 22:22:28ID:???ちゃんとディスプレイに蛍光灯の明かり当ててる?
0334NAME IS NULL
05/02/05 00:46:39ID:???xmlだったら FOR XML FONT:SHADOW
0335NAME IS NULL
05/02/07 19:11:43ID:???USE master
EXEC sp_addlogin '2ch_user', '2ch_password', '2ch'
USE 2ch
EXEC sp_adduser '2ch_user'
USE 2ch
GRANT SELECT, INSERT, UPDATE, DELETE
ON 2ch
TO 2ch_user
最後の GRANT 文なのですが、 2ch データベース上の全ての
オブジェクトに対して、権限を与えたいのですが、
2ch.* のような指定はできないのでしょうか?
(全てのテーブルやビューを列挙する必要がある?)
新規作成したユーザーに一括で権限を与える方法がありましたら
方法を教えて頂けると助かります。よろしくお願いします。
0336NAME IS NULL
05/02/07 22:49:46ID:???0337NAME IS NULL
05/02/08 22:50:20ID:???Create Function hoge(@str VarChar(8000))
Returns VarChar(8000)
Begin
Declare @buf VarChar(8000)
Exec 拡張ストアード @buf, @str
Return @buf
End
こんな関数をつくりまして、拡張ストアードは
第二引数の半角カナを全角にした文字列を第一引数に
格納してやる関数です
それで
Select hoge('abc'), hoge('def')
というクエリを発行したところ、
abc def
返ってこなければならないのに、なぜか
abc abc
と返ってきてしまいました。
どうも、関数内の@bufが単一のトランザクションだと
そのトランザクション内で永続(Cのstatic変数みたいに)
してしまうのが原因のようなんですが、対策はありますか?
カナ変換はどうしても、関数形式で行いたいのですが・・・
0338NAME IS NULL
05/02/12 20:18:29ID:caNESZXyを作成しています。
SQLサーバにあるテーブルのdatetime型の列をSQLで
whereで条件指定するのに、どのようにSQLを書けばよいの
でしょうか?
where date_field > convert(datetime, '2005/02/12')
ではうまくいかないようなのですが。。。
(SQLServer2000 + Access2000 です)
0339NAME IS NULL
05/02/12 21:22:18ID:???0340NAME IS NULL
05/02/12 22:43:37ID:???where date_field > #2005/02/12#
0341NAME IS NULL
05/02/14 13:33:08ID:cbuJYR/o先週あたりから、DBが壊れた(?)状態になっています。
エンタープライズマネージャーでDBをみてみると、
一箇所だけ、読み込み中\未確認(だったと思う)になっていました。
お客様のPCなので、離れていてどうしようもないのですが、
対処方法となぜそうなったのか原因を教えていただけますでしょうか?
よろしくお願いいたします。
0342NAME IS NULL
05/02/14 16:39:43ID:dNOSGJui解説書とか順序よく説明してあってわかりやすい。
まるで中身のない解説本を必死で調べてた俺がバカみたい。
圧倒的に効率がいいよ。
早く気づけばよかった。
そんなけ。
0343NAME IS NULL
05/02/14 17:31:26ID:???0344NAME IS NULL
05/02/14 19:14:52ID:INoI1MeNどんな方法があるでしょうか?
OS:Windows2000Server
0345NAME IS NULL
05/02/14 21:29:23ID:???ファイルそのままコピー。
SQLServerならVeritusやArcServeでサービス落とさなくてもそのままバックアップ取れるけど、MSDEはどうなんだろ?
0346NAME IS NULL
05/02/14 22:58:08ID:???SQLAgentでbackup databaseすれば十分じゃね?
>>341
ディスクコントローラが死んだ時なんかでDBのファイルが完全に見えなくなるとそうなると思った
0347344
05/02/14 23:35:35ID:INoI1MeN指定したデータベースのフルバックアップを毎日決まった時間に取りたいのですが
その時バックアップしてできるファイル名に日付を入れたいのです。
例えば BK20050214.dat のように
指定したフォルダに日付の違うファイルを蓄積したいのです。
これを実現するのに SQLAgentというという方法でも可能でしょうか?
また他に何か良い方法はあるでしょうか?
SQLAgentについては自分でも調べてみます・・・
0348NAME IS NULL
05/02/15 00:31:13ID:???SQLAgentでもいいし、適当なスケジュールソフトからosql.exeを叩いてこんなSQLを実行すればいい
構文の詳細はBooksOnlineで調べられる。
backup database DBNAME to disk='c:\path\dumpfile.dmp' with init
日付の生成はgetdate()とconvert()なんかを組み合わせれば何とかなるでしょ。
0349NAME IS NULL
05/02/15 13:24:24ID:???うまくいきません。
以下の実行が失敗します。
BACKUP DATABASE [db名]
TO DISK = 'Z:\db.bak' WITH NOINIT,
NAME = 'full backup', NOSKIP
バックアップ先のZは、ネットワークドライブです。
Zではなくローカルディスクを指定すると、うまくいきます。
しかたがないので、一旦バックアップをローカル(例えばc:\xxx\)に保存して、
その後にバッチでネットワークドライブにcopyするジョブを組んだのですが、
これもうまくいかず。
copy c:\xxx\* Z:\
上記コマンドも、SQL Serverエージェントによるジョブ実行ではなく、
コマンドプロンプトから直接叩けば正常に実行できるのですが……。
なにか対策はあるのでしょうか。
0350NAME IS NULL
05/02/16 00:37:05ID:RxQsAWRN商用サイトだとPEAR使わない?
0351NAME IS NULL
05/02/16 00:52:30ID:???ttp://www.microsoft.com/japan/msdn/sqlserver/columns/agent/agent1.asp
あたりにSQL Serverエージェント用のアカウント割り当ての話があるけど、
今割り当てられているエージェント用アカウントがそのネットワークドライブへの
アクセス権限を持ってないのじゃないの?
0352NAME IS NULL
05/02/16 15:00:04ID:/s8eBzBZ動かないというのは、バグ?仕様?
0353NAME IS NULL
05/02/16 15:00:11ID:/s8eBzBZ動かないというのは、バグ?仕様?
0354NAME IS NULL
05/02/16 21:31:00ID:???0355NAME IS NULL
05/02/16 22:18:58ID:???ネットワークドライブにしないでUNCにすれば?
\\servername\sharename\path\filename みたいなやつ。
0356NAME IS NULL
05/02/16 23:01:30ID:???ネットワークドライブってのはログインしてなきゃ使えないのは知ってるよね?
0357341
05/02/21 14:06:07ID:JC4rlMQlお返事遅くなりました。
すみません。
ディスク上のファイルは見えていますので、
ディスクコントローラーは正常だと思われます。
本日、もう一度お客様の所に行って、
スクリーンショットやログを持ち帰ろうと思います。
かえってき次第、直ちに症状やログの詳細を細かく書かせていただきます。
0358NAME IS NULL
05/02/21 21:10:02ID:???MySQL や PostgreSQL みたいな感じの。
0359NAME IS NULL
05/02/21 22:01:10ID:???0360NAME IS NULL
05/02/21 22:02:11ID:???ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_la-lz_115x.asp
0361358
05/02/21 23:21:04ID:???ttp://www.postgresql.jp/document/pg801doc/html/functions-matching.html#FUNCTIONS-POSIX-REGEXP
みたいなのは、やっぱりできないのかな
0362NAME IS NULL
05/02/22 00:16:33ID:YP5YskFDSQLServerを使用して大規模な業務アプリケーションを構築する計画があります。
あるテーブルのサイジングの結果、稼動後数年後に数千万〜億件クラスの
テーブルになりそうな雰囲気です。
このテーブルは夜間バッチ処理でレコードが生成され、昼間オンラインによる
照会業務が発生します。
データベースの物理設計上の留意点をアドバイスいただけると助かります。
唐突ですいません。
0363NAME IS NULL
05/02/22 02:11:46ID:???2000はできない。2005は知らないけど、できそうな気もする
>>362
http://www.google.com/search?num=50&hl=ja&inlang=ja&newwindow=1&c2coff=1&q=+site%3Awww.microsoft.com+%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9+%E7%89%A9%E7%90%86%E8%A8%AD%E8%A8%88&lr=lang_ja
0365NAME IS NULL
05/02/23 14:47:29ID:BMRNKWo4INSERT時に、同時にそのとき振られた連番の数字の値を知ることは可能なのでしょうか?
Webで検索してみたら、Identityの連番は振りなおす方法があるようなので、
ということは、上記の質問の内容自体が馬鹿げた考えなんでしょうか?
0366NAME IS NULL
05/02/23 14:53:18ID:???0367365
05/02/23 16:26:16ID:???string sqlStr = "INSERT INTO names (name) VALUES (@name); "
+ "SELECT ID = SCOPE_IDENTITY() ";
<<略>>
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
id = int.Parse(dr["ID"].ToString());
conn.Close();
0368NAME IS NULL
05/02/24 12:51:05ID:???というのはマスタ系とトランザクション系の2つのDBを考え中で
トランザクションのバックアップがとりやすいかなぁって思ったんですがどうでしょ
0369NAME IS NULL
05/02/24 19:39:55ID:???0370NAME IS NULL
05/02/24 20:52:38ID:???バックアップがとりやすくなるかどうかも怪しいし、何より整合性が・・・
0371NAME IS NULL
05/02/24 21:15:33ID:???分けた方が別々にとらないかんからよけいめんどうじゃない?
0372368
05/02/24 23:49:58ID:???>>369 >ファイルグループ 調べてみます
>>370
>大規模システムなのか?
ぜんぜん小規模です。商品マスタの例ですと1万件程度です
トランザクションも1日400件程度です
>何より整合性が・・・
いわゆる伝票、納品書、請求書処理なんですが、整合性機能?は手動でやっています
>>371
>分けた方が別々にとらないかんからよけいめんどうじゃない?
バックアップ単位がDB単位だと思ったのでマスタは登録後の1回であとはトランザクションの
履歴バックアップをしようと思いましたがやはり面倒そうですね
0373NAME IS NULL
05/02/25 00:13:16ID:???http://japan.cnet.com/news/ent/story/0,2000047623,20080888,00.htm
0374NAME IS NULL
05/02/26 04:40:44ID:Wl/nL1puオープンソースのメリットなんかないだろ
0375NAME IS NULL
05/02/26 10:47:19ID:???IISインスト
SQLサーバーインスト&構築
で、設定終わってから気づいたのだけどインストしたドライブが
FATでフォーマットされていた。。。。
これはNTFSじゃないとマトモに稼動しないのかな。。。?
テーブル作成している最中ですが一応現段階で特に支障なさそうな感じです。
0376NAME IS NULL
05/02/26 11:00:01ID:???今すぐ変換しろよ。
0377375
05/02/26 14:00:35ID:???したけど2Kブートできなくなっちゃった。。。泣
ntoskrnl.exe見つからないそうです。。
ぐぐってくるか他板いって来ます。。。。。。
0378NAME IS NULL
05/02/26 14:52:37ID:???オープンソースにするとはどこにも書かれてないが。
シェアードソースプログラムは契約した顧客にだけにソースを見せてる。
それにSQLServerを含めるかもしれないと言ってるだけ。
0379NAME IS NULL
05/02/26 15:28:33ID:yssbHtOG米国での料金はEnterprise Editionがプロセッサ当たり2万4999ドル/サーバ当たり1万3499ドル、
Standard Editionはプロセッサ当たり5999ドル/サーバ当たり2799ドル、
Workgroup Editionはプロセッサ当たり3899ドル/サーバ当たり739ドル。
Express EditionはMicrosoft Data Engine(MSDE) for SQL Server 2000の後継となる製品で、SQL Server 2005データベースエンジンの無償バージョンとなる。
たけ〜よ
h ttp://headlines.yahoo.co.jp/hl?a=20050225-00000006-zdn_ep-sci
0380NAME IS NULL
05/02/26 17:58:17ID:???IBMのServerRAID-6M Ultra320っつーサーバでSQLServer2004 Enterprize Edition
で運用してるんだが、約1ヶ月ぐらいするとSQLServerが何故かサービス停止状態に
なるんだよね。Web(ASP.net)+上記DBサーバって感じ。
Serverの負荷は大体90%程度で安定しちゃってる。
Web自体のアクセス数自体は1日平均80万ぐらいと大したアクセス数じゃない。
トランザクションにしても10秒間に約5千Attachぐらいで、これも大した事はない。
だけど落ちる。停止状態から開始状態にしてもWebとの関係が切れてるからWebServer
も再起動しないといけない。この状態が約3ヶ月程続いてる。
客から落ちた時のクレームが余りに鬱陶しいんで改善したい。
業者も分からん分からんと・・・
どないせーと・・・
0381NAME IS NULL
05/02/26 18:43:25ID:???原因を分析するスキルのある人間が近くに居ないなら
ツールで解決するしかないんじゃないの。
NetIQが高負荷で落ちたSQLサーバやIISを自動的に再起動する
ソフト売ってるYO
0382NAME IS NULL
05/02/26 19:18:24ID:Iv5bpOEt0383NAME IS NULL
05/02/26 20:11:35ID:???SQLServer2004って何だよ
それはいいとして、これで直るかどうかわからんけど
MSに文句つけてhotfix出してもらったら?
http://support.microsoft.com/default.aspx?scid=kb;en-us;810185
SQL Server 2000 build 8.00.0996
891268 FIX: You receive a 17883 error message and SQL Server 2000 may stop responding to other requests when you perform large in-memory sort operations
891017 FIX: SQL Server 2000 may stop responding to other requests when you perform a large deallocation operation
891201 FIX: Performance is significantly reduced when you set trace flag 9134 to prevent error message 601 in SQL Server 2000
0384NAME IS NULL
05/02/27 00:01:31ID:???早速みてみよう。ありがとう。
>>383
ちっと契約でDB自体へのUPDATEが私では制限されるので、今一度その情報を
交えて業者に観て貰おうと思います。どうもありがとう。
0385NAME IS NULL
05/02/27 07:59:20ID:???定期的に落ちるのなら落ちる前に計画的に再起動させればいいんじゃないの?
NetIQの製品のことは知らないけど
落ちたサービスを自動再起動するくらいの機能はOS標準で持ってるぞ
SQLが死んだときにSQLの再起動と同時に
iisresetコマンドを実行するように設定すればさらにベターかな
0386380
05/02/27 09:39:04ID:???なるほど。確かにシステム的に絶対に落とせないっつー代物でもないので、
TOPPAGEにでも記載して計画的に再起動すると言う手もあるね。
但し、、、根本が解決しないと落ち着かないと言うのもある。
どうしても解決できない場合に考慮に入れてみようかなと。
ありがとう。
0387NAME IS NULL
05/02/28 00:44:27ID:???WinXP機では接続できるのに、WinMe機では接続できね〜。
何か特別な設定が必要なんだろうか・・・。
0388NAME IS NULL
05/02/28 10:50:52ID:???MeのMDACのバージョンがおかしいとか。
0389NAME IS NULL
05/02/28 12:42:47ID:???その場合、MeからMSDE機のIPC$を見る権限が無いと繋がらないよ。
0390NAME IS NULL
05/02/28 12:42:55ID:???復旧する場合EnterPriseマネージャからデータベースの復旧を選択すればバックアップした時点に
戻ると思うのですがOSとSQLServer2000から入れなおしたシステムに復元する場合は
システムデータベース(masterやmodel)のバックアップもとっておいて復元する必要は
あるのでしょうか?
0391NAME IS NULL
05/02/28 12:49:54ID:???.NETからIIS、SQLとセッティングしたのです。
その後、自分の端末のCドライブがFATということに気づき
前スレでFATのままでも大丈夫か?質問したのですが。。。
パーティーションコマンダーでNTFSに変換するとbootしなく
なりknoppixで他データ救出後、再インスト。
でもまたFATになってしまって(NTFSフォーマットはしてくれない)
それでまた聞きたいのですがクライアント側でもやはりNTFSじゃないと
だめですか?
FATで開発できてもリリースの際何か障害出るでしょうか?
0392391
05/02/28 19:08:35ID:???FAT32でも使えるらしいです。
0393NAME IS NULL
05/02/28 20:41:25ID:???NT系OS使うのにFAT使うのが馬鹿げてるってはなしだ。
0394NAME IS NULL
05/02/28 21:03:53ID:???0395NAME IS NULL
05/02/28 22:11:05ID:???0396387
05/03/01 00:30:16ID:???バージョンがおかしいというと、古いってことでしょうか?
うーん、一度入れ替えてみるかな。
>>389
TCP/IPで繋ごうとしてます。
CLICONFGでTCP/IPを優先して、ポート番号もあわせてるんだけどなぁ・・・
0397391
05/03/01 10:57:23ID:???富士通のPCなんだけど。
WIN2Kだから特に意識してなかった。NTFSが当たり前と思ってたから。
0398NAME IS NULL
05/03/01 18:25:49ID:5GDPCIsVsaのパスワード忘れちゃったんで、再インストールが必要になったのですが、
再インストール後にログインできません。
再インストールの順序としては
コンパネからMSDE削除
↓
ProgramFilesからMicrosoftSQLServerフォルダ削除
↓
レジストリからHLM\SOFTWARE\Microsoft\MSSQLServer以下削除
↓
インストール(setup.exe SECURITYMODE=SQL SAPWD="sa")
これでサービスからMSDE起動後に
コマンドプロンプトから"osql -Usa -Psa"とするのですが、
「ユーザー’sa’はログインできませんでした」と表示されます。
"osql -E"ならログインできるのですが、saを使いたいもので…
どなたか問題ご指摘して下さいませんか?OSはXPです。
0399NAME IS NULL
05/03/01 22:52:55ID:???Windows認証でログインできるならsysadminロールのメンバが既定のままなら
管理者権限でログインすればsaのパスワードは変更できたはずだけど
0400399
05/03/01 23:04:26ID:???再インストール自体はREINSTALL=All REINSTALLMODE=omusを最初のインストールオプションに加えればいいけど
最初のインストール時に指定したSAPWDが判らないんじゃな…。
インスタンス名を既定から変えるのは駄目かな?
0401NAME IS NULL
05/03/02 00:06:06ID:???0402NAME IS NULL
05/03/02 12:04:43ID:???>>401
問題解決しました!ホントありがとうございます!
0403NAME IS NULL
05/03/02 22:43:27ID:???超えましたとエラーが出ます。
何が原因ですか?
0404NAME IS NULL
05/03/03 11:34:59ID:???クライアントソフトを作った人に聞いてみたら?
0405NAME IS NULL
05/03/03 17:12:30ID:???持出されると中身見られちゃうのですがどのように対策すべきなのでしょうか?
0406NAME IS NULL
05/03/03 18:07:25ID:???ネットワークユーザーから見えない位置に配置する。アクセス権を設定する。
サーバーのオペレータを限定する。サーバールームへの出入りを制限する。
バックアップテープは金庫にしまう。ピンポイントで非常に大事なデータは
暗号化しておく。外注をあんまりいじめない・・などいっぱいありますね。
0407NAME IS NULL
05/03/03 19:26:57ID:???最後に「ウム」と大きく肯くのであった、マル。
0408NAME IS NULL
05/03/04 19:00:12ID:???プライマリーキーに varchar をふんだんに使っているのですが
SQL Server では、一般的なことなんでしょうか?
どうせ固定長しか入っていないので char でいいと思うし、
char の方が処理が早いと思うのですが。
しかも、入っているデータは 00123 などの数値型であらわせるデータのみ
なので数値型にしたほうが断然早いと思うのですが。
みなさんはどう思いますか?
なにか varchar だといいことあるんでしょうか?
わざわざ 1 を '00001' のようにして書き込んで '00001' で検索しないといけないし。
利点があまりないような気がするのですが。
0409NAME IS NULL
05/03/04 21:26:20ID:???0410NAME IS NULL
05/03/04 21:50:51ID:???することは普通だと思います。
varchar, char の処理効率や格納効率は処理系によって違うのですが、
SQLServerはどうなのかな。明らかに差が出るなら使い分けるべきだろうし
差がわずかならどうでもいいやだろうし。
ただ最近の言語の文字列型は可変長文字列だから、そのままvarcharを
多用する傾向にあるようです。
0411NAME IS NULL
05/03/05 11:17:09ID:???速度的に有利って本で読んだ希ガス。
変換によるタイムロスが少ないとか何とか。これウソ?
0412NAME IS NULL
05/03/05 13:27:06ID:???ANSIとUNICODEの変換が発生しても表引きでやってるでしょうから負荷は少ないのでは。
むしろロケールを意識した辞書順比較のほうに時間がかかってるように思います。
フィールドレベルで照合順序を制御できたらパフォーマンスがあがりそうですけどね。
テキスト検索でもない限りバイナリ比較で十分な気がします。
0413NAME IS NULL
05/03/05 14:39:16ID:???本当はコード変換が1回で済むようなクエリだったのに
レコードの数だけ変換するようなプランになってしまって
やたらとパフォーマンスが落ちたことがある
>>412
CREATE TABLEでカラムごとにCOLLATEを設定できる。
0414NAME IS NULL
05/03/05 15:28:02ID:???データベースのフルバックアップを取りたいのですが、
今は、デタッチ、実ファイルをコピー、アタッチという手順を踏んでいます。
上記の場合、SQL Server に接続しているユーザーが 一人でもあると
バックアップが取れません。
このあたり接続しているユーザーがいてもフルバックアップを取るなんて
事はできませんでしょうか?
また、将来的には、なんらかのプログラム(C#, VB.NET)から、
上記のようなフルバックアップを取りたいと思っています。
このあたりの実装に対してキーワードなどでも結構ですので
アドバイスを頂ければと思います。
よろしくお願いします。
0415NAME IS NULL
05/03/05 15:50:19ID:???エンタープライズマネージャかTransact-SQLのBACKUPコマンドで
オンラインのフルバックアップができます。
物理ファイル丸ごとコピーでのバックアップはあまりやりません。
0416NAME IS NULL
05/03/05 15:59:15ID:???なるほど、いろいろ混ぜて使ったら扱いが難しくなりそうですね。
計画的に使い分けるか、最大公約数の設定で一律に使うか悩みそう。
0417414
05/03/05 20:49:15ID:???ありがとうございます。BACKUP コマンドでバックアップが可能な事を
確認できました。
BACKUP は接続中のユーザーがいても可能で、
RESTORE は、接続中のユーザーがいる場合は不可
という事で間違いないでしょうか?
度々すみませんがよろしくお願いします。
0418NAME IS NULL
05/03/06 18:20:55ID:shHqu4v4"AAA"
"BBBBB"
"CCCC"
というような文字列の後ろは
"AAA "
"BBBBB"
"CCCC "
のように、一定の幅になるようにスペースで埋めたいのですが、
何か方法はありますでしょうか。
0419NAME IS NULL
05/03/06 18:32:02ID:???select LEFT('AA' + SPACE(10), 10)
0420NAME IS NULL
05/03/06 18:33:44ID:???0421NAME IS NULL
05/03/06 18:37:00ID:???おお!SPACEは知りませんでした。ありがとうございます。
0422NAME IS NULL
05/03/06 20:35:59ID:???0423NAME IS NULL
05/03/06 22:49:40ID:???列のデータ型をオーバーする時、どのように処理されるのでしょうか?
また、先頭へ戻って自動採番してくれるのでしょうか?
それともそうならないように、なんらかの対応を行なう必要があるのでしょうか?
0424NAME IS NULL
05/03/06 23:40:16ID:???DBCC CHECKIDENT ('tablename', NORESEED)
なりして調べるしかなさそう。
0425NAME IS NULL
05/03/07 00:01:46ID:???オーバーフローの心配をしたくないならbigintを使えば?
0426NAME IS NULL
05/03/08 10:30:34ID:???1 BACKUP は接続中のユーザーがいても可能で、
2 RESTORE は、接続中のユーザーがいる場合は不可
1に関してはどんな稼動状況でもうまくその時点のバックアップしてくれそうだけど
2についてはあきらかに接続ユーザに影響がでてくると思います
しかし、あれですバックアップは単純にユーザデータベースだけでいいのか素人的にすごく悩む
0427NAME IS NULL
05/03/08 12:13:13ID:???バックアップするときは、特別な理由が無い限りオンラインバックアップするべき。
ファイルコピー型のバックアップでは「障害直前の状態」に復旧することが出来ない。
バックアップと復旧の仕組みは少しややこしいから覚えるまでが大変なんだけどね。
RESTOREコマンドもGUIでの復旧も、接続ユーザが居る場合は不可。
だからシングルユーザモードで行う。
データベースのプロパティに[オプション]タブが有るから、そこでシングルユーザモードに
切り替えられる。
>>426
masterデータベースのバックアップは必須。
必須ではないけど、復旧にEnterpriseManagerを使う人は
msdbデータベースのバックアップがあると作業が楽になる。
tempdbのバックアップは不要。
0428NAME IS NULL
05/03/08 12:45:39ID:???メディア障害用のバックアップのほかにbcpなどでデータを保存することはある。
この手のリカバリならオンラインでもできるちゃできる。
だれだこんなシステム作ったやつはブツブツ・・
0429426
05/03/08 13:48:31ID:???バックアップとリストアにはEnterpriseManagerを使おうと思います
手順ですがバックアップ、リストア共に
master -> msdb -> user_dababase
の順序で操作したら間違いないでしょうか?
0430NAME IS NULL
05/03/08 13:56:59ID:???横から質問ですみません。
master, msdb などバックアップをせず、user_database のみバックアップ
がある状態で、user_database をリストする事はできないのでしょうか?
0431NAME IS NULL
05/03/08 15:29:02ID:???ユーザデータベースだけでも復旧できるよ。ただ、
masterに障害が発生するとアカウントやロールの情報が失われるから面倒なことになる。
msdbはバックアップの履歴を保持しているから、サーバ全体の障害時にmsdbとユーザデータベース
両方のバックアップが無事ならEnterpriseManagerから簡単に任意の時点への復旧ができる。
それとmsdbにはDTSやSQL Server Agentの設定など色々と保持されてる。
こんな感じのリスクや利点があるからmasterやmsdbのバックアップも行ったほうが良いよ。
0432NAME IS NULL
05/03/08 15:44:26ID:???それで良いけど、例えば「復旧モデル」なんていうことにも気を配らないといけないから
解説書を読んでおいた方がいいよ。
ここの「6.バックアップ編」
http://www.microsoft.com/japan/SQL/techinfo/selfstudy/Self_doc.asp
0433NAME IS NULL
05/03/08 19:20:43ID:???現在の復旧モデルは毎日完全バックアップでしたので非常に単純ですね
最新バックアップ+ログはいわゆる前進復帰って思って正しいでしょうか
ここで疑問に思ったのですが、完全バックアップをとったものが常に最新とはかぎらないですよね??
というのはトランザクションログが適用されていないない場合もあるのかな?って思ったからです
0434NAME IS NULL
05/03/08 19:50:25ID:???前進復帰で正しい。ロールフォワードってやつね。
「トランザクションログが未だmdfファイルに反映されていない状態」の
オンラインバックアップが心配ってこと?
確かにそういう状態でバックアップを開始してしまうこともあるだろうけど、
「バックアップが完了する直前」に「その時点で最新のトランザクションログ」を
バックアップに反映してくれる。反映したらバックアップが完了する。
だからあまり心配要らないと思うよ。
質問を勘違いしてたらスマソ
0436NAME IS NULL
05/03/09 14:46:36ID:iwoaD9MAリカバリ直前にログのバックアップを取っていなかったために、
前日のログバックアップ時点までしか復旧できませんでした。
リカバリ直前のLDFログファイルは保存しているのですが、
これから当日分までの復旧をする方法はありませんか。
0437NAME IS NULL
05/03/09 16:37:40ID:???保持していると仮定しての話だけど、
SQLサーバのサービスを停止
ldfファイルを上書き
SQLサーバを起動 (この部分でロールフォワード?)
この順序でロールフォワードしてくれるんじゃないかと思う。
自信がない。ウソ言ってるかもしれんから試すなら気を付けて。
0438NAME IS NULL
05/03/09 17:37:10ID:???ログ ファイル 'xxx.LDF' がプライマリ ファイルと一致しません。
別のデータベースのログか、以前に再構築されている可能性があります。
0439437
05/03/09 18:06:59ID:???残念ですた。他の方法を思いついた。
まず RESTORE DATABASE DB名 WITH NORECOVERY を実行
そして >>437の作業を実行
エラー無しで起動出来たら RESTORE DATABASE DB名 WITH RECOVERY を実行
これも勘でしかないから気を付けて。復旧の偉い人が降臨してくれたら良いんだけどね。
0440NAME IS NULL
05/03/09 22:02:23ID:1ImZYU2Tこれをリストアしようと
mysql -uuser -ppass db < dumpfile.dmp
したのですが、TEXTフィールドで改行が入った文字列が上手く入りません。
dumpfile.dmpを見ると「3月4日\r\n私から\r\n田中さんへ\r\n」のように改行はエスケープされています。
しかしこれをインポートしてみると「3月4日\r<改行>私から<改行>田中さんへ\r<改行>のように所々「\r」が
残ってしまいます。
MySQLのバージョンは4.0.20-logです。
よろしくお願いします。
0441NAME IS NULL
05/03/09 22:05:08ID:???スレタイトル見直してみ
0442NAME IS NULL
05/03/09 22:14:05ID:???おお!大歩危かましました。失礼
0443NAME IS NULL
05/03/10 08:24:26ID:MNpv5jzhhttp://www.atmarkit.co.jp/fwin2k/insiderseye/20050309sql/sql.html
SQL Serve 2005では、Standard Editionで
2ノードフェールオーバクラスタをサポート
そして価格は、
サーバライセンス29万3000円
CPUライセンス62万9000円
DBのクラスタリングを実現するために
クソ高いEnterpise Editionを購入してた人にとっては、
すさまじいディスカウントじゃない?
0444システムあねご ◆AJ5mpDlzVg
05/03/10 14:06:46ID:2o+eBERuWIndows2000 server SQL6.50を使用しています。
今朝クライアントから接続できない旨連絡を受け、サーバで確認してみると
server enterprise manager上では青信号の表示なのに、右クリック→
環境設定をクリックすると「接続が確立できませんhogeー[DB-Library]接続できません。SQL Serverが
利用できないか、存在しません。指定されたSQL Serverが見つかりません」と表示されて
接続できません。
変化点は2−3日前にuserconnection数を15から50に変更したのみ。
(変更から今日の朝までは問題なく稼動していた)
イベントビューワにもエラーがなく、またサービスもMSSQLとSQLserverは起動しているようです。
なにかご存知の方、何でも結構ですので情報を・・・お願いします。
0445システムあねご ◆AJ5mpDlzVg
05/03/10 14:14:24ID:2o+eBERuMSSQL質問スレが見当たらなかったので質問してみたのですが・・・
すれ違いだったらごめんなさい。ちょっと追い詰められてたりします。
ウウ。
0446NAME IS NULL
05/03/10 14:29:33ID:???原因はどうしようもないケアレスミスなんだろうと思う
とりあえずSQL Serverのエラーログも見てみたら?
0447システムあねご ◆AJ5mpDlzVg
05/03/10 14:48:46ID:2o+eBERuエラーログは見たのですが、障害復旧?だか回復?は書いてあるのですが
エラーっぽい内容がないんです・・・
でもありがとうございます、もう一度全ログ確認してみます。
0448システムあねご ◆P2bEA4mHeU
05/03/11 03:13:40ID:+hn9C0uAとりあえず結局復旧は無理でした・・・
今入れなおし中・・・(´・ω・`) ショボーン
0449NAME IS NULL
05/03/11 09:51:30ID:???他のクライアントではどうなのかなど、問題の切り分けをしていった方がいいんじゃないか?
そんな問題じゃないのか…。
0450NAME IS NULL
05/03/11 13:10:47ID:???確かMSのサポートも終わってますね
>>444
>変化点は2−3日前にuserconnection数を15から50に変更したのみ。
うる覚えなんですが、SQLServer65のライセンス形態に依存したような気が
同時接続かクライアントにライセンス持たせるだかかな?
で、同時接続の場合に接続数増やした時はNTのライセンス管理でSQLServerのライセンス数も増やさないと
そんなエラーが出た気がします
ちょっと情報が少ないのでなんともいえないんですけど
書き込みの内容から勝手に推測
クライアントの接続エラーメッセージがSQLServerから何返ってくるか(もしくは返ってこない)によるんですが、
サーバ側の接続プロトコル指定の設定とか(名前付きパルプとかTCPとかね)
認証方法の設定とか(Win認証かSQLServer認証の依存とか)
あとは、ログが一杯になると接続エラー起こしましたね
もう解決していると良いんですが
449さんが書いてるように
切り分けして情報くれるともう少しわかるかも
0451436
05/03/12 09:37:12ID:???何度も回答ありがとうございました。
かなり裏技っぽい手順で復旧できましたのでご報告まで。
前日のログまでで復元。サービスを停止して、mdfを削除、ldfを当日ので上書き。
サービス起動して、mdfなしの障害状態でログをバックアップ。
もう一度リストア、当日分のログを含めてリカバリ。
0452NAME IS NULL
05/03/12 15:37:55ID:???手順が複雑で一見裏技っぽく思えるけど理に適ってますね。
0453NAME IS NULL
05/03/12 18:40:40ID:???0454NAME IS NULL
05/03/14 20:33:48ID:???0455NAME IS NULL
05/03/15 01:23:13ID:???0456NAME IS NULL
05/03/15 16:22:54ID:ECAwlR0eサーバーが立ち上がらなくなり、OS再インストールを行う
ことになりました。
手元には保守計画で設定していたユーザーデータベースの
バックアップ「のみ」があります。
残念ながらmasterなどのバックアップはなく、壊れたマシンか
らファイルを助けることも出来ません。
この状態でOS再インストール後復元は可能でしょうか?
手元に物がなく、サーバーがある現地でいきあたりばったりで
復旧作業を行うことになってしまうので
何かアドバイスがあれば教えてください。
0457NAME IS NULL
05/03/15 18:52:56ID:???バックアップ履歴が失われてるからディバイスからの復元になるのかな。
手動で順番にリストア、リカバリする必要があります。
あとアカウント情報も失われてますからsa以外アクセスできない
状態になってるはずです。
0458456
05/03/16 09:07:56ID:/jDXci8u>アカウント情報も失われてますからsa以外アクセスできない
確かにそうですね。アドバイスありがとうございます。
では復旧に行って来ます!
0459NAME IS NULL
05/03/16 11:07:39ID:???既存DBの、名前を変えた複製を同一サーバ上に作りたいのですがどうすればよいでしょうか。
バックアップファイルを別名DBへ復元しようとしてみたのですがバックアップファイル中に物理ファイル名等
埋め込まれているのか元のDBへ上書きされてしまいます。
0460NAME IS NULL
05/03/16 11:49:43ID:cr/mDKY60461NAME IS NULL
05/03/16 12:25:02ID:???○ 教示
0462NAME IS NULL
05/03/16 14:51:34ID:???0463459
05/03/16 16:35:06ID:???無事複製を作ることができました。
0464NAME IS NULL
05/03/16 18:07:50ID:???口頭で話す場合は享受と紛らわしいから教示を使うことが多いが文章なら問題ない。
0465NAME IS NULL
05/03/16 18:35:34ID:???0466NAME IS NULL
05/03/17 00:57:40ID:???Winodws認証を使ってればsp_grantloginだけで
sysusersはそのままでもアクセスできるようになるはず
0467NAME IS NULL
05/03/17 01:22:10ID:???俺も2chでなら問題ないと思うけど、他の場所では文語として用いるとしても使い分けたほうが無難。
0468NAME IS NULL
05/03/17 01:44:31ID:???本気で教授でも問題ないって思ってる人なんているわけないじゃないか。
0469NAME IS NULL
05/03/17 09:59:07ID:???0470NAME IS NULL
05/03/17 13:31:00ID:???領域が追加されるだけで2重化ではないようです。
あとバックアップテープ装置を2つ付けてバックアップも2重にしたいのですが
可能でしょうか。どなたかご享受くださいませ。
0471NAME IS NULL
05/03/17 14:54:50ID:PRcU9wby0472てんてんだいだい
05/03/17 15:10:04ID:XPjKNNuo初心者なのですが、、教えてほしいのです、、
セキュリティをちゃんとしてなかったのでSQLServerにユーザー"sa"は
ログインできませんでしたとなり正常に起動しません。
MSのホームページで英語で回避の文章があったのですが、、、
わかりません?TCP/IP1433をつなげなくするウィルスが蔓延しているのは
後で知りました。
こんな初心者に助け舟を出してください。お願いします。
0473NAME IS NULL
05/03/17 15:52:21ID:???入れたら原因を追及しる。
0474てんてんだいだい
05/03/17 16:09:12ID:XPjKNNuoいいですか?ご面倒ですが、、手順を教えてください。
0475NAME IS NULL
05/03/17 17:01:46ID:???ローカルのAdministratorsグループのメンバでWindowsにログイン。例: Administrator
EnterpriseManagerを起動する。
繋ぎたいサーバのアイコンを右クリックし[SQL Server 登録プロパティの編集]をクリック
[Windows 認証を使用]をチェックして[OK]をクリック
正常に繋がったら必要なデータをバックアップし、原因の特定を頑張るなり
ゼロから安全な環境を整え直すなり頑張る。
0476NAME IS NULL
05/03/17 17:58:21ID:WuWrTJGu仕事場のパソコンでデータベースをVB.NETで作成していて
それを家で作業しようと思い仕事場で作成した、「Microsoft SQL Serve」−「MSSQL」-「data」フォルダの中の
***.mdfファイルを家パソコンの同じ場所にコピーしたのですが、「接続できませんですた。」とエラーメッセージがでてしまいます。
なにがおかしいのでしょうか?
0477NAME IS NULL
05/03/17 19:01:02ID:???矜持しよう(笑)
家のパソコンにMSSQLServerはインストールしてますか?
mdfとmdlを持ってきてアタッチすればまずは動くはず。
0478NAME IS NULL
05/03/17 19:44:43ID:WuWrTJGumdfわすれてしまいました
ありがとうございました
0479NAME IS NULL
05/03/17 21:13:41ID:???0480& ◆R7PNoCmXUc
05/03/17 21:56:30ID:???0481NAME IS NULL
05/03/17 23:33:34ID:???0482NAME IS NULL
05/03/18 02:55:18ID:???0483NAME IS NULL
05/03/18 08:31:35ID:???0484NAME IS NULL
05/03/19 14:03:05ID:79P+2FsJMSDE2000+ACCESS2000です。
開発マシンでのテストでは全く問題ないのですが
別のマシンで同じプログラム(ADE)を配布して
動作させると、パラメータ付きストアドをソースにした
レポートの内容が全て”#Name?”のエラーとなります。
各クライアントで再コンパイルなどの必要があるのですか?
尚OS,AccessおよびMDACのバージョンは同じです。
0485NAME IS NULL
05/03/19 17:38:20ID:???SQL SERVERの問題じゃなくてACCESSの問題じゃない?
例えば、参照設定がおかしくて配布先に存在しないActiveXオブジェクトを呼び出そうとしてるとか。
0486484
05/03/20 00:25:36ID:4DI2tNZZありがとうございます。
よ〜く考えるとMS-SQLのクライアント接続ツールを
何にもインストールしていませんでした。
レポート以外ADO接続だったので、気付きませんでした。
0487NAME IS NULL
2005/03/30(水) 09:36:35ID:ugiFChJBWindows認証のODBC経由でアクセスしようとするのですが
失敗指定してしまいます。 ユーザはちゃんと作成し、NTから2003の
共有フォルダ等はみえるのですが。
NTから2003への場合何か問題があるのでしょうか?
0488NAME IS NULL
2005/03/30(水) 10:28:09ID:gIuAaJ+k他の端末からは接続できるんですか?
0489NAME IS NULL
2005/03/30(水) 10:43:05ID:???そのNTには SQL Server 2000 対応のMDACがインスコされてる?
MDAC 2.6 以上のバージョンがインスコされてないと繋がらないよ。
0490487
2005/03/30(水) 10:47:12ID:ugiFChJBMDAC のバージョンですね。確認してみます。
ありがとうございました。 報告はノチほど。
0491487
2005/03/30(水) 13:04:01ID:ugiFChJBお世話がせしました。 ありがとうございました
0492NAME IS NULL
2005/03/30(水) 18:19:02ID:???SQL Server に同期させようとしています。
似たようなことをしていらっしゃる方がいれば
どのような手法を使っているのか参考に
お聞かせ頂けませんでしょうか。
(1) リンクサーバ(IBM製 iSeries OLE DB Provider)
→ 試してみましたが信じられないぐらいパフォーマンスが悪いです。
(2) レプリケーション( iSeries ODBC Driver )
→ Books Online によると異種サブスクライバへのレプリカは可能だが
異種DBをパブリッシャとするプル・サブスクリプションは不可能?
(3) DTS ( ODBC 経由でホストDBを直叩き→ SQL Server へ変換)
→ リアルタイムでは同期できない。
ホスト側のスキーマオブジェクトが多く,DB構造が結構頻繁に
変わるので,そのたびにDTSパッケージを作り直すのが面倒。
(4) FTP転送してBCP
→同上。更に中間ファイルと運用手間が増えそう。
ご助言いただきたくよろしくお願いします。
0493NAME IS NULL
2005/03/30(水) 20:14:08ID:???DB2使ってるんなら
http://www.climb.co.jp/soft/hitsw/products/index.html#02
これでいけるんじゃないですかね。
評価版もあるみたいだし試してみては。
0494NAME IS NULL
2005/03/31(木) 15:22:40ID:8EjOxO2M0495NAME IS NULL
2005/03/31(木) 15:36:51ID:???こういうこと?
ttp://www.kakaku.com/sku/price/371003.htm
0496494
2005/03/31(木) 16:09:52ID:8EjOxO2MこれでOKです。
価格.COM の存在忘れてました・・・
0497492
皇紀2665/04/01(金) 18:01:16ID:???ありがとうございます。英語版しか無いようで
ちと敷居が高そうなのと予算的にも厳しいです…
できれば標準機能で実現したいのですが
難しいでしょうか。
0498NAME IS NULL
皇紀2665/04/01(金) 21:59:19ID:???AS/400とMSSQLを両方使ってる人でないと答えられんから皆答えようが無いんじゃないですかね。
PASSJのメーリングリストとかで聞いてみてはどうでしょう。
0499NAME IS NULL
2005/04/12(火) 18:25:38ID:???とりあえず一括削除してもいいデータだったので
DELETE FROM [テーブル名]
と単純にSQL打ったのですが、タイムアウトしてしまい作業できません。
そこでWHERE で条件指定して範囲を狭めたのですが。。。それでも削除できません。
もっと条件を狭めてやっと削除できたのですが、削除する条件として
テーブル内データ量とDBにアクセスしている時間の関係を知りたいので
分かる方いたら教えてください。
ちなみに削除しようとしたテーブルの件数は9万件位ありました。
0500NAME IS NULL
2005/04/12(火) 19:44:08ID:???データ量がこれだけあるから、アクセスするのに何分かかる、ってのは
一概には言えない。サーバーの性能にもよるし。
SQLは、どこから投げたの?
クエリアナライザなら、オプション設定でクエリタイムアウトの指定ができる。
デフォルトではタイムアウトしないはず。
VB とかで、ADO 経由で投げたのなら、ADO の CommandTimeout で
クエリタイムアウトの指定ができる。
ところで、一括削除なら、TRUNCATE TABLE [テーブル名] を使えば
あっという間に終わるけど。DELETE を使う(使わなければならない)理由が
あるの?
0501NAME IS NULL
2005/04/12(火) 20:17:27ID:???トリガか外部キーが設定されてるんじゃないの?
結局は場合によりけりだけど、9万件の整合性チェックはそれなりに重いだろう
>>500
外部キーが設定されてるとTRUNCATE不可。
0502499
2005/04/12(火) 21:15:37ID:???>>501
エンタープライズマネージャーでテーブルの中身確認しながら直にSQL打ってた。
本来、HOSTで作成されたマスターをFTPで受け渡ししてたもので
一ヶ月分だけSQLサーバーに持つようにしてたらしい。
そのデータは取引先の検収明細。Webで取引先が取得する様にしてる。
だから自分もテーブルの中身は当月分の内容だけだと思ってた。
ところが先月、月次締め処理の段階で500件以上行かなくなって「?」と思い
調べたら2002年からずっと累積されてて、さらにLOGもアフォみたいに
溜まってた。
どうせ当月分転送したのだけあればいいだけだからサーバー内の検収データを
一括で消そうと思ったのですよ。
削除で頭いっぱいになっちゃったんで外部キーも見てなかった。。
あとでER図と一緒にテーブルの設定みてみます。
まだそんなにSQL詳しくないから、担当らしい担当もいないので自分が
手を出すしかなくて。普段オレcobolerだし(w
かえって人の意見聞くことで自分の勉強になるからいいんだけど。
意見参考になりました。ありがとうです。
ちなみにサーバーはOS:NTでメモリ1G積んでます。
0503helihop
2005/04/13(水) 02:18:57ID:xoCSgt7x負荷が非常に高くなるときの対処方法は、あるのでしょうか?
もちろん、Serverの負荷になる処理をやめるのでしょうが
一般的には、外部バックアップソフトを利用するなど
どのような方法が、効果的?一般的なのでしょうか?
また、経験的に
このような方法で、データベースのバックアップ負荷が
サーバの負荷になりにくいように対策があれば
教えてください。
宜しくお願いします。
0504NAME IS NULL
2005/04/13(水) 09:25:33ID:???もろもろの事情で設定書等も見当たらなくて困ってます。
クエリアナライザにログインするパスワードを調べる方法はないですか?
0505NAME IS NULL
2005/04/13(水) 09:48:28ID:???truncate table はログ吐かないから(だから一瞬なんですけど)
バックアップ取ってからのほうがいいですよ
ログも一杯みたいだし、保険ってことで
>>503
データ量やシステムの規模、運用によって対処方法が違うと思います
その辺り詳しく
>>504
サーバ行って直接adminで入って
パスワードを新しく替えるしか無いのでは?
0506499
2005/04/13(水) 10:19:18ID:???もちろんバックアップとってからDELETE実行しました。
で、みんなの意見聞いていろいろ調べたら
TRUNCATE TABLE はロールバックできないみたいなので
後で必要なところが出てくる場合はDELETEで実行のほうがよさそうですね。
ただ今回の自分の場合は確実に入らないものだったので。
みなさん、ご意見ありがとうです。(*^-^)ノ
0507499
2005/04/13(水) 10:23:54ID:???研修テキストにも入ってなかった。
ググった結果とSQL参考文献を書店立ち読み(セコイナ...オレ)で調べました。
なんにしてもみんなのヒントのおかげです。
0508NAME IS NULL
2005/04/13(水) 10:52:29ID:???データベース名、ファイル名、場所に関してですが、
このうちファイル名というのはどこかで使われるのでしょうか?
例えばデータベース名 exdb として、ファイル名 aaaa, 場所
ccc_Data のように、設定できると思います。このファイル名が何を
あらわしているのかがわかりません。
どうしてこんな質問をしているかというと、存在するデータベースEXDB1 を
バックアップしてデータベースEXDB2 としてリストアした場合、
EXDB2 の物理ファイル名は EXDB2_Data とできるのですが
ファイル名に該当する部分が EXDB1 のままです。このままでも
問題ないのか、もしくはファイル名を EXDB2 に変更したいのですが
その変更の方法がわかりません。
よろしくお願いします。
0509NAME IS NULL
2005/04/13(水) 11:13:00ID:???別にファイル名はなんでも良いので、そのままでも問題ないけど。
変更したければ、以下の手順かなぁ。
1) クエリアナライザ or osql で
use msdb
go
sp_detach_db EXDB2
2) エクスプローラ等で、データベースファイル名、ログファイル名を変更
3) クエリアナライザ or osql で
use msdb
go
sp_attach_db EXDB2, '新しいデータベースファイル名', '新しいログファイル名'
新しいファイル名は、フルパスで指定すること。
0510NAME IS NULL
2005/04/13(水) 11:15:56ID:???> ちなみに自分が行った外部研修ではTRUNCATE TABLEはなかった。
> 研修テキストにも入ってなかった。
正規のSQLと違って
SqlServerの管理用のコマンドみたいなものだから
やらなかったんじゃないですかね〜
>>508
> データベースを新規作成する時に決める、
> データベース名、ファイル名、場所に関してですが、
> このうちファイル名というのはどこかで使われるのでしょうか?
場所はディレクトリ、ファイル名は物理ファイル名
つまり場所+ファイル名=ファイルのフルパス
(データファイルとログファイルの拡張子とかはとりあえず別として)
さっき試したけど君の書いている例の状態にならないんだが、
SQLServerのバージョンと細かいプロセスがわかる?
あとついでなんで、sp_helpfileとsp_helpdeviceの結果も答えられる範囲でよいので
でもそのままでなんか問題があるのか??
0511NAME IS NULL
2005/04/13(水) 11:18:51ID:mOYD1W1Wあ、それで出来ちゃうんだ
しらなんだ
0513http:// pool-68-161-26-103.ny325.east.verizon.net/~ss.jpg
2005/04/13(水) 11:24:53ID:???うはっwwwおkwww??
0514499
2005/04/13(水) 12:17:00ID:???管理用?そうなの??
うーん、この辺りもう一度学習し直すか。。。日々精進。。。。
あと削除関連ではDROPなんてコマンドもありますね。
ちなみに昨日の削除した検収テーブルは外部keyもってました。
そうだ、削除しまくってたからまたLOGが溜まっているはずだ。
切り離し作業せねば。。。
0515NAME IS NULL
2005/04/13(水) 13:17:30ID:???君は触らないほうが良いよ
基本的なことだけで良いからRDBMSとSQLを学習してからのほうが廻りも君も幸せになれるよ。
今のままだと廻りも君も不幸になるのは確実だね
0516499
2005/04/13(水) 13:37:00ID:???君になんと言われようがやる人間いないのでね。
だから勉強してるんだよ。
それとここは幸福論や精神論語るスレじゃないから。
0517NAME IS NULL
2005/04/13(水) 14:02:27ID:???dropじゃテーブル消えちまうよ
ログも残らない
制約取ってからデータ消すと
あとで制約貼りなおしたときに不整合起こす危険があるから気をつけて
0518499
2005/04/13(水) 14:52:18ID:???という意味で書いただけだったんだけど。
どの道、ロールバックできるのはDELETEだけだし。
今回は特殊な場合だったから。
兎にも角にも皆さんお世話様でした。意見指摘大事にします。
ありがとうでした。
0519NAME IS NULL
2005/04/13(水) 16:08:39ID:rPnRjdLpFailover中はSQLのサービスが止まってしまいますが、それまで接続していたユーザの
トランザクションは再開した後どうなるのでしょうか?
0520NAME IS NULL
2005/04/13(水) 18:14:30ID:???切れてロールバックされている。アプリケーションで再接続と再処理が必要。
0521519
2005/04/13(水) 19:17:15ID:dWJHcVGmあぁ、やはりそうですか。ありがとうございました。
0522NAME IS NULL
2005/04/13(水) 21:29:53ID:???まずBooksOnlineで調べような
0523NAME IS NULL
2005/04/14(木) 10:50:29ID:QCGB6IU80524NAME IS NULL
2005/04/14(木) 11:09:44ID:???バージョンとエディションによって違う
あと、クライアントライセンスなのかプロセッサなのかとかもあります
結構変動もあります
とりあえず、SQLServer2000のパッケージ市場価格を見たかったら
価格.comで見れるよ
0525NAME IS NULL
2005/04/14(木) 14:38:31ID:???フィールドの型にユーザー定義データ型を使う事ができないのですが、
これは何かの方法で使えるようになりますか?
現在 UDT_Code というユーザー定義データ型がある時、
##_workTable_ とうテーブルのフィールドに UDT_Code のように
データ型を設定できずに途方にくれています。
アドバイスのほどよろしくお願いします。
0526kazu
2005/04/14(木) 15:40:27ID:vPYBDT4IASP上でODBCを利用して、MSSQLsvrに接続したいのですが出来ません。
命令文の例などありましたら、教えてください。
0527NAME IS NULL
2005/04/14(木) 16:06:10ID:2CK0JihXASPってActiveServerPageのこと?
0528kazu
2005/04/14(木) 16:09:52ID:vPYBDT4IASPってActiveServerPageのことです。
0529NAME IS NULL
2005/04/14(木) 16:12:39ID:2CK0JihXttp://www.geocities.co.jp/SiliconValley/1716/SQL.html
ここに丁寧に書いてるから参考にしたまえ
ちなみにその前にODBCからSQLServerに繋がっていることを確認すること
0530NAME IS NULL
2005/04/14(木) 17:16:00ID:???0531kazu
2005/04/14(木) 17:35:06ID:vPYBDT4IOKです。出来ました。ありがとうございます。
0532NAME IS NULL
2005/04/14(木) 19:47:38ID:???tempdbにも同じユーザー定義データ型を作成しておく。
0533NAME IS NULL
2005/04/18(月) 11:48:08ID:???Select * FROM テーブル Where Charのカラム=1234
みたいなクォーテーションマーク無しだとエラーで落ちるような…
ご存知の方いらっしゃいましたら、お願いします。
0534NAME IS NULL
2005/04/18(月) 12:09:50ID:7653fSPwSQLスクリプト生成で、説明がコメントで出力されないけど、
これは仕方がないのでしょうか
0535NAME IS NULL
2005/04/18(月) 13:05:33ID:???SQL拡張プロパティーも出力する、みたいなオプションチェックした?
0536NAME IS NULL
2005/04/18(月) 14:13:47ID:???0537SQL厨
2005/04/18(月) 16:21:29ID:???Sql2000で構成されているパッケージソフトを立上中なんス。
で、レプリカしろーって言われて調べたんですが、
そのパッケージはBinaryありのnvarchar 8000桁ってのもありで、
リアルにレプリケーションできないって言われちゃったんス。
実現できる手立ては無いでしょうか。。。。
もう他の案件もありで、2徹の状態で死にそうなのでどなたかご教授下さい。。。
0538NAME IS NULL
2005/04/20(水) 15:02:32ID:???あるデータベース (EMDB) に全権限を持たせたユーザーを作りたいと
思っています。権限はデータベースロール内の権限で db_owner を与えれば
よいのかと思っています。
そこで、EnterpriseManager の該当データベースを開き、
ユーザーの部分から新規データベースユーザーで、
ログイン名を新規を選択し SQL Server ログインのプロパティという画面で
名前 を入力し、SQL Server 認証を選択しパスワードを入力。次に、
データベースユーザーのプロパティのログイン名で、作ったユーザー名を
選択し db_owner にチェックして OK すると
エラー 15023: ユーザーまたはロール "user_name' は現在のデータベースに
既に存在します。
となりユーザーの作成ができません。何がいけないのでしょうか?
よろしくお願いします。
0539NAME IS NULL
2005/04/20(水) 17:32:11ID:???クエリアナライザで
use EMDB
go
sp_dropuser ユーザー名
go
とやってから、EnterpriseManager でユーザーを追加すれ。
0540NAME IS NULL
2005/04/22(金) 16:26:55ID:VBHxbopk0541NAME IS NULL
2005/04/22(金) 18:31:24ID:???Transaction Log Explorerみたいな名前(うろおぼえ)の海外シェアウェアが有れば
ログの閲覧とか好きな所からコミットとかロールバックとか出来たと思う。
0542NAME IS NULL
2005/04/23(土) 02:57:38ID:???OSは、MS Windows NT4.0 server SP6a と、Option Pack です。
0543NAME IS NULL
2005/04/23(土) 03:42:36ID:???まず右を見て左を見てから渡ったほうが危険は少ない
丁寧だと思ったのはここ
http://www.sqlpassj.org/
0544NAME IS NULL
2005/04/23(土) 04:12:40ID:???素早いアドバイスありがとうございます。
早速見てみます。
知識ゼロなので、かなり時間がかかりそうですが・・・
0545NAME IS NULL
2005/04/23(土) 07:40:49ID:???じゃあ、セミナー(パソコン講習)行ったら?
2日〜5日ぐらいでMSSQLの基礎操作とか基本用語は身に付くと思うよ。
0546NAME IS NULL
2005/04/23(土) 09:09:30ID:???ここに目を通した後
http://www.atmarkit.co.jp/fwin2k/tutor/sql01/sql01_01.html
ここの管理編、開発編と
http://www.microsoft.com/japan/SQL/techinfo/selfstudy/Self_doc.asp
ここを
http://www.microsoft.com/japan/sql/techinfo/video/
読んだらいいYO
>>543が紹介してるPASSJのメールマガジンも役立つ。
0547542
2005/04/23(土) 15:49:17ID:???みなさん、色々とありがとうございます。
タイトルだけ見ても、期待できそうな内容ですね。
がんばります!
0548NAME IS NULL
2005/04/23(土) 21:40:57ID:???>OSは、MS Windows NT4.0 server SP6a と、Option Pack です。
先ずは環境を見直すべきでは。
0549542
2005/04/23(土) 21:52:25ID:???何か問題がありますか?
今はまだ何も知らない状態なので、手元にある環境で勉強してからステップアップしようと思ったのですが・・・
0550NAME IS NULL
2005/04/24(日) 01:34:13ID:???今使ってるWinXPマシンで良いじゃん、と思った。
まぁ、NTの方が早いのかな。。。
0551NAME IS NULL
2005/04/24(日) 19:14:46ID:???xpだとdevエディション、evaluationエディション、msdeしか入らんぞ
俺は別にNT4でもいいと思うが。
0552NAME IS NULL
2005/04/24(日) 22:03:23ID:???勉強用なら別にいいんでないの。
0553542
2005/04/24(日) 22:27:11ID:???もちろん勉強のためにです。
0554NAME IS NULL
2005/04/29(金) 12:59:53ID:???http://www.microsoft.com/japan/sql/2005/evaluation/productinfo/default.mspx
0555NAME IS NULL
2005/05/02(月) 15:20:29ID:+9d4CVhY不要なデータをいくつかのテーブルから大量に削除しました。
データボリュームは、全体で以前の7割くらいになりましたが、
それらのテーブルを検索しまくっているプログラムの実行速度が
10倍くらいになってしまいました。
トレースをみると、OPENでかなり時間がかかっています。
もちろん、統計情報は更新しています。
sp recompile とか、indexの削除、再生成など考えていますが、
効果があるかどうか、あるいは他にどんな原因が考えられるでしょうか?
リリースは7.0です。
途方にくれております・・・
どなたか助言頂けると非常に嬉しいです。よろしくお願い致します。
0556NAME IS NULL
2005/05/02(月) 15:35:43ID:???とりあえずDBCC系のコマンドをたたいてみたらどうでしょう。
DBCC DBREINDEX
DBCC SHRINKDATABASE
DBCC CHECKDB
0557NAME IS NULL
2005/05/04(水) 10:58:55ID:UY2LHSrMOPENで時間がかかるようになってしまったことについては
どのような可能性が考えられるのでしょうか?
0558NAME IS NULL
2005/05/04(水) 12:24:59ID:???0559NAME IS NULL
2005/05/04(水) 20:45:05ID:6TJ1D5OLありがとうございます。なんだかんだ言わず、トライしてみます。
0560NAME IS NULL
2005/05/05(木) 23:43:16ID:???0561NAME IS NULL
2005/05/07(土) 04:24:49ID:???http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&DisplayLang=ja
0562NAME IS NULL
2005/05/07(土) 17:09:09ID:???select * from table where amount like '%345%';
って書くと、amount は、int32 なので like 使えないと出るんですが。
でも、金額で 345 を含むものを探したい場合ってどうすりゃいいんですか?
Access だと出来たんですが、 SQL サーバーではできないんですか?
0563NAME IS NULL
2005/05/07(土) 17:11:34ID:???何でそんなバカ事がしたいのか、自分の間抜けさをかみしめながら400字以内でまとめよ。
0564562
2005/05/07(土) 17:22:41ID:???金額は、あくまでも例だよ。質問の中身を伝えやすいだろ。
現に、マヌ〜な君にも理解できてるじゃないか。
で、どうすりゃいいんだか誰か教えてくれまいか?
こうみえても真面目に悩んでるんだぞ。
0565NAME IS NULL
2005/05/07(土) 17:24:46ID:???int32ってbigintのことを言ってるのかな?
うちでは問題なくbigintカラムでlikeは使えたけど(SQLServer2000)
ウダウダ悩むんなら、文字型に変換してやったほうが手っ取り早いかも
select * from table where convert(varchar, amount) like '%345%';
0567名無しさん@編集中
2005/05/08(日) 11:41:39ID:VS8SSSEC次にやるとしたらSQLserverのほうがいいのでしょうか。
ORACLEのほうが、就職には使えそうですが。インターフェースが
ACCESSに慣れきってるので、MSのでとおもい、SQLserverが気になってます。
0568NAME IS NULL
2005/05/08(日) 13:14:15ID:???でも値段とか考えると安いしマネージャがうまくできてるから
SQLServerの方がお勧めかも。
あと、ORACLEならオラクルマスターを取るとか、
SQLServerならMCPを取るとかすると就職に有利かもね。
なんかすごいIDですね。
0569NAME IS NULL
2005/05/08(日) 16:59:54ID:???実力つけたいならインターフェイスがどうこうじゃなく、
DBMS自体とかDB設計とかの知識をつけた方がいい。
Oracle使おうとSQLServer使おうと、テーブル設計がクソ
なら意味無い。
0570名無しさん@編集中
2005/05/08(日) 22:44:49ID:VS8SSSECORACLEのテキストみてたら敷居が高いように感じたものですから。
>569 そうですね、ACCESSつかっててつじつまあわせにVBAとか
つかっててそれで出来たと思い込んでた節があります。
本腰入れて勉強したいとおもってました。
0571名無しさん@編集中
2005/05/08(日) 22:45:36ID:VS8SSSEC0572NAME IS NULL
2005/05/09(月) 01:22:13ID:???今の時期は、いろんなものの入り口だけを知ってるよりも、
一つのものを深くやってたほうがいいよ。
言語特有のものって、すぐに使えなくなるけど
根本にある理論や技術は長く使えるからね。
0573NAME IS NULL
2005/05/09(月) 06:12:37ID:???実務で使うなら SQL Server だな。
PostgreSQL や DB2 なども使ったが
SQL Server は便利すぎるというか簡単すぎるというか、
肝心なところや DBMS のコアを
あまり意識しなくても動いてしまうから。
0574NAME IS NULL
2005/05/09(月) 13:23:43ID:Kwb0grtZhttp://www.microsoft.com/japan/sql/downloads/2000/sp4.mspx
0575NAME IS NULL
2005/05/09(月) 15:59:21ID:???MSSQLやPostgreSQLがおすすめ。運用まわりならOracleが機能が多いからいろいろ
勉強になると思う。
あと最低必要なリソースが段違いだからデータベース専用のPCを準備できないなら
Oracleはやめといたほうがいい。
0576NAME IS NULL
2005/05/10(火) 02:41:30ID:???0577NAME IS NULL
2005/05/10(火) 07:58:29ID:???SQLのみで操作しないといけない。
もしくはDMOツール自作するかAccessADPか
0578NAME IS NULL
2005/05/10(火) 19:51:40ID:QueOigCDアプリケーションを開発する様に言われました。
アクセス方法としてはADODBを使ってVBAで組む予定になっています。
VBで作るよりACCESSで作る方が楽でしょうか?
ご意見よろしくお願いします。
一応いろんなサイトで現在調査しておりますがいまいちわからないのです。
0579NAME IS NULL
2005/05/10(火) 20:05:06ID:???VBの方が完成度は高くできるけど、Accessの方が楽。
0580NAME IS NULL
2005/05/10(火) 22:02:25ID:???けどインストールでくじけるやつが多いんじゃないのかな。
何でインストールとかSP4のパッチ当てとかで、あんなにパラメータつけなまともに動かないんだ?
0581NAME IS NULL
2005/05/10(火) 22:03:40ID:???配布とかバージョンアップとか互換性とかごちゃごちゃ考えずに単に作る事だけ考えたら、Accessの方が楽。
標準でローカルにテーブル持てるからね。
0582NAME IS NULL
2005/05/10(火) 23:45:28ID:???テーブルの中身をコンボボックスやリストボックスへ
表示させる時の労力の違いを体感したら、Accessのほうが早い
事が分かります。
ただし、互換性に非常に弱いので配布には向かないです。
Access2003で2000形式ファイルで作ってても、
Access2000しかない環境では動かないとかざら。
0583NAME IS NULL
2005/05/10(火) 23:50:06ID:???ちょっと大きな案件なら、予算に占めるライセンス料なんて誤差。
DBMSのライセンス料がはらえないような案件なら、人件費(ry
0584NAME IS NULL
2005/05/10(火) 23:59:32ID:ytz9U72j0585NAME IS NULL
2005/05/11(水) 10:52:27ID:sgL0IKtHいろんなご意見ありがとうございます。
あまり詳しくは無いのですが、皆様がご指摘のように将来的な
拡張性等を考えるとVBで、開発コストを下げるならACCESSだと
思っています。(開発コストと言ってもACCESSの使い方に詳しくないと
あまり効果が内容に思うのですけどね。(^^;)
基本的にACCESSの使い方としてはマンマシンインターフェースとして
のみ使う予定となっておりローカルのACCESSにSQL SERVERのデータを
インポートしたりとかは現在考えて無い様です。
あくまでもSQL SERVERのデータを参照したり更新したりコントロール
したりします。
それで、ACCESSで可能(使えない事はない)という事なので開発
ツールとして使うとして、LAN上に存在するSQL SEVERへアクセス
するのであればやはりADOのオブジェクトを使った方が良いでしょうか?
それともRDOのオブジェクトを使ってアクセスする方が良いのでしょうか?
どちらも可能だと思うのですが、どちらが楽とか柔軟性があるとか
あまりわかっていません。(;^_^A アセアセ…
またご意見・ご指摘よろしくお願いします。m(_ _)m
0586NAME IS NULL
2005/05/11(水) 12:03:22ID:???ADOオブジェクトを選ぶべきだと思うよ。
ADOを扱うスキルがあるのならRDOを選択する理由は無いはず。
Jetへの操作が絡んでくるのならDAOで統一するのが
生産性の観点からはいいと思うけどね。
可能ならADP+SQL SERVERで生産性を最大化できると思う。
0587NAME IS NULL
2005/05/11(水) 13:19:50ID:sgL0IKtH>>586 さん、早速のご意見ありが�d。
データベースにあまり詳しくない(ACCESSも)のですが、一応指示された
ので調べている所です。
やはりADOを使わない理由は無いのですね。(^^ゞ
当方としては現在ACCESSのプロジェクト(ADP)でクライアント端末の
マンマシンインターフェースを作成してSQL SERVERを扱いたいと
思っていました。
ご意見から察すると、後はADOでアクセスする部分をVBAで作りこんで
いけば何とかなるのかなぁ〜と。
ADOでDBをアクセスする手法などを紹介したサイト等取りあえず調べて
みます。
MSDNライブラリみてもいまいちわかり難いので。
また、何かあればお知恵を拝借させて下さい。
本当にありがとうございました。
0588NAME IS NULL
2005/05/11(水) 18:03:23ID:???http://www.microsoft.com/japan/SQL/techinfo/selfstudy/Self_doc.asp
ここの 「開発編 1.SQL Server 2000 と Access 2000 によるアプリケーション開発 」が
有益だと思う。
0589NAME IS NULL
2005/05/11(水) 20:43:32ID:UfuMIuL4学習できるWebサイト等ありませんか?
0590NAME IS NULL
2005/05/11(水) 21:30:24ID:???エディタというのはあるのでしょうか?
0591NAME IS NULL
2005/05/11(水) 21:57:09ID:???0592NAME IS NULL
2005/05/12(木) 11:38:44ID:7g1jdXeS2回目以降は一瞬で終わってしまい、計ることができません。
キャッシュを消すにはどうすればいいですか。
0593NAME IS NULL
2005/05/12(木) 12:22:23ID:???このうちのどれか。
SQL SERVERの再起動
キャッシュのクリア。
DBCC DROPCLEANBUFFERS
キャッシュのクリア。
DBCC FREEPROCCACHE
アドホックSQLが再コンパイルされる。
0594NAME IS NULL
2005/05/12(木) 23:13:04ID:heqYYx/K>>588 さん、有用な情報感謝です。m(_ _)m
まずは、教えて頂いたサイトの情報を読んでみようと思います。
さすがMSですね。(^^ゞ
読み応えありそうです。(^◇^;)
0595NAME IS NULL
2005/05/14(土) 13:59:49ID:???「データベース ダイアグラム」と「関数」が表示されないのは仕様ですか?
0596NAME IS NULL
2005/05/14(土) 15:35:02ID:???Enterprise Developer + SQL Server 2000 だけどダイアグラムも関数も表示されるよ。
0597NAME IS NULL
2005/05/14(土) 16:51:14ID:???0598NAME IS NULL
2005/05/14(土) 17:34:47ID:???0599NAME IS NULL
2005/05/14(土) 20:51:26ID:???595です。
SQL Server 2000 Developer Edition SP3を使ってますが、だめです。
ちなみに MSDE2000A と共存していて、そちらは、ちゃんと表示されます。
0600NAME IS NULL
2005/05/14(土) 21:26:58ID:???Visual StudioがProfessionalなのでは?
http://www.microsoft.com/japan/msdn/vstudio/productinfo/featurelist.asp
0601NAME IS NULL
2005/05/14(土) 22:26:44ID:???サンクス。
アカデミックでした。納得。
0602NAME IS NULL
2005/05/16(月) 10:52:20ID:???>>588
0603NAME IS NULL
2005/05/16(月) 11:50:02ID:WkhxTlDrどなたかご存知?
0604NAME IS NULL
2005/05/16(月) 11:57:47ID:???"クエリ"メニュー → "結果をグリッドに表示"
0605NAME IS NULL
2005/05/16(月) 12:06:39ID:WkhxTlDrそうではなくてエディタ部分に表示したいんですが。
0606NAME IS NULL
2005/05/16(月) 12:11:54ID:???そもそも無理なんじゃねえの?
0607NAME IS NULL
2005/05/16(月) 12:50:01ID:WkhxTlDr無理っぽいですね.。。。...
0608NAME IS NULL
2005/05/16(月) 14:03:37ID:8OnHDbIV[client] WinXpPro + Access2000
これまで2000+Access2000でサーバーに問題なくODBC接続できていましたが
WinXpのクライアントを導入したところ、最初の一回だけ接続でき、再度接続
しようとすると「SSPIコンテキストを作成できません」とエラーが出て接続
不可能に・・・・
再起動するとまた一回だけは接続できるのですが・・・
どなたかこの現象知りませんか?
0609NAME IS NULL
2005/05/16(月) 14:52:17ID:???この辺じゃない?今現在は日本語訳が機械翻訳で読みにくい。
http://support.microsoft.com/kb/883714/en-us
http://support.microsoft.com/kb/843248/en-us
よく読んでWinXPにSP2を当てたりSQL ServerにSP4を当てたり
してみたら。
0610NAME IS NULL
2005/05/17(火) 09:56:36ID:r1XHDoS9いまSQLの課題に取組んでいるのですが、
担当テーブル
担当コード int 長さ 6
部署コード int 長さ 2
をVB6.0で帳票を作っているのですが帳票にだすと
本来、担当コード 0001 と 4桁でなるものが1、
部署コード 02 2桁でなるものが2にとなります。 (下図参照)
これをレイアウト通りにしたいのですが方法がわかりません。
力不足かも知れませんがなにとぞご教授おねがいします。
テーブルレイアウト
______________________________
│名称 │タイプ │長さ │
===============================
│担当コード│int │6 │
│部署コード│int │2 │
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
帳票レイアウト
________________________
│担当コード│部署コード│
│======================|
│0001 │01 │
│0002 │02 │
│0003 │02 │
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
今 現在
________________________
│担当コード│部署コード│
│======================|
│ 1 │ 1│
│ 2 │ 2│
│ 3 │ 2│
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0611NAME IS NULL
2005/05/17(火) 10:11:18ID:???ヒント:データ型とフォーマット
0612NAME IS NULL
2005/05/17(火) 10:36:10ID:+IxTM017に存在するDBとの接続設定するのに鯖名、Loggin ID、PasswordとDB名を入力して
[次(N)>>]ボタンを押下すると「オーバーフローしますた。」ってダイアログが
出ます。 (´ヘ`;)
それも必ず・・・ ヽ(`д´;)/ うおおおお!?
[キャンセル]してデータベースウィザードを中断して、自分でやると
接続ができる様なのですがSQL鯖で何か権限とか設定と変えてやらないと
ダメなんでしょうか?
ちなみに検証用にプログラム作って(ADODB使用)接続でき、また参照や更新・削除
ができる事を確認しております。
0613NAME IS NULL
2005/05/17(火) 11:17:30ID:???select right('00000'+cast(担当コード as varchar),5) from 担当テーブル
0614NAME IS NULL
2005/05/17(火) 11:34:34ID:???どの帳票ツールを使ってるか判らんが、たいていの帳票ツールなら
フォーマット指定できるはず。
出来ないんなら、SQLで取ってくるときにフォーマットすればよい。
ところで「課題」ってなんだ?
会社の研修課題なら、講師担当に素直に聞いた方がいいぞ。
講師とオマイの間でスキルの誤認があると後々、お互いに不幸だぞ。
0615NAME IS NULL
2005/05/17(火) 11:36:38ID:???int型の長さっていうのは「4」バイトで固定だよ。32bitの符号付き整数だから。
帳票レイアウトで示されてるのが正しいコードの仕様なら、
頭に0が付いててもそのまま格納されるように文字列型(ncharとか)で列を設計する。
DBから値を取り出した後0で上位桁を埋めて初めて正しいコードが完成するのは変だわね。
帳票上の表現の問題でゼロパディングする必要があるのなら、>>613
0616NAME IS NULL
2005/05/17(火) 13:33:18ID:+IxTM017取りあえずデータベースウィザードでSQLサーバーとの接続をしなければ
オーバーフローというダイアログは出ないので一旦キャンセルして
プロジェクトファイルを生成しました。
その後、接続設定をしてDBへの接続確認も終わらせて完了しました。
ここからの事をここで聞くのはどうかと思ったのですが、接続した
DBに対してACCESSの「デザインビューでテーブルを作成する」で
テーブルを作ろうとしたんですができません。
やはりSQLサーバーマネージャーもしくはクライアントマネージャーを
使ってでないと作成できないのでしょうか?
ACCESSでテーブルを作成しようとするとメッセージも何も出てこなくて
処理もされないのでどういう状態か理解できないのです。
誰かご教授下さい。
0617NAME IS NULL
2005/05/17(火) 15:06:04ID:???MDACのバージョンを確認してみるとか?
0618NAME IS NULL
2005/05/17(火) 15:18:34ID:Ac4VR0RB調べてみたところ、組み合わせをしている事例はあったけど、(SP4で)
「インストールできない」という報告は無かったのでできるのでしょうか。
事例というのも、あるソフトを動かすための環境一覧 みたいなものに
書いていたので実際動きましたという内容ではなかったです。
0619NAME IS NULL
2005/05/17(火) 16:08:46ID:+IxTM017>>616 です。
早速の書き込みありがとうございます。
プロジェクトファイルはADOでSQL Server上のDBへ接続しますので
DAOは使いませんのでMDACのバージョンとか関係無いかと…。
※ごめんなさい。ADO接続の話が抜けてました。(;^_^A アセアセ…
Access2000+SQL Server2000で、SQL Server2000の稼働しているPCは
占有して使うなとの命令がでているので何とかクライアントのAccess2000
上からテーブル作成等をしたいのです。
権限上の問題ならそれを回避(設定)する為の時間くらいはサーバーPCを
使わせて貰えるように言えるんですが…。
やはりクライアント側のAccess2000の「デザインビューでテーブルを作成する」
という機能を使ってできないものでしょうか?
0620NAME IS NULL
2005/05/17(火) 16:30:31ID:???ADOだから、MDACのバージョンが関係する。
MDACをバージョンアップして確認してみるのが手っ取り早いと思う。
SQLを使えるなら、CREATE TABLE ほにゃらら〜というテキストファイルを
作成して isql で実行する方法もあるけど。
サーバー側で実行しても大して占有することはないっしょ。
0621NAME IS NULL
2005/05/17(火) 17:07:31ID:+IxTM017>>619 です。
ありがとうございます。
試してみようと思います。
ちなみに占有とはサーバーPC端末そのものの事(他の人の開発PCなので)
をさす意味でしてなかなか触らせて貰い得ないのです。
0622NAME IS NULL
2005/05/17(火) 17:29:17ID:+IxTM017>>619 です。
インストールされているMDACバージョンをレジストリのDataAccessの
FullInstallVerを調べたところ[2.81.1117.0]となってました。
※Versionも同様です。
そして最新版を確認しようとMicrosoftのHPで探したところ
Microsoft Data Access Components 2.8 (2.80.1022.3)が最新だと
言う事になってました。(当方の方が配布されてるバージョンより新しい?)
バージョンダウンはいろんな問題があるので、他に違う方法を試すしか
なさそうです。
やはりVBAでクリエイトして試しても良いのですが、当面作るテーブルは
暫定版で都度仕様変更がおこればデザインを変えないといけないので
できればAccess2000のデザインビューで何とかしたいのですが…。
やっぱり無理でしょうか?
0623NAME IS NULL
2005/05/18(水) 00:21:41ID:3fJc73+4なんとか、解決できそうです。ありがとうございました。
0624NAME IS NULL
2005/05/18(水) 09:34:52ID:???今現在の最新版はこれな。2.81 SP1。XPにはインスコ出来ない。
http://www.microsoft.com/downloads/details.aspx?FamilyID=78cac895-efc2-4f8e-a9e0-3a1afbd5922e&DisplayLang=ja
元々2.81がインスコされてるってことは、OSはXPのSP2なのかね。
違うのなら最新版のMDACで上書きしてみるとか。
あとはAccess2000の再インスコを計画してみるとか。
0625NAME IS NULL
2005/05/20(金) 22:32:16ID:???裏側では一旦unicodeにしてから元の文字コードに戻してるってみんな知ってた?
sqlsrv32.dllがそういう設計になってるんだけど。
それでもしすごく長い文字列があるテーブルをbcp outしようとして
文字コード変換の処理が二バイト文字の間で分断されると…
ヽ(`Д´)ノ S H I T !!
0626NAME IS NULL
2005/05/21(土) 10:59:42ID:???0627NAME IS NULL
2005/05/21(土) 15:51:04ID:???0628NAME IS NULL
2005/05/21(土) 19:09:00ID:???0629NAME IS NULL
2005/05/21(土) 23:45:42ID:???0630NAME IS NULL
2005/05/23(月) 09:18:59ID:OYf/q4jh0631NAME IS NULL
2005/05/23(月) 10:09:57ID:???0632NAME IS NULL
2005/05/23(月) 12:39:17ID:5noSZim5ウニ=【Uni】 code
と釣られてみた
0633NAME IS NULL
2005/05/23(月) 14:56:55ID:???ライセンスの問題ですが、
Windows 2000 Server, Windows 2003 Server に MSDE を導入した場合、
その MSDE に接続するクライアントの CAL は必要ない。
(正し、5台を超える時のパフォーマンスは落ちる)
Windows 2000, Windows XP に MSDE を導入した場合、
その MSDE に他のクライアントから接続するのは OS のライセンス違反となる。
という理解で間違いないでしょうか?
MSDE を使う場合でも、複数のクライアントから接続するのであれば
OS が Server OS でないと、いけない、という事ですよね?
よろしくお願いします。
0634NAME IS NULL
2005/05/23(月) 17:19:47ID:???誰か答えてくれるかもしれないけど、ライセンスについては直接MSに聞いたほうが良いよ。
0635NAME IS NULL
2005/05/23(月) 21:06:04ID:???細かい事は調べてみないと分からないけど、だいたいそんな感じ。
サーバ用OSとそのCALを買えっていうのが回答。
0636NAME IS NULL
2005/05/24(火) 09:46:53ID:???これってタックシール(宛名ラベル)打ち出したり、
1ページ内に出力するレコード数制御したりできますか?
今、クリスタルレポート使用していてReporting Servicesに
乗換えを検討しているのですが、VS.NETがまともに動く
スペックのマシンがなく動作確認できず困っています。
クリスタルレポートではできるがReporting Servicesでは
できないことなどあれば教えてください。
0637NAME IS NULL
2005/05/24(火) 10:50:49ID:EsMZ3RTX> MSDE について質問です。
>
> ライセンスの問題ですが、
>
> Windows 2000 Server, Windows 2003 Server に MSDE を導入した場合、
> その MSDE に接続するクライアントの CAL は必要ない。
> (正し、5台を超える時のパフォーマンスは落ちる)
>
> Windows 2000, Windows XP に MSDE を導入した場合、
> その MSDE に他のクライアントから接続するのは OS のライセンス違反となる。
>
> という理解で間違いないでしょうか?
>
> MSDE を使う場合でも、複数のクライアントから接続するのであれば
> OS が Server OS でないと、いけない、という事ですよね?
>
> よろしくお願いします。
マイクロソフトのページにうpされてましたので貼ります。
SQL Server と Microsoft SQL Server Desktop Engine (MSDE )との相互接続について
MSDE は、Microsoft Access 2000 や Office Developer Edition 2000、Visual StudioR 6.0 など、
様々なマイクロソフト製品で利用できるデータエンジンで、Microsoft SQL Server と 100 % 互換です。
MSDE は、これらの製品と連携して、あるいはスタンドアロンで用いることができ、その際 CAL は一切不要です。
また、次の環境では、SQL Server へ接続(直接または間接)するデバイスが 1 台もない場合に限り、
SQL Server CAL は必要ありません。
・クライアント デバイスから MSDE へ接続
・MSDE から MSDE へ接続
・MSDE から SQL Server Personal Edition へ接続
MSDE を使用して SQL Server のサービス (例えば、レプリケーション、データ変換サービス、
または異種分散クエリーのサービスなど) を利用する場合、MSDE を使用するデバイスには CAL が必要になります。
以上ですが、「OS」違反というのがピンときません。
XP/2KPro → XP/2KProのMSDE であればCAL不要と思うのですが・・・
もちろんOSのライセンスは必要ですが・・・
的外れでバカなことを言っていたらすみません。
0638NAME IS NULL
2005/05/24(火) 11:03:38ID:???0639NAME IS NULL
2005/05/24(火) 17:04:21ID:???Community Technology Preview April 2005
http://www.microsoft.com/downloads/details.aspx?FamilyID=97383299-e74b-4af8-90c7-fa0ca20a10c4&DisplayLang=ja
いわゆるMSDE2005βです。お勉強にどうぞ。
0640NAME IS NULL
2005/05/24(火) 20:34:30ID:???> ServerOSじゃないとサーバーに使っちゃダメって事だす。
どこに書いてありますか? ライセンスに係るOSについての記述は見つかりません。
0641NAME IS NULL
2005/05/24(火) 21:18:41ID:???なら、極端に 100台のXP/2KPro → XP/2KProのMSDE でOSのライセンス違反でしょ。
0642NAME IS NULL
2005/05/24(火) 22:29:54ID:???>どこに書いてありますか? ライセンスに係るOSについての記述は見つかりません。
OSのEURAに書いてなかったかな?
あんまり参考にならないと思うけど似たようで似てない事例。
http://apache.jp/misc/windows.html
0643NAME IS NULL
2005/05/24(火) 22:31:43ID:???OSのライセンスに書いてあるんじゃあるまいか?
0644643
2005/05/24(火) 22:32:09ID:???0645NAME IS NULL
2005/05/24(火) 22:36:32ID:???これじゃない?
0646642
2005/05/24(火) 23:15:01ID:???話題になってたんで。
めもっとく。さんきゅー!
0647NAME IS NULL
2005/05/25(水) 01:19:48ID:???付属のものはどうも使い勝手が悪いので。
シェアでもかまいません。何かお勧めがあればお願い致します。
0648642
2005/05/25(水) 09:27:25ID:???0649NAME IS NULL
2005/05/25(水) 09:54:51ID:???あぱへ。(・∀・)イイネソレ!
0650NAME IS NULL
2005/05/25(水) 10:37:39ID:???MSのは付属のがそこそこ使えるから外部のツールはあまり見かけない。
Oracleは付属のがアレだから外部のツールがないと仕事にならないし、
サードパーティも安心して製品が出せる。まあ良し悪しだな。
0651NAME IS NULL
2005/05/25(水) 20:41:11ID:???じゃ、XPとか2KProのワークグループでは、
MSDEはネットワーク接続によるアクセス利用は
できないってことか
0652NAME IS NULL
2005/05/25(水) 22:25:26ID:???0653NAME IS NULL
2005/05/26(木) 03:50:03ID:Xumyr8meODBCが"時間切れになりました"エラーを返し出し、
それ以降はシステムをシャットダウンするまで
"時間切れ〜"状態から復帰しません。
でも、参照処理(SELECT文)は正常に行えるようです。
SQL SERVERのログを見ても、原因となるログが残ってなくって困ってます。
補足情報として、開発環境はVCのMFCを使用していて、
システム起動時にDBオープンしたままシステムを
シャットダウンするまでDBをクローズしません。
クエリータイムアウトはデフォルトの15秒で、
"時間切れ〜"が発生する直前までは1秒以内に
正常処理が行われてます。
どんな内容でもかまわないので、情報の提供をお願いします。
0654NAME IS NULL
2005/05/26(木) 06:06:48ID:???0655NAME IS NULL
2005/05/26(木) 09:25:28ID:???これは、WindowsプラットフォームではSQL躍進て判断でよろしいですか?
0656NAME IS NULL
2005/05/26(木) 09:53:43ID:???たぶんどっかでロックしてるかもね
余裕あるならプロファイラでロックとクエリー情報調査したほうがいいんじゃない?
あとシステムをシャットダウンするまで〜ってトランザクション貼りっぱなしってオチはないよね?
0657NAME IS NULL
2005/05/26(木) 10:43:04ID:AsY1zCLSSQLServer2000をインストールする途中で全然進まなくなってしまいました。
1.インストールCDを入れる
2.画面からSQLServer2000のコンポーネントを選択
3.画面からデータベースサーバのインストールを選択
これ以降インストール画面に進まずセットアッププロセス自体も止まってしまいます。
CDに異常があるというわけでもなく困っています。
直前にやった行動はSQLServer2000クライアントをアンインストールし
レジストリ等をクリーンしました。
Documents and Settingsの中等も見てみたのですが全くダメで…。
どなたか似た事例を経験した方、もしくは回避方法知ってらっしゃる方いましたら
教えて頂けないでしょうか? よろしくお願い致します。
0658NAME IS NULL
2005/05/26(木) 13:56:58ID:???とりあえずOSが何かぐらいは書こうよ
0659NAME IS NULL
2005/05/26(木) 14:31:38ID:???業務システム開発することになってしまいました。(TT)
下の区分に分けたときに、VBA(ADO)[クライアント側]と
ストアドor関数[サーバー側]とで、パフォーマンス的に
すみわけとなる基準を教えて頂けないでしょうか?
・[画面]
・[印刷]
・[内部処理]・・・バッチ更新 ※.件数は300万件〜500万件程度です
よろしくお願い致します。
0660NAME IS NULL
2005/05/26(木) 14:59:06ID:???すみませんでした。
OSはXPProSP1です。
0661NAME IS NULL
2005/05/26(木) 15:07:20ID:WsdyYV9H漏れも知りたい。
誰か教えてくれないか age
0662NAME IS NULL
2005/05/26(木) 17:35:56ID:???この辺りが特徴だと思う。
・高精度の印刷が出来ない。
・バーコードの部品が無い。
・ウイザードがAccessほど充実していない。
・ユーザの操作に対する権限を柔軟に設定出来る。
0663NAME IS NULL
2005/05/27(金) 16:24:31ID:???0664NAME IS NULL
2005/05/27(金) 16:40:27ID:l5/VzWRAMICROSOFT WINDOWS 2000 PROFESSIONAL
.....
1. ライセンスの許諾。マイクロソフトは、お客様が本契約書の
すべての条項を厳守することを条件として、お客様に対し以下
の権利を許諾します。
a. ..... お客様は、ファイルとプリンタの共有サービス、
インターネット インフォメーション サービス、およびリモート アクセス
(接続の共有およびテレフォニー サービスを含みます) のうち 1 つ
または複数の本製品のサービスを利用するため、最大 10 台の
コンピュータまたはその他の電子デバイス (以下総称して「デバイ
ス」といいます) から同時に本ワークステーション コンピュータに接
続することができます。接続数をプールまたは統合する「マルチ
プレキシング」またはその他のソフトウェア、ハードウェアを利用す
る場合であっても、間接的な接続数が上記の 10 台という制
限を越えてはならないものとします。本製品を使用して、本
ワークステーション コンピュータに格納されている他の実行可能
ソフトウェアをデバイスが使用、アクセス、表示、または実行を行
うことはできません。また、デバイスが本製品のユーザー インター
フェイスを表示することもできません。ただし、上記 2 点の制限
は、デバイスが本製品の使用許諾を別途獲得している場合は
適用されません。
b. .....
c. 権利の留保。マイクロソフトは、本契約書においてお客様に
明示的に許諾されていない権利をすべて留保します。
以下略
0665NAME IS NULL
2005/05/27(金) 17:00:06ID:???MSDEのページにきちんと (・∀・)カケ、バカ!
0666NAME IS NULL
2005/05/27(金) 20:39:07ID:???それじゃあ最初から使うやつが減っちゃうだろ。
最初はみなさんご自由にと使わせておいて、後からライセンス違反だと言って金をふんだくるんだよ。
0667NAME IS NULL
2005/05/29(日) 16:33:49ID:mT4uUC7OTR_CD CHAR(4) PRIMARY KEY NOT NULL,
TR_SS_CD CHAR(4) PRIMARY KEY NOT NULL,
D_FROM CHAR(10) NOT NULL,
PRICE INT
)
とやると、「テーブル 'M_TR_SS' に複数の PRIMARY KEY 制約は追加できません」。
といわれるんですが、どうしたもんでしょう?
0668NAME IS NULL
2005/05/29(日) 16:46:45ID:???0669自己解決
2005/05/29(日) 16:47:16ID:???CREATE TABLE M_TR_SS(
TR_CD CHAR(4) NOT NULL,
TR_SS_CD CHAR(4) NOT NULL,
D_FROM CHAR(10) NOT NULL,
PRICE INT
PRIMARY KEY (TR_CD,TR_SS_CD)
)
ですな
0670NAME IS NULL
2005/05/29(日) 16:48:26ID:???その手もありましたな。失念しておりました。
>>667
参考URL
制約 - JPUG新潟
http://oss.kk-ntc.co.jp/jpug/pukiwiki/pukiwiki.php?%C0%A9%CC%F3
0671NAME IS NULL
2005/05/29(日) 17:13:13ID:???Database error: pconnect(211.8.35.147, nahi, $Password) failed.
MySQL Error: ()
Session halted.
0672NAME IS NULL
2005/05/29(日) 18:22:37ID:???0673NAME IS NULL
2005/05/29(日) 19:02:20ID:???0674NAME IS NULL
2005/05/29(日) 19:14:33ID:DsX0UAXS混合モードとwindows認証の違いがわからないっす。
混合モードのSQLまたはwindowsってwindowsだけもできるんですかね?
それだとwindowsとかわランス
0675NAME IS NULL
2005/05/29(日) 19:22:39ID:???0676NAME IS NULL
2005/05/29(日) 19:45:27ID:???books onlineに載っていたような。
0677NAME IS NULL
2005/05/29(日) 21:35:17ID:???・基本認証(SQLServer認証)・・・SQLServerが独自にユーザIDとパスワードを管理する。
・Windows認証・・・OSのアカウントを用いる(代用する)。シングルサインオンと言われるやり方ができる。
で、どっちでもいけるのが混合認証。
でもSQLServer2000からは基本認証が選べなくなって、Windows認証と混合認証だけしか選択できない。
便利そうなWindows認証だが、問題もある。
Windows認証はOSの認証サービスを使うから、SQLサーバを通じてこの機能を使うパソコンすべてにWindowsCALが必要となる。
クライアントが100台あるとして、SQLServerCALが100台分必要。これと別にWindows認証を使う場合は、WindowsCALも100台分必要となる。
0678NAME IS NULL
2005/05/30(月) 01:15:05ID:JT3aRhOhCREATE TABLE [TABLE1] (
[a] [int] IDENTITY (1, 1) NOT NULL ,
[b] [int] NULL ,
[c] [datetime] NULL ,
[d] [varchar] (50) NULL ,
CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED
(
[a]
)
)
テーブルの用途は日時[c]に発生したログ種類[b]のログテキストを[d]に収めるもので、
参照時には
0679NAME IS NULL
2005/05/30(月) 01:48:44ID:JT3aRhOh途中で切れてしまいましたすみません。
インデックスの作成についてアドバイスを戴きたいのですが、
1)
CREATE TABLE [TABLE1] (
[a] [int] IDENTITY (1, 1) NOT NULL ,
[b] [int] NULL ,
[c] [datetime] NULL ,
[d] [varchar] (50) NULL ,
CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED
(
[a]
)
)
テーブルの用途は日時[c]に発生したログ種類[b]のログテキストを[d]に収めるもので、
参照時には
select top 1 * from table1 where b=1 and c>='200x-01-01 00:000:00' and c<='200x-02-01 00:00:00' order by c desc
のように参照されます。
ある同僚からクラスタードインデックスを(c)にした方がよい(パフォーマンスがあがる)とのことで、
2)
CREATE TABLE [TABLE1] (
[a] [int] IDENTITY (1, 1) NOT NULL ,
[b] [int] NULL ,
[c] [datetime] NULL ,
[d] [varchar] (50) NULL ,
CONSTRAINT [PK_TABLE1] PRIMARY KEY NONCLUSTERED ([a])
)
CREATE CLUSTERD INDEX IX_TABLE1 ON TABLE1 (c)
CREATE INDEX IX_TABLE1 ON TABLE1 (b)
のようにしました。
確かにSELECTのパフォーマンスはあがったのですが、
個人的に非常に気持ちが悪いテーブルの設計なので,
意見が聞きたいのです。
因みにbは1から100まで
発生頻度はまちまちですが、平均で10秒で1rec位
3)
CREATE TABLE [TABLE1] (
[a] [int] IDENTITY (1, 1) NOT NULL ,
[b] [int] NULL ,
[c] [datetime] NULL ,
[d] [varchar] (50) NULL ,
CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED ([a])
)
CREATE INDEX IX_TABLE1 ON TABLE1 (b,c)
で試してみましたが、2)の方が早いんです。
うーん、納得できない。
0680NAME IS NULL
2005/05/30(月) 02:11:02ID:JT3aRhOhテーブルにイメージを格納するフィールドが有る場合に、
レコードを削除するときのパフォーマンスで、
データベースファイルをRAIDのドライブに作成するととっても時間がかかるのですが、
何かご存知ないですか?
HDベンチでは倍のパフォーマンスがあるのに、
削除時には倍の時間が掛かってしまうのです。
データベースファイルの大きさは10GBほど。
PEN4HT3GHz 2GMB SATA 80GB 7200rpm XPproにMSSQL2Kでsp3aあてたものと
Xenon3GHz×2 2GMB UltraSCSI320 RAID0+1 120GB×3 7200rpm WIN2Kserver MSSQL2Kでsp3a
で、HDベンチはXenonが倍、でもdeleteの時間はXenonが倍。
なんで?ッテ感じなんです。
イメージ型のフィールドが無ければXenonPCが文句無く早いのですが。
0681NAME IS NULL
2005/05/30(月) 09:26:42ID:???てかキミのがばかだろ? >>665はマーケティングのことでなくて
(それを踏まえて)不親切でずるいてキカキコがあると思われ
1レス1レスよく嫁、なw
0682NAME IS NULL
2005/05/30(月) 11:12:22ID:???テーブルの件数と[c][b]の統計がどうなっているのかわからんけど、
検索のSelectだけ見ると範囲指定している[c]にクラスタードするのが理想的なんで
2)のほうが早いでしょうな
あとはselect *をやめて[c][b][d]の順にインデックスしてカバリングするとか(そんかし更新系影響あるかもしれんけど)
まぁ実行プラン見ながら比較してみることですな?
0683U ◆CZtFsGiu0c
2005/05/30(月) 15:40:59ID:???「気持ち悪い」理由はなんでしょうか。「クラスタインデックスをPK以外に
設定する」ことですか? PKによる検索はほとんどの場合1件ごとになるので、
クラスタインデックスに設定するメリットはほとんどありません。なぜか
PKをクラスタインデックスに設定することを推奨していたり、PKをクラスタ
インデックスに設定するサンプルが多いですが、クラスタインデックスを
設定してメリットがあるのは、このように「特定の範囲を連続して取得する」
カラムに対してです。
0684NAME IS NULL
2005/05/30(月) 17:34:18ID:???物理設計の中の、データベース容量(SIZE)見積りですが、
テーブルの計算式しか見つかりません。
そこで、見積りの必要なオブジェクトとその計算式を知りたいのですが
どなたか教えて下さい。 あるいは出ているところを教えて下さい。
あきれてしまうような質問で申し訳ありません。
お願い致します。
0685NAME IS NULL
2005/05/30(月) 21:20:05ID:???0686NAME IS NULL
2005/05/30(月) 21:34:04ID:???単にロールバックできるようにログ残しているだけでは?
truncate tableとかdrop tableでいいなら、そっち使えば?
0687NAME IS NULL
2005/05/30(月) 21:40:46ID:???計算しても目安にしかならないよ。
insert/delete/updateを繰り返しているとAccessの様にどんどん容量が膨張してくる。
最適化(だっけ?)すればまた小さくなるけど。
インデックスも結構容量使う。
ver6.5の時にパフォーマンスチューニングっていう本を買ったけど、ver.2000でもSQLServerの初心者向きじゃない本か、オンラインヘルプか、MSサイトあたりを探せばあると思うけど。
0688NAME IS NULL
2005/05/31(火) 12:02:02ID:???極端な話が、Oracleのように、
「データベースの初期サイズ」を見積もる考えないんですか?
「テーブルの初期サイズ」だけ見積もって、後は、その合計の1,3倍くらいとか
アバウトな計算になるんですか? ぐぐってもSQLServerの見積りについて
引っ掛からないし・・・わからない
知っている方アドバイスお願いします。
0689NAME IS NULL
2005/05/31(火) 18:43:15ID:???期待してるようなものはないと思いますよ。
想定データの1/nと2/nの規模で実際にデータを投入してその差から
想定データの必要容量を推定するのが現実的だと思うけどな。
Oracleのだって限定された範囲の容量の計算式だから、
全体の容量を見積もるのにその値を積算するのは危険だと思う。
索引が追加になったりPICTなんたらあたりのパラメータをいじっただけで極端に変わるしね。
ただ顧客がそういう計算式を欲しがる傾向にあるのは確かなので、
差分値で見積もった後、もっともらしい計算式を作文して資料としてつけることはあるけどね。
0690NAME IS NULL
2005/05/31(火) 19:57:03ID:???デカくなって困るとか言ってたな
再起動すると縮小されるんだけど、みたいな
0691NAME IS NULL
2005/05/31(火) 20:54:01ID:???俺もOracleなら最初にきちんと計算してcreate table でアロケートする。
SQLServerはそんなこと知らないバカでも使えるという意識しかない。
実際のデータ件数に関係なく容量どんどんふくれ放題だし。
0692NAME IS NULL
2005/05/31(火) 20:57:49ID:???SQLServer2000では、tempdbは再起動すると一度削除されるから初期サイズに戻る。
うちのSQLServerは数ヶ月再起動せずに稼働続けていたら、tempdbががんがんふくれてGB単位になりディスク不足におちいってしまった。
それ以来定期的にtempdbを圧縮するタスク入れてる。
0693NAME IS NULL
2005/06/01(水) 11:03:28ID:???情報収集しまくってるんですが、データベース初期サイズの計算方法については、
進展があまりなく、
・テーブルの容量+インデックスの容量を適度(?)に膨らませたサイズ
・ログファイルについては殆ど記述無し
・その他についても記述なし
という結果です。
もう数年前ですが、Oracleの時は結構苦労して初期サイズの計算した経験があるだけに
、SQLServerの初期導入は、その殆どがアバウトなのかな?と疑問に思いました。
気持ち悪いと言えば気持ち悪いです。 自動拡張依存のような・・・
私のググり方が悪いのかも知れませんが、引き続き情報があれば頂きたく
お願い致します。
0694NAME IS NULL
2005/06/01(水) 12:17:06ID:???自動拡張やおまかせ機能は気持ち悪いのかもしれないが、
特性を理解して使えば使いやすいから嫌がらないで使ってみなされ。
SQL Serverは監視ツールやイベントログでリソースの使用状況の監視が
やりやすく構成の変更も容易にできるので、予備のディスクエリアを
準備しておいて使用状況をみて投入していく感じで使えばよい。
(もちろん事前にある程度の見積もりは必要なのだが)
Oracle10gを見てるとこの手の機能が充実してきているようにも思うが
どうなのだろう。
0695NAME IS NULL
2005/06/01(水) 14:07:22ID:s9KvkQT9質問させて下さい。
MySqlのconcat(フィールド1,フィールド2)
に相当するような関数、又は書式を教えて下さい。
select "Operating_System.OSType" & "AppsoftwareSuites.SuiteName"
select "Operating_System.OSType" || "AppsoftwareSuites.SuiteName"
などを試してみましたがダメでした。
queryanalyzerを使用しています。
0696NAME IS NULL
2005/06/01(水) 14:09:31ID:???0697NAME IS NULL
2005/06/01(水) 14:24:09ID:???0698NAME IS NULL
2005/06/01(水) 14:26:32ID:???文字列なら
select 'Operating_System.OSType' + 'AppsoftwareSuites.SuiteName'
フィールドなら
select [フィールド1] + [フィールド2]
MySqlのconcatって使ったこと無いので勘違いならゴメン。
0699NAME IS NULL
2005/06/01(水) 14:46:28ID:???>>693です。 PASSJにも初期サイズ計算の記事がありませんでした
>>694さんの言うとおり、テーブルとインデックスの予想サイズに上乗せしたサイズで
スタートするのがSQLServerかなという気がしてきました
自動拡張に頼ることでパフォーマンス悪くなる事があると思うんですけどね
初期サイズ計算がテーブルとインデックスだけというのは、おっしゃるように気持ち悪いですが
ないんでは仕方ありません。
アドバイスをありがたく頂いたので、それを参考にさせて頂きますね
0700NAME IS NULL
2005/06/01(水) 19:51:44ID:HV/e5AocPASSJにまったくないわけじゃないぞ。
ttp://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=3¤t_page=1&disp_mode=0&detail_mode=1&message_id=18559
と
ttp://www.sqlpassj.org/bbs/bbs_disp.aspx?forum_id=1¤t_page=1&disp_mode=2&detail_mode=1&message_id=3086
から始まるスレ参照な。
まぁ、基本的には >>694 と同じなんだけどな。(汗)
0701NAME IS NULL
2005/06/02(木) 09:27:09ID:???レスありがとうございます。 書籍もあたって見ましたが、データベースサイズの初期計算について
掲載されていたのは、ピアソンエデュケーションの「MicrosoftSQLServer データベース管理者ガイド」
だけで、それも
・データファイル → ブロックと行桁数の関係中心
・ログファイル
について1ページ程度の簡易な解説だけでした。
データファイル・サイズの算定に関しては、テーブル・インデックス以外のオブジェクトのサイズは
考慮されていません。 (本当に情報が少ないです)
あと、必要メモリ・サイズ(キャパシティ・プランニングのガテゴリでしょうが)についても
あまり記述がありません。
要望がMSDE・SQLServerなので情報薄も仕方ないのかもしれませんが、
あとのチューニングは付いて回るものの、なんとかまともな初期導入をしたいものです。
0702NAME IS NULL
2005/06/02(木) 09:43:04ID:f7QQZWCqこの間の通信はPORT80でやってるんか?
プロキシスルーもできるってことでいいんかな。
0703NAME IS NULL
2005/06/02(木) 09:46:08ID:???0704NAME IS NULL
2005/06/02(木) 11:14:02ID:???>テーブル・インデックス以外のオブジェクトのサイズ
懸念している(テーブル・インデックス以外の)オブジェクトと言うのは
具体的にはどういうものを想定しているのでしょうか?
BOLに記述されているデータベースサイズの見積もりでもテーブルとインデックス
のサイズのみを計算の対象としているようでした。
逆にいうと、それ以外のものではデータベースサイズに対して有意な差が出ない
と言うことではないのでしょうか。
必要メモリと言うのは、例えばテーブルサイズ・データ量から、データページを
キャッシュするのに十分なメモリサイズを算出すると言うことでしょうか。
そういう情報ということであれば、確かに見当たりませんね。
積めるだけ積んで、後は成り行きに任せるしかw
0705NAME IS NULL
2005/06/02(木) 11:33:12ID:f7QQZWCqなんかこういうのを読んでたんだけど、「.NET」って環境は全てHTTP(or SMTP)で通信してるのかな?
と思ったわけです。
↓↓↓↓↓↓
.NET対応のソフトウェアやハードウェア・デバイスは、ネットワーク(インターネット)を介して
通信し、それぞれが分散する部品の1つとして連携しながらさまざまな処理を進める。この際
の通信手段としてはWebサービス(マイクロソフトはXML Webサービスと呼んでいる)と呼ば
れるオープン・プロトコルを使う。Webサービスは、HTTP(Webページのアクセスで使用)や
SMTP(メール送信で使用)といった既存のトランポート・プロトコルを使い、そのうえでXML仕
様のデータをやり取りすることで、アプリケーション連携を可能にするものだ(詳細は後述)。
このオープンなWebサービス・プロトコルを利用したアプリケーション連携の基盤となるもの
が、マイクロソフトがWindows OS上に実装したものが.NETプラットフォームである。
で、こんなことができちゃうのかな?と
SQL Server 7.0以上
↑ ↓
プロキシ
↑ ↓
Windowsフォームアプリ(ADO.NET含む)
0706NAME IS NULL
2005/06/02(木) 12:03:15ID:???0707NAME IS NULL
2005/06/02(木) 13:12:52ID:???データベースバッファ、ログバッファの記載が見当たらないですからねw
まあ確かにディスクもメモリも安価になっているとはいうものの、
ある業務システムのハードウェア条件を、どう提示してるのかわかりません
そう考えると、その成り行き加減がOracleに勝てない理由なんですかね?
インスタンス単位の必要メモリ算出方法位、情報として出して欲しいですね
0708NAME IS NULL
2005/06/02(木) 13:14:17ID:???失礼しました
0709NAME IS NULL
2005/06/02(木) 14:10:37ID:???これならできるよ
SQL Server 7.0以上
↑ ↓(ポート1433)
XML Webサービス(ADO.NET含む)
↑ ↓(ポート80)
Windowsフォームアプリ
0710NAME IS NULL
2005/06/02(木) 15:01:15ID:???MSSQLは基本的にディスクの総容量とメモリの総容量以外ほとんど自動で
調整されて動く上、マニュアルではほとんど調整させないようになっている。
設計思想が大きく異なるためチューニング等の手法も大きく異なる。
DBMSの選択権があるのならシステムの規模や用件にあったものを選択すべきだし、
選択権がないのなら既成概念は捨ててそのDBMSとまともに向き合ったほうが良い。
純粋にMSSQLの容量見積やチューニングについて語りたいならいいが、
Oracleとの比較をやりたいのならこっちのスレに移動しないか。
Oracle>>>>>>SQLServer
http://pc8.2ch.net/test/read.cgi/db/1057151330/l50
0711NAME IS NULL
2005/06/02(木) 15:20:29ID:???こういう開発ではなく運用に関する情報はTechNetあたりにありそうだと思って
見てみたのですが、あんまりなさそう。とりあえずこういうのがあった。
Planning for Consolidation with Microsoft SQL Server 2000
ttp://www.microsoft.com/technet/prodtechnol/sql/2000/plan/sql2kcon.mspx
| As with other aspects of consolidation, you must first collect specific
| benchmarking and application/system profiling data to make an accurate
| decision about your memory needs.
まあデータ突っ込んで測定しろ、と。
>データベースバッファ、ログバッファの記載が見当たらないですからねw
このあたりかな
SQL Server Memory Pool
ttp://msdn.microsoft.com/library/?url=/library/en-us/architec/8_ar_sa_1zu4.asp?frame=true
>ある業務システムのハードウェア条件を、どう提示してるのかわかりません
メモリがあればあるだけ使う、無ければそれに合わせて動くので、
むしろパフォーマンス要件(や予算)などを規定しないと決められないかもしれません。
>そう考えると、その成り行き加減がOracleに勝てない理由なんですかね?
良くも悪くもそれがSQL Serverかも。なんて書くと、本物のDBAに怒られそう。
0712707
2005/06/02(木) 15:37:25ID:???一言弁解させて下さい。
SQLServerに対して批判している訳ではありません。
また、Oracleと比較してるわけでもありません。
自分の場合、Oracleしか経験していなかったので、SQLServerの初期容量(ディスク、メモリ等)の
見積もりや計算方法が、情報が少なくてわからないという素朴な疑問から始まったものです。
まあ、イラつきは正直ありましたが(汗
このスレや他のHPのみなさんのおかげで考え方がだいぶわかってきました。
このスレ含めて、インターネット上に初期サイズについてのトピが非常に少ないというのは
私が「気にしないでいいようなこと」を聞いたのか、「本来重視すべきトピ」なのかは
疑問に思います。
0714NAME IS NULL
2005/06/02(木) 15:51:23ID:???0715NAME IS NULL
2005/06/03(金) 10:02:07ID:EjOlD3De本来必要の無い行為ですが、監視Toolがアホで全DB
についてバックアップの有無を定期的に報告してきてし
まうのです。
0716NAME IS NULL
2005/06/03(金) 10:28:40ID:???・監視対象外にする
・監視ツールの報告を止める
・監視ツールからの報告を無視する
0717NAME IS NULL
2005/06/03(金) 13:11:51ID:???0718NAME IS NULL
2005/06/06(月) 15:11:37ID:K1uL96CQ作成したDTSパッケージのみを客先に持っていきたいのですが、
DTSパッケージのみをエクスポート・インポートするにはどうすれば良いですか?
0719NAME IS NULL
2005/06/06(月) 18:00:27ID:???DTSパッケージの実体はmsdbデータベースのsysdtspackagesテーブルの各行だったと思う
0720初心者
2005/06/06(月) 20:42:22ID:HNNBGjbm何気なく使用していたのですが、いつのまにかデータベースに共有のマークがついてしまいました。
原因がわからず、あれこれと設定を変えているのですが共有マークがはずれません。
ご存知の方教えていただけませんでしょうか。よろしくお願いします。
0721NAME IS NULL
2005/06/06(月) 21:19:10ID:gU+b6aWhhttp://www.microsoft.com/japan/msdn/sqlserver/columns/dts/dts1.asp#5
構造化ストレージファイルとして保存すれば簡単にネットワーク上でパッケージのコピー、移動、送信が可能です。
0722NAME IS NULL
2005/06/07(火) 00:17:31ID:???共有マークというのがよくわからないのですが、
*.mdbなどがあるディレクトリがフォルダ共有になったということですか?
0723初心者
2005/06/07(火) 10:11:23ID:0SItwb8W円柱状のアイコンというかマークがありますよね。
それに共有の『手』のマークがついてしまったんです。
うーん、どうしてかしら?
0724NAME IS NULL
2005/06/07(火) 11:24:38ID:???どこか他のサーバと同期してるんじゃない?
0725NAME IS NULL
2005/06/07(火) 14:55:41ID:???パブリケーションデータベースから除外すれば消える。
テーブルだけ除外しても消えないので注意。
0726初心者
2005/06/07(火) 16:33:03ID:0SItwb8Wありがとうございます。やってみます。
0727NAME IS NULL
2005/06/07(火) 23:14:53ID:???自前のPCに移植するため今自前PCにて復元かけています。
しかし、復元が途中で止まってしまう。これいったいなに???
テーブル数は36項目。
うちユーザー作成16項目。
ひとつのテーブルは20件前後のデータあり。
テストデータなので少ないのですが。。
何度やっても途中で止まる。
要因これってのが判らない。。エロイ人教えて
0728NAME IS NULL
2005/06/07(火) 23:23:45ID:???バックアップなんて面倒なことせず、バイナリそのままコピーして持っていってアタッチするほうが楽。
0729NAME IS NULL
2005/06/08(水) 00:04:16ID:???猛チョット具体的に教えてくだされ
0730NAME IS NULL
2005/06/08(水) 00:11:42ID:???1.SQL鯖のサービスをとめて、該当するDBのMDF・LDFファイルをコピー
2.自前のPCに1のコピーをペーストしてsp_attach_db実行
詳しくはBooksOnlineを「アタッチ」で検索してくらさい。
0731NAME IS NULL
2005/06/08(水) 00:52:15ID:???ああ、やはしMDFファイルでしたか。。。
実はさっき削除して再度CRT TABELを実行して、もう一度復元したら
できました。
結局原因がなんなのかわかりません。。。
でもせっかくなので>>730氏の方法も試したいので
自前PC内テーブルは破棄。ただいままっさら。
明日会社のSQLサーバーより再度MDF等のファイルをコピーして
やってみます。ひとつ勉強になった。感謝です。
0732731
2005/06/08(水) 23:09:47ID:???今しがた、コピーしたファイルをフォルダに格納。
亜タッチ完了。終了しました。
たしかにこの方が楽です。
いろいろありがとうでした。
0733NAME IS NULL
2005/06/09(木) 10:37:39ID:???SQLServer6.5 + ODBC + Access2000だとDBから引っ張ってきた日本語が化ける
んだけど、これって
・SQLServer6.5は日本語が内部unicodeじゃない
・Access2000はunicodeしか扱えない
のが原因ということであってる?解決法は
・Access2KをあきらめてAccess97?にする
・SQLServerを6.5→2KにVerUp
しかないんでしょうか?
0734NAME IS NULL
2005/06/09(木) 11:13:21ID:???SQLServer用ODBCドライバが2.xだと文字化けせず、3.xや2000.xだと文字化け。
ググってみたけど、ver3.7以降かそれより前かでunicode化されてるかどうか違う
みたいなのでやっぱunicodeがうまく扱えてないのが原因ぽいんだけど。
でも普通に考えると、新しいODBCドライバのほうが
SJIS? ----> ODBCドライバがコード変換 ----> unicode -> MSAccess
てなりそうなもんなんだけど????
0735NAME IS NULL
2005/06/09(木) 21:27:56ID:???単にAccess2000の表示フォントの問題とかじゃないの? nvarcharとかならどうだか知らないけど。
0736NAME IS NULL
2005/06/10(金) 09:34:04ID:9ugW0i++だめっぽいのですが、ということは同一ドメイン内でないとレプリケーション
できないということでしょうか?ログ配布なら違うドメインでもOKですよね?
0737NAME IS NULL
2005/06/10(金) 09:35:05ID:9ugW0i++0738NAME IS NULL
2005/06/10(金) 12:00:13ID:9ugW0i++0739ミ・Д・彡Delフサ
2005/06/11(土) 01:25:35ID:d74B+wNzどなたか、>>5の状態、での
普通のBAKファイルとTRNファイルとの
組み合わせでのリストア方法を教えていただけないでしょうか?
ちょっちまぢまぢに
おながいします。
....こんな時間に.....orz
0740NAME IS NULL
2005/06/11(土) 01:45:22ID:???俺は初心者だからワカラナイヨー
がんばれ!
がんばれ!
0741NAME IS NULL
2005/06/11(土) 02:06:50ID:???リストア前にまだバックアップされてないログをバックアップする必要がある。
データベース本体のファイル(MDF)が壊れてる場合もログだけのバックアップは可能。
うまくログをバックアップできない場合は、Enterprise Managerを一度終了させてから
操作するとよい。それでもうまくいかない場合は、直接SQLでBACKUP LOGコマンドを
NO_TRUNCATEオプションで実行する。
0742ミ・Д・彡Delフサ
2005/06/11(土) 02:26:07ID:d74B+wNzとりあえず、
BAK1
TRN1
TRN2
…省略…
TRN24
BAK2
TRN25
TRN26
TRN27
あと、無し
とファイルがあったとして、
�@BAK2をNoRecovery オプションで復元
�ATRN25/TRN26をNoRecovery オプションで復元
�BTRN27をRecovery オプションで復元
したら、それでよさそうかとおもうんだが、
�@はうまくやれるんだけど
�Aのやりかたがわかんなくて、普通に追加でリストアしようと
EntMgrで操作しても
---------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
The backup set in file 'C:\Program Files\…省略…_tlog_200506110010.TRN' was created by BACKUP LOG and cannot be used for this restore operation.
RESTORE DATABASE is terminating abnormally.
---------------------------
OK
ってエラーがでるんだよぉ。。。。(ToT)
すごーく、逝きそうです。
パーティーは自社3人+DELL社1人....
0743ミ・Д・彡Delフサ
2005/06/11(土) 02:31:03ID:d74B+wNzSQL鯖2K英語版だからす...
漏れと同僚は、NorecoveryオプソでのTRNの
復元方法がわからないのです。たぶん操作が間違っているんですあ
いつもは、BAKファイルからの普通のRecoveryオプションでの復元しか
やらないので....
このパーティーは全滅かしら...
0744NAME IS NULL
2005/06/11(土) 03:03:19ID:???BAK2を復元「デバイスから」、データベース全体、復旧完了状態「データベースを操作不可状態」
途中のログは復元「デバイスから」、トランザクションログ、復旧完了状態「データベースを操作不可状態」
最後のログは復元「デバイスから」、トランザクションログ、復旧完了状態「データベースを操作可能状態」
でいける気がするのですが。
0745NAME IS NULL
2005/06/11(土) 03:11:08ID:???ログに対してRESTORE DATABASEコマンドを使ってませんか?
投入順序は次のとおりのはず
RESTORE DATABASE ... WITH NORECOVERY
RESTORE LOG ... WITH NORECOVERY
RESTORE LOG ... WITH RECOVERY
0746ミ・Д・彡Delフサ
2005/06/11(土) 03:35:21ID:d74B+wNzトランザクションログ復元指定をしてなかったっす。。。
あと、テストしたファイルも破損してたらしい、、
(・_・)(._.)ありがとうございます。
もう少しだ。ほんちゃん環境で戦ってみます...
0747NAME IS NULL
2005/06/11(土) 07:43:21ID:???がんばれ!
がんばれ!
0748NAME IS NULL
2005/06/11(土) 21:51:25ID:FxunfU63SQLサーバ2000のEnterprise Managerからアクセスしようとしたら、接続が確立
できませんでした、といわれ、途方にくれています。
インストール時には混合認証にして、SAパスワードも設定しました。
インスタンスは既定ので、もうひとつはなんだったか不確かですが、そのまま次へ
をクリックしました。
どうすればEMからアクセスできるようになるのでしょうか?
あと2005は画面右下にアイコンが表示されませんよね?
0749Delフサギコ ◆A6VzDeLphI
2005/06/13(月) 00:50:01ID:???ミ,,゚Д゚彡
ミ つ旦)~~
〜と,,,~),,~)
無事、おうちにたどりつきました。
とても勉強になりました。感謝です。
0750NAME IS NULL
2005/06/13(月) 06:11:52ID:???おつかれ〜
0751NAME IS NULL
2005/06/13(月) 08:13:39ID:???俺も試してみたけどEnterprise ManagerではSQLServer2005には
接続できないようです。
旧バージョンのEnterprise Managerはサポートしてないのでは。
そこでSQLServer2005に接続するための代案です。
1.Express Managerをダウンロードして使用する。
2.SQL Server 2005 Workgroup Editionをインストールして
Management Studioを使用する。
しかし、SQLの勉強をするならSQLServer2000を使った方がよいと思います。
自宅で使うならMSDE、SQLServer2000評価版、Developer Edition
のいずれかを使うとよいです。
0752NAME IS NULL
2005/06/13(月) 18:10:17ID:???Windows 2003 Server のうえで動かしており、そのネットワークでは、
ドメインではなくワークグループとなっています。
この時、ネットワーク上の PC から Windows 認証の設定で、ODBC の設定をして
SQL Server へアクセスしようとするとアクセスができません。
ワークグループで Windows 認証を使用する時は、何か設定しなければ
ならないのでしょうか?
アドバイス頂けますと幸いです。
0753NAME IS NULL
2005/06/13(月) 18:24:41ID:???クライアントのWindowsアカウントがサーバにも存在するのか、
そのアカウントで認証出来るようにSQL Serverが正しく構成されているのかを確認すれ
0754NAME IS NULL
2005/06/13(月) 19:35:21ID:jyI5ErP7プロシージャを考えているのですが、クエリアナライザで実行すると、
それぞれのFETCHがひとつの結果として返ってきます。
クライアントプログラムの都合上、それをひとつのクエリに対する結果
として見せたいのですが、なにかやり方はありますでしょうか?
0755NAME IS NULL
2005/06/13(月) 20:45:32ID:???ループの中で一時テーブルにINSERTして、終わったら一気にSELECT
0756NAME IS NULL
2005/06/13(月) 22:06:13ID:???> 俺も試してみたけどEnterprise ManagerではSQLServer2005には
> 接続できないようです。
> 旧バージョンのEnterprise Managerはサポートしてないのでは。
またですか。SQLServer6.5=>7.0の時もそうでしたね。
いいかげんにしてほしいなあ。
0757NAME IS NULL
2005/06/13(月) 22:15:11ID:jyI5ErP7INSERTで日が暮れてしまいそうで。その方法以外の方法を探していた
ところなんです orz
0758NAME IS NULL
2005/06/13(月) 22:42:40ID:???June CTPがタダで置いてあるじゃないか。
Enterprise Editionもゲットできるぞ?
一年後に起動できなくなるそうだが・・・
0759NAME IS NULL
2005/06/13(月) 23:12:35ID:???一時テーブルでやってみてそれでも遅いのならtempdbがちっこいせいかもしれない。
一度tempdbの容量を大きくしてやってミソ。
0760NAME IS NULL
2005/06/14(火) 01:01:28ID:???INSERTより一行ずつFETCHする方に時間がかかってるんじゃないかな。
対抗馬でtempdbの復旧モデルをシンプル以外に変えてるとか。
大穴でtempdbじゃなく普通のテーブルをワークにしてるとか。
0761NAME IS NULL
2005/06/14(火) 01:15:34ID:???すみませんでした。実際にやってみます。1000万行↑の一時テーブル・・・怖いな・・
0762NAME IS NULL
2005/06/14(火) 03:20:35ID:???内部構造が大きく変わってるだろうから仕方ないんじゃないの?
下手に旧版から接続できるようにして変な動作されるよりいいと思うが。
0763NAME IS NULL
2005/06/14(火) 10:50:52ID:???1000万行のサーバサイドカーソルってメモリが足りなくなるんじゃね?
ほんとにカーソルを使わなきゃ出来ない処理なのかどうか考えてみたら。
0764NAME IS NULL
2005/06/14(火) 12:04:26ID:Ff0KhJX0ありがとうございます。
どうしようもないのでMSDE2000を使いました。たしかDevエディションって有料ですよね?
ExpressManager とEnterpriseManagerを混存させたくなかったので、とりあえずこのままいきます。
0765NAME IS NULL
2005/06/14(火) 12:05:06ID:FN/Zifsa中に
・SQL Server 2000 Developer Edtion(64bit)
・SQL Server 2000 Developer Edtion 開発用およびテスト用限定版
が入っていたのですが、どちらをインストールすればよいのかわかりません。
違いを教えていただけませんか?
一応開発用のテスト環境にいれるのですが、64bitの方が基本ぽい気がしたもので・・
0766NAME IS NULL
2005/06/14(火) 12:33:01ID:???有料って言っても実質5000円〜6000円くらいですよ。
>>765
お使いのマシンは?64bitって64bit環境用じゃ無いかな?
http://www.microsoft.com/sql/64bit/productinfo/sysreq.asp
0767765
2005/06/14(火) 13:48:56ID:FN/Zifsaわからないです。
DELL PowerEdge800です。
どこをみればのっているのでしょうか?
0768NAME IS NULL
2005/06/14(火) 14:02:58ID:???PowerEdge800はPentium2,Celeronって事なので
64bitじゃない方で良いと思いますよ。
0769765
2005/06/14(火) 14:04:46ID:FN/Zifsaありがとうございました^^
0770NAME IS NULL
2005/06/14(火) 17:16:09ID:fp/EkyCoどうしたらよいでしょうか。
0771NAME IS NULL
2005/06/14(火) 19:54:35ID:???静的にやりたいんか動的にやりたいんかわからんし、
どのレベルまで再現できたらいいのかが分からんのでヒントだけ。
EnterpriseManagerを立ち上げてテーブルの「SQLスクリプトの作成」を実行する様子を
SQLプロファイラでトレースしてみると、どうやればスクリプトが作れるかわかるよ。
0772NAME IS NULL
2005/06/14(火) 22:05:16ID:???ストリーム処理をDBでどれくらいできるのか、というある意味
ベンチマーク的な感じで取り組んでいますので、ビジネス用途で・・
ってんじゃないですよ^^。ダメだったらダメって事で・・でも
ダメかどうかがわからないので、試してたりしますw
0773NAME IS NULL
2005/06/15(水) 00:48:23ID:???1 | ば
2 | あ
1 | か
2 | ほ
とあったら
SELECT 数字,連結(文字) FROM table GROUP BY 数字
1 | ばか
2 | あほ
を作りたいんです。
1 | かば
2 | ほあ
になってもかまわないんですが、そんな関数を作りたいんです。
0774NAME IS NULL
2005/06/15(水) 07:15:37ID:???0775NAME IS NULL
2005/06/15(水) 16:56:41ID:???質問なのですが、MySQLなどでは、SELECTするときにLIMITを使用して
件数を指定してレコードが取得できますが、
SQLServerではどのようにするのでしょうか?
0776NAME IS NULL
2005/06/15(水) 17:41:52ID:???0777NAME IS NULL
2005/06/15(水) 19:00:25ID:???先頭からというのはSQLServerのマニュアルで探せたのですが、
n件目から指定件数という場合はどうするのでしょうか?
0778NAME IS NULL
2005/06/15(水) 19:16:13ID:???工夫してなんとかするしかない。
0779NAME IS NULL
2005/06/15(水) 19:25:06ID:???ttp://blogs.sqlpassj.org/matu_tak/archive/2004/05/18/2337.aspx
0780NAME IS NULL
2005/06/15(水) 21:51:28ID:???select distinct TOP 20 KEY,DATA1 from TABLE as TBL1 WHERE DATA2 LIKE '%hoge%'
and not exists (select * from (
select distinct TOP 100 KEY,DATA1 from TABLE as TBL1 WHERE DATA2 LIKE '%hoge%'
ORDER BY DATA1,KEY
) as TMPTBL where TMPTBL.KEY = TBL1.KEY)
ORDER BY DATA1,KEY
101件目から20件分出るものだった気がする
0781NAME IS NULL
2005/06/16(木) 19:47:25ID:S8DRQ4qp0782NAME IS NULL
2005/06/16(木) 20:29:53ID:???DATとかへのバックアップは相性が悪いとこけるぞ
0783NAME IS NULL
2005/06/16(木) 22:18:27ID:J+Ztoaucsp4あてるべきか sp3のときはsql スラマーがでてあてざる終えんかったが
0784NAME IS NULL
2005/06/16(木) 22:59:37ID:???http://support.microsoft.com/kb/899761/ja
0785NAME IS NULL
2005/06/16(木) 23:10:38ID:???なんか別のトラブル(MOM関係)もあるらしいから、
sp4aがでる鴨試練という噂
0786NAME IS NULL
2005/06/16(木) 23:16:58ID:???こうしたほうが速いんでない?
select * from (
select distinct TOP 20 KEY,DATA1
from (
select distinct TOP 120 KEY,DATA1 from TABLE as TBL1 WHERE DATA2 LIKE '%hoge%'
ORDER BY DATA1,KEY
) as TBL1
order by DATA1,KEY desc) t
order by DATA1,KEY
0787NAME IS NULL
2005/06/17(金) 00:03:44ID:???0788NAME IS NULL
2005/06/17(金) 01:55:55ID:A+zflxre0790NAME IS NULL
2005/06/17(金) 13:04:19ID:???0791NAME IS NULL
2005/06/18(土) 08:43:51ID:???行が増えるにしたがって重くなるんじゃないかなあ…
>>780はexistsを使ってるので途中で結果セットが発生しない
速さは一概には判断できないが、少なくとも処理に必要なサーバリソースは
>>780の方が少ないと思う
0792NAME IS NULL
2005/06/18(土) 10:14:20ID:???>>786も一応exists型に変換できるが、ネストがかなり深くなるな(汗
どっちにしろ、いろいろパターンがあるから、
データとかインデックスの持ち方とか検索パターンとかで変わる可能性あるから
結局のところは全部ためせってこったな(汗
0793NAME IS NULL
2005/06/19(日) 22:49:54ID:swxdw9ff唐突なんですが、相談にのってください。
日々発生する売上情報を使用して処理するトランザクション(ストアドで作成)
があるのですが、通常は5分程度で完了するものが、ある日突然1時間経過
しても終わらない状況となっています。
tempdbを異常なくらい使用していて(100G超)、データファイルの自動拡張が
できずに異常終了したこともあります。
どんな原因が考えられるでしょうか?
0794NAME IS NULL
2005/06/19(日) 23:07:09ID:???0795NAME IS NULL
2005/06/20(月) 02:54:07ID:???こんなのどう?
DECLARE @min_key int; --←キーの型
DECLARE myCursor CURSOR FOR
SELECT TOP 100 KEY FROM table
ORDER BY KEY
FETCH NEXT FROM myCursor
INTO @min_key
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM myCursor
INTO @min_key
END
SELECT TOP 20 * FROM table
WHERE KEY >= @min_key
CLOSE myCursor
DEALLOCATE myCursor
これで、100件目から20件分でるんじゃないかな?計算量2nで。
どんな順序付けで20件だかわからんから使えるシチュエーション限られるが・・・。
0796795
2005/06/20(月) 02:56:15ID:???DECLARE @min_key int; --←キーの型
DECLARE myCursor CURSOR FOR
SELECT TOP 100 KEY FROM table
ORDER BY KEY
FETCH LAST FROM myCursor
INTO @min_key
SELECT TOP 20 * FROM table
WHERE KEY >= @min_key
CLOSE myCursor
DEALLOCATE myCursor
0797NAME IS NULL
2005/06/20(月) 11:30:30ID:???http://www.sqlpassj.org/bbs/bbs_disp.aspx?forum_id=1¤t_page=1&disp_mode=2&detail_mode=1&message_id=2259
↑この記事を参考にしてSQLServer2000のアクセスログを監査しようとしてます。
SQL Serverは毎週月曜日朝に起動、毎週金曜日夕方にサービス停止後サーバ機を停止しています。
なので月曜朝に
osql /E /i "c:\auto.sql" /n (上記URLでの例)
を手動で叩く運用を考えています。
ここで1つ問題が有ります。
上記URLのページで言うところの吐き出す監査ログ「c:\kekka.trc」が既に存在している場合、
osql /E /i "c:\auto.sql" /n がエラーで停止してしまう様なのです。
-----
【ログが無い場合(正常終了)】
C:\>osql /E /i "c:\auto.sql" /n
TraceID
-----------
1
(1 件処理されました)
-----
-----
【[ログが既に存在する場合(異常終了)】
C:\>osql /E /i "c:\auto.sql" /n
ErrorCode
-----------
12
(1 件処理されました)
-----
なので吐き出すログが既に存在する場合は手動で退避させて「osql /E /i "c:\auto.sql" /n」を
起動させなければならない状況なのでチョトダサイので、ファイル名を「osql /E /i "c:\auto.sql" /n」を
叩いた時間(例:c:\kekka_200506201130.trc)にしたいのですけど、osqlでファイル名をコントロール
出来ますでしょうか?
出来ない場合は「c:\kekka.trc」のリネームと「osql /E /i "c:\auto.sql" /n」を含んだバッチファイルを
書けばいいかなぁと思うんですけど、もっとカッコイイ運用をされていらっしゃる方は居らっしゃいますでしょうか。
#蛇足ですけど参照記事で
#「 SELECT * FROM :: fn_trace_getinfo(default) 」と書いてある部分は
#「 SELECT traceid FROM :: fn_trace_getinfo(default) 」の方がいい様な気がします。
0798NAME IS NULL
2005/06/20(月) 22:51:44ID:???そのストアドがバカな設計じゃなければいいんだけどね。
とりあえず、ストアドの中身をトレースしてみたら?
インデックスとかデータ件数とか処理時間とかを気にしながら。
0799NAME IS NULL
2005/06/27(月) 09:34:16ID:dqw5VFWTほかのコンピュータのSQL Serverでアタッチできないようにするには
どうすればよいのでしょうか?
(パスワードを設定してアタッチするにはパスワードが必要など可能でしょうか?)
0800NAME IS NULL
2005/06/27(月) 20:30:14ID:???そもそも、MDFをコピーできる時点でセキュリティ面でアウトだと思うが。
0801NAME IS NULL
2005/06/27(月) 23:11:03ID:???どうしてもってならもう内部のデータ全部暗号化でどうだ。
デコード処理通さないとわけわかめにしとけ。
まあプライマリキーぐらいそのままでもいいと思うが。
住所とかIDとかPASSとTELとか名前とかそんなのを暗号化して格納しとけば
例えデータが漏洩しても大丈夫だ。
まあまたくもって現実的な話ではないが。
格納と表示の度にプログラムでエンコ・デコード処理通すのもな・・・
0802NAME IS NULL
2005/06/27(月) 23:49:34ID:???0803NAME IS NULL
2005/06/28(火) 09:27:50ID:???リバースエンジニアリングしようとすると自己破壊するハードウェアみたいなもんやね。
0804799
2005/06/28(火) 09:40:26ID:???社内のシステム担当だと可能なんですよ。
そしてMSDEなんか簡単に手に入るんで自分の
スタンドアロン環境で簡単にアタッチなど...
>>801
そうですよね。重要データを暗号化すればと思うのですが、
参照・保存でその都度、複合・暗号ってのも...
標準機能で付いてれば嬉しいんですが。
>>802
なるほど、見られる前に自動消去させるってことですね。
どんな動作になるかちょっと試してみようかなぁ...
お三方ありがとうございます。また何かいい方法があったらお願いします。
0805NAME IS NULL
2005/06/28(火) 09:47:07ID:???と言うのをナントカ出来ないのかな?
実機は隔離してDBのアカウントだけ発行するとか
って、まぁそれが難しいんだとは思うけど。。。
0806NAME IS NULL
2005/06/28(火) 19:08:09ID:???ご存知でしたら教えてください。
0807NAME IS NULL
2005/06/28(火) 20:02:07ID:???2005/11/7かな
http://d.hatena.ne.jp/aspx/20050608/p2
2005からは標準で暗号化できる
http://www.itmedia.co.jp/enterprise/articles/0410/21/news076.html
やっとROW_NUMBER関数が
http://www.microsoft.com/japan/msdn/sqlserver/sql2005/sql_05TSQLEnhance.asp
0808NAME IS NULL
2005/06/28(火) 20:31:48ID:???http://www.microsoft.com/japan/msdn/sqlserver/sql2005/sql_05TSQLEnhance.asp
の様な資料はあるんでしょうか。
T-SQLの仕様変更やら追加された関数とかが有れば知りたいです。
0809NAME IS NULL
2005/06/28(火) 21:14:42ID:???MDFファイルを2G超に膨らましておけば
MSDEではアタッチできないぞ。
でもBCPされたらそこまでだけどな。
つか、システム担当の権限はどこまでよ?
0810NAME IS NULL
2005/06/28(火) 22:17:04ID:???日本語版発売日は発表されてないよね。
0811NAME IS NULL
2005/06/29(水) 07:33:05ID:???Books Onlineの
- SQL Serverのインストール
-- SQL Server 2000 へのアップグレード:概要
--- 旧バージョンとの互換性
---- SQL Server 2000 と SQL Server Version 7.0
0812NAME IS NULL
2005/06/29(水) 09:11:20ID:???ほんとにようやくって感じだな……
0813NAME IS NULL
2005/06/29(水) 09:43:34ID:???-Transact-SQL リファレンス
--Transact-SQLの新しい機能
ってとこで見つかりました。ありがとうー
---
ROW_NUMBERが有れば随分レスの有った >>775 も簡単にできそうだね。
0814NAME IS NULL
2005/06/30(木) 10:30:10ID:???0815NAME IS NULL
2005/06/30(木) 10:40:47ID:???SQLサーバー認証のログインが出来ません。
レジストリに書き込まれていると思うのですが
どこに記述あるんでしょうか?教えてください。
0816NAME IS NULL
2005/06/30(木) 10:47:45ID:???該当アカウントのパスワードを変更するというのは?
0818NAME IS NULL
2005/06/30(木) 12:30:13ID:???それは「使うな」って事だお^^
0819NAME IS NULL
2005/06/30(木) 13:35:50ID:???ちょっとワロタw
システム管理者に相談してくださいw
0820NAME IS NULL
2005/06/30(木) 16:10:42ID:???0821NAME IS NULL
2005/06/30(木) 17:34:14ID:???0822NAME IS NULL
2005/06/30(木) 18:11:37ID:???お前の望むように勝手に使えたら重大なセキュリティホールだね^^
というかお前という奴が重大なセキュリティホールだね^^
というか死ね^^
0823NAME IS NULL
2005/06/30(木) 18:31:58ID:???会社もスゲーと思うけどなw
レベル低っ!
0824NAME IS NULL
2005/06/30(木) 19:04:01ID:???0825NAME IS NULL
2005/06/30(木) 19:10:27ID:???そのバージョンのSQLServerキホン
0826NAME IS NULL
2005/06/30(木) 22:09:47ID:???レジストリって平文同然だし
0827NAME IS NULL
2005/07/01(金) 09:06:57ID:???0828NAME IS NULL
2005/07/01(金) 09:33:11ID:???パスワード:無し
これ最強
0829815
2005/07/01(金) 09:38:38ID:???0830NAME IS NULL
2005/07/01(金) 17:48:24ID:???0831NAME IS NULL
2005/07/01(金) 17:55:04ID:???0832NAME IS NULL
2005/07/01(金) 18:50:07ID:???愛されてるみたいです
とか。
0833NAME IS NULL
2005/07/01(金) 19:58:04ID:???0834NAME IS NULL
2005/07/01(金) 20:05:52ID:???iloveyou
0835NAME IS NULL
2005/07/05(火) 17:14:33ID:???0836NAME IS NULL
2005/07/05(火) 17:51:32ID:???止めとけ、SQL Serverがクラッシュするぞ。
0837NAME IS NULL
2005/07/05(火) 18:48:49ID:cbZxJwk5拡張子「BAK」のついたデータをいきなり渡されました。
聞けば、「MS SQL Server」のデータだと言ってます。
このデータから、復元ってできるものなのでしょうか?
差分バックアップデータではなさそうなのですが。
0838NAME IS NULL
2005/07/05(火) 20:21:09ID:???それが完全バックアップを含んでるなら可能。
復元されるデータファイルのはバックアップ時の位置に作られるので
ドライブレターなどの構成をあわせる必要あり。
sa以外のユーザーを使ってたらDB内のユーザーとログインIDの関連付けも必要になる。
データの受け渡しにバックアップイメージを渡すのはスマートじゃないと思うが、
ネットで接続できない場合ほかに適当な手段がないのでわりと使われてる。
0839NAME IS NULL
2005/07/05(火) 21:50:06ID:UHwt9kL+DTSパッケージのサンプルということで、
拡張子がdtsのバイナリファイルを貰いました。
EnterpriseManagerではインポートできないと思うのですが・・・
ググッたところ、DTSデザイナというものが存在するようですが、
当方のSQLServer2000のDeveloper版には無いような・・・
インストール時のオプションで選択しないと駄目なのでしょうか?
0840NAME IS NULL
2005/07/05(火) 22:05:17ID:???ありがとうございました! 無事復元させることができました。
0841NAME IS NULL
2005/07/05(火) 22:13:03ID:???1) Enterprise Managerのツリービューの"データ変換サービス"で右クリックして"パッケージを開く"を選択
2) もらった dts ファイルを選択
3) パッケージデザイナ画面が開いて、dts ファイルの内容が表示されるので
"パッケージ"→"名前を付けて保存"を選択
5. 場所コンボボックスを"SQL Server"に変更して、サーバー、ユーザー名、パスワードを
入力して"OK"クリック
0843NAME IS NULL
2005/07/11(月) 15:41:12ID:???ウチ、マジでソレなんやけどw
0844NAME IS NULL
2005/07/11(月) 15:49:06ID:???( ´д)ヒソ(´д`)ヒソ(д` )
0845NAME IS NULL
2005/07/11(月) 16:29:29ID:???ってなんかのキャッチコピーみたいですね。
0846NAME IS NULL
2005/07/11(月) 20:35:38ID:???もらくる
0847NAME IS NULL
2005/07/13(水) 09:53:20ID:???0848NAME IS NULL
2005/07/13(水) 10:31:59ID:cwIOx3kCSQL2000サーバーに各端末から.MDBでデータ処理しています。
テーブルのレコードを変更したとき、他ユーザーが開いていますなどと称して、
競合で変更が更新されないことがあります。もちろん競合はない筈でも、この
メッセージがでて変更ができないことがあります。
この不具合の原因について、教えていただけないでしょうか。
0849NAME IS NULL
2005/07/13(水) 12:09:14ID:???会社のネットワークで、
SQL2000サーバーに各端末から.MDBでデータ処理しています。
テーブルのレコードを変更したとき、他ユーザーが開いていますなどと称して、
競合で変更が更新されないことがあります。もちろん競合はない筈でも、この
メッセージがでて変更ができないことがあります。
この不具合の原因について、分る方いっらしゃいますでしょうか。
0850NAME IS NULL
2005/07/13(水) 12:09:46ID:???会社のネットワークで、
SQL2000サーバーに各端末から.MDBでデータ処理しています。
テーブルのレコードを変更したとき、他ユーザーが開いていますなどと称して、
競合で変更が更新されないことがあります。もちろん競合はない筈でも、この
メッセージがでて変更ができないことがあります。
この不具合の原因について、教えていただけないでしょうか。
マルチしすぎ死ね
0851NAME IS NULL
2005/07/13(水) 12:13:42ID:???0852NAME IS NULL
2005/07/13(水) 12:18:50ID:Kkt8JXUaお前が調べた事を書いてくれ。
話しは、それからだ。
0853NAME IS NULL
2005/07/13(水) 12:23:11ID:???どんな情報が必要なの。
マルチ扱いされているが、質問レスに書いた通りだが。
フォームからやテーブルを直接開いてレコードに修正加えて保存しようとしても、
データの競合で変更できないんです。
0854NAME IS NULL
2005/07/13(水) 12:23:44ID:???SQL2000サーバーに各端末から.MDBでデータ処理しています。
テーブルのレコードを変更したとき、他ユーザーが開いていますなどと称して、
競合で変更が更新されないことがあります。もちろん競合はない筈でも、この
メッセージがでて変更ができないことがあります。
この不具合の原因について、教えていただけないでしょうか。
0855NAME IS NULL
2005/07/13(水) 12:25:08ID:???SQL2000サーバーに各端末から.MDBでデータ処理しています。
テーブルのレコードを変更したとき、他ユーザーが開いていますなどと称して、
競合で変更が更新されないことがあります。もちろん競合はない筈でも、この
メッセージがでて変更ができないことがあります。
この不具合の原因について、教えていただけないでしょうか。
マルチしすぎ死ね
0856NAME IS NULL
2005/07/13(水) 12:28:47ID:???0857NAME IS NULL
2005/07/13(水) 12:32:56ID:???SQL2000サーバーに各端末から.MDBでデータ処理しています。
テーブルのレコードを変更したとき、他ユーザーが開いていますなどと称して、
競合で変更が更新されないことがあります。もちろん競合はない筈でも、この
メッセージがでて変更ができないことがあります。
この不具合の原因について、教えていただけないでしょうか。
0858NAME IS NULL
2005/07/13(水) 12:34:37ID:???( ´ー`) < シラネーヨ
\ < └───/|────
\.\______//
\ /
∪∪ ̄∪∪
0859NAME IS NULL
2005/07/13(水) 12:39:18ID:???0860NAME IS NULL
2005/07/13(水) 20:18:51ID:???ヒントがなさ過ぎる。
0861NAME IS NULL
2005/07/13(水) 22:57:50ID:UXfmrCnT主キー/オートナンバー型のフィールドを1から戻すにはどうしたら良いのでしょうか?
テーブル自体作り直すしかないのでしょうか?
0862NAME IS NULL
2005/07/13(水) 23:05:02ID:???データを全部消しても良いならTRUNCATE
0863NAME IS NULL
2005/07/13(水) 23:30:32ID:???BooksOnlineでDBCCとIDENTITYの呪文を唱えながら、探してみてください。
0864861
2005/07/13(水) 23:39:03ID:UXfmrCnTとりあえず今触ってたら一度データを全削除しオートナンバーを解除してテーブル保存。
再度オートナンバーにしたら直りました。
>>862,863
TRUNCATEもDBCCもよくわかりませんので調べてみたいと思います。
ありがとうございました。
0865NAME IS NULL
2005/07/16(土) 07:54:43ID:???その場しのぎの断片的な方法しか得られず
百害あって一利なしだぞ。
まずBooksOnlineを読め。
それが難しすぎるというんだったらおとなしくまず
参考書の一冊でも買ってきてそれを読んでから来い。
0866ISNULL( NAME,'初心者' )
2005/07/17(日) 01:59:03ID:I4aojghxLEFT OUTER JOINを使用するSQLだと待機状態になり結果が返ってくるまで
かなりの時間がかかるのですが(結合条件は間違ってはいないと思います・・)、
UNIONを使用すると1分ほどで結果を得られます・・・
UNIONのほうが処理としては早いのでしょうか?
0867NAME IS NULL
2005/07/17(日) 02:23:11ID:???LEFT OUTER JOINをUNIONで代用できるのか?
条件にもよるから、どんなSQLを実行したのかUPしないとなんともいえない。
0868NAME IS NULL
2005/07/17(日) 13:56:51ID:???0869NAME IS NULL
2005/07/20(水) 20:13:31ID:c8nDa3oN知りたいのはSQL-DMOなのですが(このスレでいいのでしょうか?)SQL-Server7.0時代では
ちゃんと動作していたアプリがSQL-Server2000にアップした所動かなくなってしまいました。
DMOのヘルプも参照したのですが 何分英語なのと 何が変わった?かが掴めず
Methodも存在しているようでエラーは返ってこないのですが 取得される値がおかしいのです。
取得したい値はユーザー毎のPermissionでListUserPermissionsよりGetCountしてそれぞれの
Permissionを取得しているのですが、特定のユーザーに「SELECT,INSERT」の権限を設定しても
GetCountで1しか返してきません。権限の内容を取得すると「SELECT」でした。データベースへ直接
ストアド(sp_helprotect)で調べるとちゃんと「SELECT,INSERT」も許可されています。
一体何が原因なのでしょう?心当たりがある方いらっしゃいませんか?
0870NAME IS NULL
2005/07/21(木) 09:39:50ID:???角度とか
0871NAME IS NULL
2005/07/21(木) 09:50:08ID:???数週間前までは30〜80メガくらいしかいかなかったのですが。
レコードを追加してるのでもなく、サービスを開始してると次第に上がっていく感じです。
何か、疑うとこあるでしょうか?
Sql2000+sp2です。
0872NAME IS NULL
2005/07/21(木) 12:37:36ID:???「感じ」じゃ分からんだろうからシステムモニタを使って監視してみたら。
0873NAME IS NULL
2005/07/21(木) 13:21:24ID:???sqlldrでcsvファイルを読み込んでいるのですが、
csvファイルが「A,B,C,D,E」となっていて
対象テーブルは「C,D」しか項目が無いのです。
どのようにctlを記述すれば良いのでしょうか。
csvファイルを変更するっていうのは仕様的に駄目みたいです。
検索しても、sqlldrについては大抵基本形しか載ってないので
よくわかりませんでした。
教えてください。宜しく御願いします。
0874NAME IS NULL
2005/07/21(木) 13:36:11ID:???http://www.ne.jp/asahi/hishidama/home/soft/oracsv/index.html
0875NAME IS NULL
2005/07/21(木) 13:55:01ID:???SQLLDRってSQLServerにもあった?
0876873
2005/07/21(木) 14:24:37ID:???ありがとうございます。
でも、このツールでは基本形しか作成してくれません。
(テーブル項目を記述して、その通りにctlファイルを作成するだけっぽい)
>875
ありがとうございます。
オラクルに逝ってきます。
0877NAME IS NULL
2005/07/21(木) 18:17:44ID:RfIxcPDrお互いのマシンは通信できる環境にないので、
SQLスクリプトかダンプファイルを出力するなどして
移行したいのですが、可能でしょうか?
試しにSQLスクリプトを吐き出させたのですが、MSDEの方で走らせるとエラーが
出てしまいます。。
Oracleは経験あるのですが、SQLServerは長所新車です。。。
よろしくお願いいたします。
0878NAME IS NULL
2005/07/21(木) 18:34:05ID:???> 出てしまいます。。
どんなテーブルを作成しようとしてどんなエラーが出田野出消化。
経験者なら経験者らしい質問をしようぜベイビー。
0879877
2005/07/21(木) 18:53:27ID:RfIxcPDr適当にやってたらなんとか関数以外は全部コピーできました。
でもSQLServer7には関数がないらしいですね!
関数を呼び出すプログラムの部分は全て書き直さなければいけないんでしょうか。。。
値を返すストアドとか作れるのでしょうか?
0880877
2005/07/21(木) 19:42:51ID:RfIxcPDr0881NAME IS NULL
2005/07/21(木) 22:17:34ID:???なんでMSDE2000を使わないんだ?
0882NAME IS NULL
2005/07/22(金) 16:27:44ID:???はありませんか?
ALTER TABLE table1 ADD col1 integer
のようにやると、当然ながらテーブルの末尾に追加されてしまいます。
任意の位置に列を追加する方法があれば教えてください。
よろしくお願いします。
0883NAME IS NULL
2005/07/22(金) 16:40:24ID:B8s/LCPuのですが、どのような方法があるのでしょうか。
Excel Add-in for Analysis Servicesはクライアント機能のみで
レポート共有は出来ないと思われます。
Microsoft以外の他社製BIツールを使わずに実現する方法について
アドバイスもしくはヒントを頂ければありがたいです。
0884NAME IS NULL
2005/07/22(金) 16:58:40ID:???ALTER TABLEではムリ。テーブルを再作成するしかない。
EnterpriseManagerを使えば可能(これも内部でテーブルを再作成している)
0885NAME IS NULL
2005/07/22(金) 19:53:34ID:???Visual Studioで開発したレポートをReporting Servicesの標準機能で共有。
またはWindows Sharepoint ServicesのBI用Webパーツを使う。とか。
0886NAME IS NULL
2005/07/22(金) 22:53:35ID:V0HvoT840887NAME IS NULL
2005/07/22(金) 23:26:21ID:???0888NAME IS NULL
2005/07/22(金) 23:49:09ID:???backup database データベースファイル名 to disk = `c:¥backup¥aaa.dat` with init
ってスクリプトでDATファイルを取ったんですよ
でもね、これからMDFとかLDFとか復旧させる方法がわからないんですよ。
おしえて、エロイ人!
0889NAME IS NULL
2005/07/22(金) 23:53:34ID:???RESTORE
0890888 ◆Upy4wcs9SI
2005/07/23(土) 01:11:51ID:???で情報がとれないっす、たすけて、エロイ人!
0891NAME IS NULL
2005/07/23(土) 09:23:31ID:???0892NAME IS NULL
2005/07/23(土) 12:13:52ID:???本を読んだ方がいいよ。
おすすめは「現場で使えるSQL」。
他にはhttp://www.microsoft.com/japan/SQL/techinfo/selfstudy/Self_doc.aspの
開発編
5-1. Transact-SQL を使用したデータベースの基本操作
5-2. Transact-SQL を使用したデータベースの基本操作
0893NAME IS NULL
2005/07/23(土) 12:48:28ID:d4eNuGOvMS、SQL ServerとVisual Studio新版に合わせた新認定プログラムを計画
Microsoftは認定資格試験のプログラムを改変する。
現在の技術者中心のプログラムから、より一般的なものに変わる予定。(IDG)
米Microsoftは11月に予定されているSQL Server 2005とVisual Studio 2005のリリースに合わせて認定プログラムの変更を準備中だ。
ミネアポリスで開催されたWorldwide Partner Conferenceで、Microsoft Learningグループのマネジャーが、
デベロッパーおよびデータベースエンジニア向け認定プログラムの変更について述べ、
技術者中心の認定プログラムから、より一般的な認定プログラムに変わる予定だと語った。
Microsoftは9月に試験の名称を公表し、新しい認定のための準備ガイドとアップグレードパスに関する情報をリリースする予定。
SQL Server 2005とVisual Studio 2005が一般発売されればパートナーと顧客は準備を始めることができる、とバルバーノ氏は付け加えた。
これどうよ。
0894NAME IS NULL
2005/07/23(土) 15:16:40ID:???資格取得者向けにMSDN特別割引制度とかアフィリエイトプログラムでもあれば考えてやってもいいが。
0895NAME IS NULL
2005/07/23(土) 18:29:38ID:YLKzAIbsですから資格としてどうなのかなあって事ですので
0896NAME IS NULL
2005/07/23(土) 21:43:23ID:???それを評価する立場の人間はこんなスレにはこないだろう
0897NAME IS NULL
2005/07/24(日) 02:51:14ID:???取って意味があるのかどうか、みたいな話では。
と、MCPか何か取らないと来年も昇級なしですよ、と言われた漏れは思っています。
0898NAME IS NULL
2005/07/24(日) 08:11:52ID:???0899NAME IS NULL
2005/07/24(日) 08:43:41ID:???うちみたいな、資格を取ろうと結局年功序列な環境では取るだけ金が勿体無い。
つかベンダー資格は全般的に高すぎだよなぁ
0900NAME IS NULL
2005/07/24(日) 09:04:38ID:???0901NAME IS NULL
2005/07/24(日) 09:57:19ID:U5TivVQpデータベース管理者、
データベース開発者、
ビジネスインテリジェンス開発者
としての認定を得ることができる。
あとはMCAやDB/2エンジニアのような初級基礎レベルのMCPがあるのかどうか。
0902NAME IS NULL
2005/07/25(月) 14:19:01ID:TRMXkurNASPじゃなくて、ストアドでbasp使ったメール送信プログラムを作ってと言われたんだけど
何がなんだか…。
ほんの数ヶ月前まで、ストアドって何?だったのに、無茶苦茶な。
でも、やるしかないので、検索しながらやってます。
ttp://www.bea.hi-ho.ne.jp/byoko/bnewslog22.html
ここらあたり読んではみたものの…
何から始めればいいのかもわかりません。
だれか、助けてください…。
0903NAME IS NULL
2005/07/25(月) 14:32:26ID:???助けてやるからストアドって何なのか説明よろ
0904902
2005/07/25(月) 14:34:22ID:TRMXkurN↑って共通語じゃなかったんだ_| ̄|○
ごみん。
0905NAME IS NULL
2005/07/25(月) 14:43:54ID:???0906NAME IS NULL
2005/07/25(月) 14:49:53ID:???baspに拘らないならこういうのがあるよ。
http://support.microsoft.com/?scid=kb;ja;312839&spid=2852&sid=global
0907NAME IS NULL
2005/07/25(月) 15:09:26ID:dGM+1vOZあるDBに存在する全ての表の行数を一発で取得できる様な物(ストアドプロシージャとか)は標準では無いのでしょうか。
select name from sysobjects where xtype='U' group by name order by 1
で取ってきたテーブル名の一覧をfetchで
select count(*) 行数 from [テーブル名]
に突っ込んで行こうと頑張ってみたんですけど、エラーで動きません。
(構文が判ってなかったりします…内容は次の発言で。)
0908907
2005/07/25(月) 15:09:42ID:dGM+1vOZAS
drop table user_tables;
create table user_tables
(テーブル名 varchar(128),行数 int);
Declare @ChvTable varchar(128)
Declare @CurTables Cursor
Set @CurTables = Cursor For
select name from sysobjects where xtype='U'
Open @CurTables
Fetch Next From @CurTables Into @ChvTable
While (@@FETCH_STATUS = 0)
Begin
insert into user_tables (テーブル名,行数) values (@CurTables,select count(*) from @CurTables);
Fetch Next From @CurTables
Into @ChvTable
End
Close @CurTables
Deallocate @CurTables
select * from user_tables;
0909907
2005/07/25(月) 15:12:02ID:dGM+1vOZBegin
insert into user_tables (テーブル名,行数) values (@CurTables,select count(*) from @CurTables);
の辺りでエラーが起きていると思います。
サーバー : メッセージ 16949、レベル 16、状態 1、プロシージャ PR_user_tables、行 21
変数 '@CurTables' はカーソル変数ですが、カーソル変数が無効なところで使用されています。
とか言われました。
標準のストアドが有ったらいいんですけど、無かったら↑がどうにか動くようにならないでしょうか。
0910NAME IS NULL
2005/07/25(月) 15:13:17ID:???やったことないけど、sp_OACreate辺りで何とかなるかもね。
でも、>>906が言うとおりストアドからメールを送信したい、って
要件が変だと思うが。。。
ムリにストアドでやる処理ではないんぢゃないのかなぁ。
0911902
2005/07/25(月) 15:22:38ID:TRMXkurNHTMLメールを送りたいらしいんだけど、
既存のxp_sendmailじゃ送れる文字情報が足りない?のかな?
>>910
sp_OACreateとか、sp_OAMethod使うみたいな事を聞いてます。
0912NAME IS NULL
2005/07/25(月) 16:19:10ID:???一発で取得できる方法はちょっと判らないけど、出してくれたストアドを修正してみた。
3箇所コードを追加、1箇所コードを削除ね。
CREATE Procedure PR_user_tables
AS
drop table user_tables;
create table user_tables
(テーブル名 varchar(128),行数 int);
Declare @ChvTable varchar(128)
Declare @CurTables Cursor
Set @CurTables = Cursor For
select name from sysobjects where xtype='U'
--追加
DECLARE @SQL NVARCHAR(4000)
Open @CurTables
Fetch Next From @CurTables Into @ChvTable
While (@@FETCH_STATUS = 0)
Begin
--削除
--insert into user_tables (テーブル名,行数) values (@CurTables,select count(*) from @CurTables);
--追加
SET @SQL = N'INSERT INTO user_tables(テーブル名,行数) SELECT @table, COUNT(*) FROM ' + @ChvTable
EXECUTE sp_executesql @SQL, N'@table VARCHAR(128)', @table = @ChvTable
Fetch Next From @CurTables
Into @ChvTable
End
Close @CurTables
Deallocate @CurTables
select * from user_tables
0913907
2005/07/25(月) 16:38:27ID:???早速のご教示有り難う御座います!
追加して頂いた部分を読み返すにつれ吐き気と眩暈を禁じ得ません…。orz
ご教示頂いた部分についてはまだ理解は出来てませんが、
user_tablesをselectするとDB内の各テーブルをcountした集計を取得できました!!
#最後の行の select * from user_tables だけストアド内で動かないので削りました。
有り難う御座いました!!ワショーイ!
0914902
2005/07/25(月) 19:01:26ID:TRMXkurNexec @rbasp = sp_OACreate 'Basp21', @basp out
exec @rbasp = sp_OAMethod @basp,
'SendMail',
@basp_msg out,
@mail_sv,
@from ,
@send_to ,
@subject ,
@body ,
@attachments
exec sp_OADestroy @basp
set @basp = 0
(色々省略)
ただ、こいつにContent-Typeを設定したいのですが、
どこに書いたらいいかもわかりません…。
ASPと同じく、@send_toにくっつけるの??
0915NAME IS NULL
2005/07/25(月) 21:31:35ID:???0916NAME IS NULL
2005/07/25(月) 21:45:15ID:???inner join sysindexes as b on(a.id = b.id )
where a.type = 'U' and b.status in (2050, 18450 )
order by a.name
0917NAME IS NULL
2005/07/25(月) 23:46:35ID:jRAimYLf後から一部の設定をポチポチ直すことはできないのかな。
SQL Server自体の設定(ローカルのインスタンスで
右クリック:プロパティ で得られるような情報)の移行めんどくさくない?
誰かこんなモヤモヤ感を吹き飛ばしてくださいm(_ _)m
0918NAME IS NULL
2005/07/26(火) 09:36:26ID:???masterのバッくっぽを忘れたときはそれでmasterを再構築するとかナントカ
記憶がテキトーなのでbooksOnlineでかくにんしてくだふぁい!
0919907
2005/07/26(火) 10:15:22ID:???sysindexes表にrowcount列という物が有ったんですねー…調べきれてませんでしたすみません。
にしても素晴らしい。
ストアドプロシージャで表にガツガツinsert(して出来上がった表をselectする処理)が3分掛かってたのが
このSQL文だと0.5秒で出来ちゃいますね(^^; 貴重なSQLをご提供頂きまして有り難う御座います♪
0920NAME IS NULL
2005/07/27(水) 19:12:54ID:cYgEO8Ajどうかいたらいいのでしょうか?
DO until (sp_OAMethod @handle, 'AtEndOfStream')
/* ReadLineメゾッド・・・1行ずつ読み込む*/
exec @hr = sp_OAMethod @handle, 'ReadLine', @HtmlAll out
loop
もちろんエラーでます…
0921NAME IS NULL
2005/07/27(水) 20:46:13ID:???正しくは、exec @hr = sp_OAMethod @handle, 'ReadLine', @HtmlLine outでした(^-^;
次は、1行ずつ新規ファイルに書き込みか…
0922NAME IS NULL
2005/07/28(木) 10:17:49ID:???えっと、それはストアドプロシージャでやらなければならない処理なのでしょうか。
もしそうだとしても、そういう処理をやるCOMコンポーネントを作って、それをストアドから
呼び出すほうが良いのではないでしょうか。
0923NAME IS NULL
2005/07/28(木) 10:29:43ID:???sp_OACreateで、どのようなActiveXを生成しているか示さずに
いきなりsp_OAMethodが動かん、って言ってるワケだから
>>920-921はただの独り言だろ。相手にしなさんな。
0924NAME IS NULL
2005/07/29(金) 15:44:45ID:+Y0MBKhq調べ、重複してれば対象となるデータの削除をしたいのですが、
うまく行きません。どなたか、教えてください。
もしくは、MS SQLServerに関するTips等を
公開してるHPが有りましたら誘導お願い致します。
0925NAME IS NULL
2005/07/29(金) 16:40:22ID:???テーブル構造を出して。
重複しているカラムとは別にそのレコードを特定するカラムが存在しないとムリポ。
>MS SQLServerに関するTips等を。。。
MS SQLServerではなくSQLにまつわる話だわな。
0926NAME IS NULL
2005/07/29(金) 18:23:10ID:???ID (アイデンティティー化してある。一意の番号)
データ1(VARCHARのテキストデータ)
データ2(VARCHARのテキストデータ)
データ3(VARCHARのテキストデータ)
データ削除フラグ1
データ削除フラグ2
データ削除フラグ3
初期のデータ追加の際にデータ重複をチェックしてから、
追加ということをしてなかったせいで・・・orz
宜しくお願い致します〜。
0927NAME IS NULL
2005/07/29(金) 19:00:33ID:???1.ある行の データn と 違う行の データn が同じだと削除
2.ある行の データn と 違う行の データm が同じだと削除
3.ある行の データ? と 違う行の データ? が同じだと削除
自分で書いててワケ分からなくなってきたので止めます。
「重複してれば対象となるデータの削除をしたい」も、削除する・しないの基準とかあるのかな?IDが若い方を残す、とか。
delete from table1 where isexists
(select data1 from table1 B where table1.data1=B.data1
and table1.ID<B.ID)
みたいな?
漏れも初心者なのでおかしかったら教えてください>だれか
0928NAME IS NULL
2005/07/29(金) 19:51:27ID:???データ1の中で重複があれば、若いIDの方のデータを残すを
データ2、データ3をチェックしたいのです。
>>927 の
delete from table1 where isexists
(select data1 from table1 B where table1.data1=B.data1
and table1.ID<B.ID)
を改良すればいけると思います〜。
どうもありがとうございます。
0929NAME IS NULL
2005/07/29(金) 19:57:26ID:???SQLがどうたら言う前に日本語をなんとかしろや。
>データ1の中で重複があれば、若いIDの方のデータを残すを
>データ2、データ3をチェックしたいのです。
なんのこっちゃ。
0930NAME IS NULL
2005/07/29(金) 23:32:16ID:TptMJ2aG0931NAME IS NULL
2005/07/29(金) 23:35:24ID:???うわぁ〜〜〜恥ずかしい・・・・
うまくできそうで急いでたらひどい日本語かいてる・・・orz
>データ1の中で重複があれば、若いIDの方のデータを残すを
>データ2、データ3をチェックしたいのです。
データ1の中で重複があれば、若いIDの方のデータを残す、
そして同様にデータ2、データ3もチェックしたいのです。
これでも変ですかねぇ(汗汗
0932NAME IS NULL
2005/07/30(土) 00:39:50ID:???日本語で判りづらいかな、と感じたらサンプルの元データと期待する結果を
書いたほうがいいよ。
0933NAME IS NULL
2005/07/31(日) 00:02:43ID:???ならば安直に同じ構造のテーブルを作ってデータ1,2,3にunique制約をつけて
カーソルでも使ってエラーを無視しながら一行ずつデータをコピーすればいいかと。
そうでなければselect min(id),データ1 group by データ1 とかすれば
各データ毎に残すべきidが取得できるから
同じデータでidがそれより大きいものは消す、とでもすればいかが?
0934933
2005/07/31(日) 00:03:58ID:???0935NAME IS NULL
2005/07/31(日) 19:01:17ID:kegvtZTR開発用なんだけど大丈夫かな?
もうWindows2000Server売ってないだよね。
0936NAME IS NULL
2005/07/31(日) 19:11:36ID:???0937NAME IS NULL
2005/07/31(日) 22:54:24ID:P0gsa3YZできないようです。(テーブルBが見つからないというエラー)
同じようなことをSQL一文のみで一時テーブルも使わずに実現できないでしょうか?
(SELECT * FROM A WHERE xxxx) AS B
UNION
SELECT * FROM B WHERE xxxx
0938NAME IS NULL
2005/08/01(月) 04:25:32ID:???何がしたいんだかわからないが、普通にこれじゃなぜダメなのか?
SELECT * FROM A WHERE xxxx
UNION
SELECT * FROM B WHERE xxxx
こういう構文にすればサブクエリは使えるが意味あるの?
select * from (SELECT * FROM A WHERE xxxx) AS B
UNION
SELECT * FROM B WHERE xxxx
0939NAME IS NULL
2005/08/01(月) 04:53:58ID:???どういう状況でそんな処理が必要なのか興味あるな。
0940937
2005/08/01(月) 07:46:14ID:???> こういう構文にすればサブクエリは使えるが意味あるの?
その構文でも同じエラーになります・・・・
SQL Server 2000 SP3ですけど。
>>939
その疑問はよく分かります。
実際は * や xxxx には複雑なものが入ります。
ただしそれは質問には関係ないので、聞きたいことが明確に分かるよう
最小形にしたものが質問の内容でした。
0941NAME IS NULL
2005/08/01(月) 13:24:19ID:???>最小形にしたものが質問の内容でした。
つまり最小形にする段階でさらになにか間違ってるということだね。
0942NAME IS NULL
2005/08/01(月) 21:35:46ID:???何をしたいのか全然分からんのだけど?
あとSQL一文のみとか一時テーブル使わずに、とかの縛りの理由も聞きたい。
0943937
2005/08/02(火) 00:23:38ID:AOPF3Fnf例えば次のようなテーブルにて「10000よりも大きい値について、
その値とその値を2倍した値の結果セットを求める」というような感じです。
いろいろな方法があると思いますがUNIONを使う方法で試したときに
エラーになったので質問しました。
TestTable
col1
------------
5000
12000
14000
ResultSet
col1
------------
12000
24000
14000
28000
まず単純に考えると・・・
SELECT col1 FROM TestTable WHERE col1 > 10000
UNION
SELECT col1 * 2 FROM TestTable WHERE col1 > 10000
同じような処理があるので次のように考えて・・・・
SELECT col1 FROM (SELECT col1 FROM TestTable WHERE col1 > 10000) AS T
UNION
SELECT col1 * 2 FROM (SELECT col1 FROM TestTable WHERE col1 > 10000) AS U
同じクエリの部分を一つにして・・・・
SELECT col1 FROM (SELECT col1 FROM TestTable WHERE col1 > 10000) AS T
UNION
SELECT col1 * 2 FROM T
しかし、「オブジェクト'T'が見つかりません」エラーが出ました。
そこでなぜ駄目なのかなーと疑問に思ったのです。
他にも方法があると思いますが、その方法を知りたいのではなく
これがなぜエラーになるのか知りたかったのですが・・・
0944NAME IS NULL
2005/08/02(火) 01:22:48ID:???一緒にするってのが根本的に間違ってる気がする。
0945NAME IS NULL
2005/08/02(火) 02:20:59ID:???サブクエリやその別名の対する考え方がまちがっている。
そういう使い方は文法上できないというのが答え。
UNIONの下段のSELECT命令は上段SELECT命令の内容に左右されない、だから下の段では
サブクエリでは無く実際のテーブルやビューのTを参照しそれが無いというエラーになる。
そもそもサブクエリに別名をつけていてもそこで実際に中間の結果セットが
作られるかどうかの保証は無い。実際の実行プランはプランナに左右される。
最初のクエリで正解。実行計画によってはあなたが期待した動きをしている可能性もある。
あとUNION ALLでなくUNIONを使う必要があるかはよく検討するべき。
0947NAME IS NULL
2005/08/02(火) 19:54:35ID:IqfK276y255ファイル目で、正常にオープン出来なくなります。
(戻り値=10077)
現在、3000ファイルをオープンさせようとしているのですが、
どうしたらいいでしょうか…
0948NAME IS NULL
2005/08/02(火) 20:04:59ID:???ドキュメントが見当たらん。どこにあるんだ??
Books Online探しても見つからねえ・・・orz
0949947
2005/08/02(火) 20:21:10ID:IqfK276yちなみに、1つ前のOpenTextFile後のCloseは、
正常に閉じれています。
0950NAME IS NULL
2005/08/02(火) 20:39:48ID:???それって本当にストアドで読み込む必要があるの?
vbsでもperlでもいいから、外部プログラムで1ファイルにまとめてから
SQLに渡したほうが楽そうな気がする。
0951NAME IS NULL
2005/08/04(木) 00:10:21ID:???http://support.microsoft.com/?kbid=888799
って酷くね?
http://support.microsoft.com/kb/887974/
FIX:動的なカーソルでフェッチと、 SQL Server 2000 Service Pack 3 に予期しない結果が発生します。
とか喰らってんだけど、
予期しない結果を発生するモノを想定してナニを書けば良いのか悩んでおりますw
0952NAME IS NULL
2005/08/04(木) 07:11:13ID:???>>この修正プログラムを適用した後に、コンピュータを再起動するべきではありません。
( ゚д゚)?再起動したら元に戻っちまったりして?
0953NAME IS NULL
2005/08/04(木) 09:43:20ID:???0954NAME IS NULL
2005/08/04(木) 10:58:49ID:???You do not have to restart → 再起動する必要はありません。
だろ、普通…
0955NAME IS NULL
2005/08/04(木) 11:26:47ID:???must toとmust not toは漏れも結構悩んだよ。
中学生の時だけど・・・
0956NAME IS NULL
2005/08/04(木) 13:19:36ID:???何の自慢?(w
0957NAME IS NULL
2005/08/04(木) 14:32:05ID:???0958955
2005/08/04(木) 14:41:08ID:???0959NAME IS NULL
2005/08/04(木) 17:39:35ID:t9ObyxtqADODB.Commandオブジェクトでパラメータの数が不定な場合はどうすればいいんでしょうか。
たとえば以下のような感じのSQL。
select * from foo where id in (?)
このとき、?の部分に来るパラメータの数が一定ではない場合です。上記の書き方だと、
パラメータはひとつしか渡せないのですが、パラメータはひとつの場合もあれば、三つの
場合もあります。なんかうまい方法は無いでしょうか。
よろしくお願いします。
0960NAME IS NULL
2005/08/04(木) 17:52:37ID:???テーブル名可変の場合、だけど、何かもっと上手い方法が有るんじゃないか、
と思いつつ、ストアドの中で
set @sql=N'select * from ' + @テーブル名 + ';'
sp_executesql @sql文
ってやってるなぁ。in句の場合は一時テーブルに入れてしまって
sql文は固定してしまう方がパフォーマンスは上がりそうだけど。
0961NAME IS NULL
2005/08/04(木) 18:33:10ID:???・パラメータ数に合わせたSQLを用意する
・1個のSQLだけど複数パラメータの有効・無効を切り替えられるようにする
ttp://www.codeproject.com/useritems/sql_WHERE_clause.asp
ただし完全に任意個数だと動的にSQL文字列を構築することになるような気もしますが。
0962NAME IS NULL
2005/08/04(木) 20:14:45ID:???0963NAME IS NULL
2005/08/09(火) 14:34:53ID:Lv2nBy4VLike条件を課すときに、
ひらがな、カタカナを区別なしにSELECTしてしまいますが、
ひらがな、カタカナを区別することは可能でしょうか?
例)
Like'%あ%'
の場合
・あいうえお
・アイウエオ
両方ともSELECTしてしまう。
0964NAME IS NULL
2005/08/09(火) 15:02:44ID:???select * from テーブル where カラム like '%あ%' COLLATE Japanese_CI_AI_KS
0965NAME IS NULL
2005/08/09(火) 17:02:22ID:???要らないんだってYO
0966NAME IS NULL
2005/08/09(火) 17:11:03ID:???フェイルオーバークラスタの待機系はもとからライセンスは要らなかったと思ったが
監視系ってなんだろう。
0967NAME IS NULL
2005/08/09(火) 20:13:30ID:???ミラーリング構成にしたときのウィットネスだろ
http://pcweb.mycom.co.jp/cgi-bin/print?id=23491
0968NAME IS NULL
2005/08/10(水) 11:15:47ID:???http://naka.wankuma.com/site/column/server/00003.htm
これってSQLServer7.0とかSQLServer2000の計算列とどう違うの?
0969NAME IS NULL
2005/08/10(水) 12:42:32ID:???Index付けするときの制約が2005で弛んだとかじゃまいか。
ANSI_NULLS をONにしろとか色々あったじゃん。
0970NAME IS NULL
2005/08/10(水) 16:39:51ID:XqhE6LryANSI SQLのinterval型とdate型の追加は欲しかった。
0971NAME IS NULL
2005/08/10(水) 17:00:10ID:???いまだに SQL Server 7.0 (Win2K)を使ってるのだが
WSUS や Groupboard 使いたいので
アップグレードを検討してます。
SUS は来年6月でサポートが切れるらしいので
それまでに SQL をアップグレードしたいのだけど
今すぐ SQL 2000 を買うべきか
それとも SQL2005を待つべきか
どうでしょう。
0972NAME IS NULL
2005/08/10(水) 19:19:02ID:???GroupBoard と WSUS を使いたいだけなら今すぐ2000を買う。
これから.NET開発を始めたりするなら2005を待つ。
予算に余裕があるなら L+SA でアシュアランスを付けて2000を買う。
手感じ?
0973NAME IS NULL
2005/08/10(水) 21:45:30ID:???サポートが切れて、おまいがいつ頃どれだけ困るかによると思うけど。
0974NAME IS NULL
2005/08/10(水) 22:35:26ID:???出始めの2005に乗っかるのは危険ではなかろうかと思ったり。
0975NAME IS NULL
2005/08/10(水) 22:41:14ID:???同意。
W2003とかを見る限り、以前より出始めの品質はマシになった気はするが。
0976NAME IS NULL
2005/08/10(水) 22:41:59ID:???有事に混乱しないためにはサポートが切れる前に予算を組むのが常套なんじゃないかな。
SUSはセキュリティに直結するソフトだし。
0977NAME IS NULL
2005/08/10(水) 23:51:56ID:???まあ、漏れは後1年はWinXP+VS.NET2003+SQLserver2000体制で行くが。
0978NAME IS NULL
2005/08/11(木) 01:51:01ID:???0979971
2005/08/11(木) 08:11:14ID:???>>972
.NET開発の予定はありません。
7.0 で機能面では今まで事足りてた程度のことしか
してませんので。○| ̄|_
>>973
SUS はサポートが切れた時点でセキュリティアップデートの
供給が現実的に止まってしまいますので、即、困ります。
なのでミグレーション期間も考慮に入れると
遅くとも来年5月頃までにはアップグレートしなくては
いけません。
>>974
普段はOSなどでも原則として SP1 が出るまで導入しない慎重派です。
SQL2005のSP1って何時頃でしょうね。
>>978
その方法ならSQL2Kのライセンスフィーは要らないということですか?
SQL2000を買って2005にアップグレードとの違いというか
あえてダウングレードするメリットが良く理解できないのですが…
0980NAME IS NULL
2005/08/11(木) 08:50:56ID:???だったら1本で2種類買えてウマー。
0981NAME IS NULL
2005/08/11(木) 10:05:01ID:???ダウングレードはタダみたいな値段と言うより無償やね。
同時に二種類以上使える訳ではないので、念の為。
ちなみに、OSでもOfficeでもVisual Studioでも可能です。
>979
ダウングレードするメリットは、要は既に正規パッケージや
ライセンスを購入できない製品を使用できること、それに尽きる。
今回の場合だと、2000で様子を見ながら、2005が安定したと
判断できた所で追加費用を必要とせずに2005に変更できる所だと
思う。
0982NAME IS NULL
2005/08/11(木) 10:44:36ID:???ミグレーション の検索結果 約 126 件
マイグレーション の検索結果 約 132,000 件
0983NAME IS NULL
2005/08/11(木) 11:12:51ID:???SQL Serverは例外かもしれないけど。
0984NAME IS NULL
2005/08/11(木) 12:29:24ID:???http://www.microsoft.com/japan/seminar/licensing/primer/default.mspx
とりあえず。
0985NAME IS NULL
2005/08/11(木) 16:55:02ID:???SQL文で可能でしょうか
ちなみにSQL2000です
0986NAME IS NULL
2005/08/11(木) 18:12:02ID:???データを誤って全部削除してしまいました
削除前に復元する方法がありましたら教えてください
ファイルの容量は大きいままです
0987NAME IS NULL
2005/08/11(木) 20:57:05ID:???sp_helpindexとかどう?
0988NAME IS NULL
2005/08/12(金) 08:49:47ID:???http://www.microsoft.com/japan/sql/evaluation/license/downgrade.asp
パッケージの場合は予め旧バージョンを持ってることが前提かな?
0989NAME IS NULL
2005/08/12(金) 09:27:34ID:???sp_help だとフィールド情報とかも取れた。
0990NAME IS NULL
2005/08/12(金) 14:50:13ID:LFPiNd2Kisql や sqlcmd などで手軽に表示できるのはないものか。
0991NAME IS NULL
2005/08/12(金) 18:36:07ID:???0992NAME IS NULL
2005/08/13(土) 01:13:34ID:+ulNbMGp全然DBにアクセスできません
単にソースに問題があると思いますが、現在はconnectionのプロバイダをSQLODBCに、dataソースはlocalserver
プロバイダーの部分がだめぽと思っていますが、以前windows2000でやった時はこのソースで接続できていただけに
何が悪いのか分りません
win2000だとコンパネにODBC32(だったかな?)があってそこで何か設定していた気がするのですが、xpには無いため
そこに問題があるのかと勘ぐっています
一体どの辺りが怪しいのでしょうか?
0993NAME IS NULL
2005/08/13(土) 03:11:32ID:???コントロールパネルの管理ツールにあるデータソース(ODBC)で設定できるはず。
0994NAME IS NULL
2005/08/13(土) 08:01:03ID:???しかし実は根本的にもうODBC接続は必要ないぞ
Provider=SQLOLEDB,Data Source=(local)
とかでOKだ
0995959
2005/08/13(土) 20:38:22ID:???やっぱり動的にSQL文を生成するしかないんですかね。まぁしょうがないか。
0996992
2005/08/13(土) 21:57:50ID:+ulNbMGpコンパネ→管理ツール→データソース(ODBC)→ユーザーDSNでSQLを設定し、接続テストをすると成功したと出ます
一方VB6だと
Set cn = New.ADODB.Connection
cn.open "Provider=SQLOLEDB;" & _
"Data Source = (LocalServer);" & _
"Inital Catalog = DB名;", "sa",""
cn.CursorLocation = 3
という記述をしています。
上記の「(LocalServer)」の部分にSQLコンソールルートで言う「SQL Serverグループ」の一つ下の階層に
「(LOCAL Windows NT)」という記述があります。
また、「ODBCデータソース アドミニストレータ」の「ユーザーDSN」の名前は「LocalServer」としており、ドライバはSQL Server
となっています
分りにくくてすいません
0997NAME IS NULL
2005/08/13(土) 22:23:13ID:???VB6の接続文字列がそれだとODBC接続ではないんだが。
Data Source = (LocalServer) の部分を Data Source = サーバー名
にしたらいけるでしょ。
その後、コンパネからODBC設定を削除しても動作することを確認すればOK。
どうしてもODBC接続をしたければ
cn.open "DSN=LocalServer"
でいいけど、今更ODBC接続に拘る理由はないと思われ。
0998NAME IS NULL
2005/08/13(土) 23:26:24ID:???ローカルサーバならWindows認証使え。
Provider=SQLOLEDB;Data Source=.;Initial Catalog=DB名;
Trusted Connection=Yes
0999NAME IS NULL
2005/08/13(土) 23:50:40ID:???というのは謎だね。RDOかODBCDirectを使ってたんじゃないかな?
1000NAME IS NULL
2005/08/14(日) 00:58:19ID:Jhm3bIWJ10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。