X



トップページDB@2ch掲示板
1002コメント327KB
Microsoft SQL Server 総合スレ 11 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001NAME IS NULL
垢版 |
2016/05/29(日) 16:50:08.13ID:dqKJQypQ
Microsoft SQL Server (Transact-SQL) の総合スレッドです。

・Microsoft 公式サイト
http://www.microsoft.com/japan/sql/

過去スレとかめんどいから誰か適当に貼って
0896NAME IS NULL
垢版 |
2018/08/01(水) 21:41:38.16ID:???
質問なのですが、SQLでファイルの存在まで確認するのは不可能でしょうか?

例えば

SELECT *
FROM T_Anken
WHERE AnkenID = '00123'
AND FileExist('C:\AnkenFile\00123.txt')

みたいなことをしたいんですが、難しいですかね?
0898NAME IS NULL
垢版 |
2018/08/02(木) 20:55:49.33ID:???
データベースのバックアップを定期的に取りたい、っていう場合、
.mdf ファイルだけバックアップしておけばOK?
SSMSの機能は使わず、ファイルのバックアップという意味で。

あと、巨大な .ldf ファイルがあるんだけど、これ削除してよい?
0899NAME IS NULL
垢版 |
2018/08/02(木) 22:02:05.14ID:mcP8wWdh
>>898
mdfとldfはセットだ
復旧モデル
BACKUP DATABASE
DBCC SHRINKFILE
とかで検索
0900NAME IS NULL
垢版 |
2018/08/03(金) 00:13:09.11ID:???
復旧モデル単純にすることからだな
そんな質問するとこからしてトランザクションログから復旧する要件なんてなかろう
0901NAME IS NULL
垢版 |
2018/08/03(金) 14:34:29.02ID:???
>>899 サンクス。ldf が2GBあるんだよ、これ消したい。

>>900 そうそう。localDB で自分のPC内で遊びでやってるだけ。
でもPCや 保存先のSSD がダメになった時のことを考えて定期的に外部にバックアップ取りたいのよ。
0902NAME IS NULL
垢版 |
2018/08/03(金) 14:36:16.45ID:???
ログが肥大すんのは復旧モデルが「完全」だからだ「単純」に変えろ
0903NAME IS NULL
垢版 |
2018/08/03(金) 15:46:02.26ID:???
mdfだけでも保証はされないけど一応復旧できるんだっけ?
サービス停止するかデタッチしないとコピーできんかったと思うし、バックアップとるにもDB複製ふるにも普通にバックアップするほうがお手軽だから忘れちゃった
0904NAME IS NULL
垢版 |
2018/08/03(金) 21:40:23.92ID:???
>>903
> サービス停止するかデタッチしないとコピーできんかったと思うし
コピーはできるけど役に立たないデータがコピーされるだけ
0905NAME IS NULL
垢版 |
2018/08/04(土) 03:34:48.90ID:???
「単純」にして毎日夜間バックアップの一週間ローテ(5世代)とかでやってる企業も多いね。
0906NAME IS NULL
垢版 |
2018/08/04(土) 03:53:35.36ID:???
圧縮あるしサイズ小さけりゃ差分とか考えなくていいからな
うちはたまにテストや確認で○時のときのDBを検証環境に作ってって要望がくるから完全にしてる
0907NAME IS NULL
垢版 |
2018/08/04(土) 09:49:44.89ID:???
結論としては、

・エクスプローラ上からのファイルコピー等でのDBバックアップは不可
 (ファイルコピーはできるがDBとして復元できない)

でよいの?
0908NAME IS NULL
垢版 |
2018/08/04(土) 13:14:32.38ID:???
ファイルロックされててコピーも出来ないんじゃ
0909NAME IS NULL
垢版 |
2018/08/04(土) 13:42:01.94ID:???
>>907
デタッチすればファイルコピー出来るし、コピーしたものを他のSQL Server入ったPCで復元(アタッチ)することも出来る
0910NAME IS NULL
垢版 |
2018/08/04(土) 20:08:07.47ID:???
VSS使ってMDF,LDF取得はよくしている
0911NAME IS NULL
垢版 |
2018/08/05(日) 22:49:40.30ID:???
>>907
DB停止状態(コールドバックアップ)なら可能
0912NAME IS NULL
垢版 |
2018/08/07(火) 20:01:05.52ID:L4EDfhvX
リレーショナルデータベースがそんな単純なものだと思っているやつは、Windowsもファイルのコピーで別のハードディスクに移せると思っているんだろうな。
0913NAME IS NULL
垢版 |
2018/08/07(火) 20:12:13.66ID:???
パーソナルユースの場合は単純な方が利点が多い
0914NAME IS NULL
垢版 |
2018/08/07(火) 23:40:21.32ID:???
MSのAccessとか、あと開発とかしたことないけどSQLiteとか、お手軽に使えるのもあるからねえ
そういうのしか知らないとぴんとこないかもな
0916NAME IS NULL
垢版 |
2018/08/08(水) 00:39:43.49ID:???
データベースじゃなくてDBMSって言ってほしいがな
0917NAME IS NULL
垢版 |
2018/08/08(水) 06:18:27.55ID:???
>>914
SQL-Serverだってmdf, ldfをコピーするだけなら大して変わらん
MS-AccessとかSQLiteだって稼働中にコピーしたらガラクタになるのも同じ
0918NAME IS NULL
垢版 |
2018/08/08(水) 06:20:49.10ID:???
>>916
DBMSはどっちかって言うとSQL-Server本体の方
今の話はデータファイルの方だからDBMSはちょっとピントずれてる
0919NAME IS NULL
垢版 |
2018/08/09(木) 10:14:10.09ID:jylyPhQF
>>893
クロスアプライしろ
0920NAME IS NULL
垢版 |
2018/08/11(土) 17:50:53.85ID:hw5PU5RO
>>915
SQLiteとSQL ServerやOracle Databaseを比べるのはおかしい。

自転車とリニアモーターカーが同じだと言っているようなもの。
0921NAME IS NULL
垢版 |
2018/08/11(土) 18:28:42.16ID:???
>>920
>>912が「リレーショナルデータベース」と言っていることに対するツッコミやろアホか
0922NAME IS NULL
垢版 |
2018/08/12(日) 01:17:15.53ID:444bh0X0
>>921
RDBMSとリレーショナルデータベースをわざわざ言い分けるのはよほどの専門家同士の話で、同義ととらえるか、むしろRDBMSでは一般人には意味が伝わらないから避ける。
0923NAME IS NULL
垢版 |
2018/08/12(日) 07:07:04.18ID:HjxXSimm
用語の意味で紛糾する初心者スレ微笑ましいなw
0925NAME IS NULL
垢版 |
2018/08/12(日) 18:42:27.62ID:cfFh3cqu
リレーショナルデータベースにかわりがない。リレーショナルデータベースの定義を知らないのか?
0926NAME IS NULL
垢版 |
2018/08/12(日) 18:43:58.55ID:cfFh3cqu
関係データベースと言わないと調べてもわからないかな?
0927NAME IS NULL
垢版 |
2018/08/12(日) 18:56:05.94ID:???
なんかまたマウント取りに必死な奴が来たな
0928NAME IS NULL
垢版 |
2018/08/12(日) 19:03:57.12ID:???
厳密な定義の話は難しいが、データベースファイルをコピーする話ならDBMSのほうが適切じゃないのか?
なんで稼働中にコピーしたらダメなんって問われたらリレーショナルデータベースの「管理」の話になってくるでしょ
0929NAME IS NULL
垢版 |
2018/08/12(日) 19:46:20.07ID:???
DBMSに限らず内容を書き換えてるファイルをコピーしたら一貫性が保てないのは常識
0930NAME IS NULL
垢版 |
2018/08/12(日) 21:58:36.58ID:???
それはそうなんだけど、それ言い出したらファイルコピーという一点において、>>912の「リレーショナルデータベースがそんな単純なもの〜」という発言が単純なテキストファイルとどう違うのってことになる
いや、データ更新時のデータ保証まで考えるなら君の言ってることは正しいし、そう言いたいならそれでいいけど
0931NAME IS NULL
垢版 |
2018/08/12(日) 22:02:25.40ID:???
>>912がおかしいって言いたいだけ
DBMSって言っても単なるアプリケーションソフトウェアだし
0933NAME IS NULL
垢版 |
2018/08/12(日) 22:44:09.95ID:???
いま話になってるのはその1アプリケーションのデータファイルの話
それをリレーショナルデータベースの話と言うのはあきらかな間違い
0934NAME IS NULL
垢版 |
2018/08/12(日) 22:57:18.60ID:cfFh3cqu
>>931
あなたが思っている製品はそんなものだから、そう思っているんでしょう?

Oracle Databaseをよく知っているなら、あなたのような発言はできない。
0935NAME IS NULL
垢版 |
2018/08/12(日) 22:58:57.47ID:cfFh3cqu
>>930
実際にMySQLはデータファイルがただのファイルだぞ。

Oracle Databaseだったらよほどの知識がないと触ってもいけないどころか、ASM構成だったら触れもしない。
0936NAME IS NULL
垢版 |
2018/08/12(日) 23:01:10.13ID:cfFh3cqu
>>933
誰がそんなことを書いたのか?どこにも見当たらない。SQLiteにデータベース管理システムがないと言い張ったやつがいただけ。

データベース管理システムのない有名な製品なんて俺はオタクではないので知らない。
0937NAME IS NULL
垢版 |
2018/08/12(日) 23:09:42.28ID:cfFh3cqu
かたくななまでに自分の非を認めない人というのがいます。何か責任を問われることが起こっても、誰か人のせいにしたり環境のせいにしたりします。

自分に非があることを素直に認められないのはどうしてなのか、その心理にはこんなことが隠されているようです。

https://tabi-labo.com/213871/not-apologize-ppl
0938NAME IS NULL
垢版 |
2018/08/12(日) 23:13:57.67ID:???
データファイルコピーの話に対して、
リレーショナルデータベースがそんな単純なものだと思っているやつは云々言ってたやつがいたと思ったんだが
0939NAME IS NULL
垢版 |
2018/08/12(日) 23:15:56.53ID:???
>>934
ん?
普通のサーバーで稼働してるOracleなら単なるアプリケーションだし、稼働中に単にコピーしたら整合性は取れんよ
逆に止まってる状態ならデータファイルコピーで普通にバックアップは取れる
オラクル 物理バックアップ
とかでググってみ
0940NAME IS NULL
垢版 |
2018/08/12(日) 23:24:16.55ID:???
>>934>>935
Oracleといってる時点でRDBというよりRDBMSの話だろ、自分でいってて気づかないのか?
0942NAME IS NULL
垢版 |
2018/08/12(日) 23:40:07.12ID:cfFh3cqu
>>940
RDBでRDBMSがないものを挙げてください。きっと答えられませんよね?
0944NAME IS NULL
垢版 |
2018/08/12(日) 23:43:52.06ID:cfFh3cqu
>>939
Oracle Databaseはシャットダウンしていたとしても、そのままデータファイルのコピーだけでは済みません。

無知にもほどがあるでしょうに。

だいたいRDBMSをただのアプリケーションだと言い放つのは、よほどの素人でしょうが。
0945NAME IS NULL
垢版 |
2018/08/12(日) 23:47:08.31ID:cfFh3cqu
リレーショナルデータベースとリレーショナルデータベース管理システムが別個というしつこい主張は何がしたいのか?

SQL Serverの場合、別にインストールするManagement Studioならこういう誤解は理解できる。

しかしManagement Studioはただの管理ツールであって、データベース管理システムそのものではない。
0946NAME IS NULL
垢版 |
2018/08/12(日) 23:50:36.87ID:???
>>945
あたり前だろうが馬鹿かお前は
いうにことかいてManagement Studio出してくるとは思わんかったわ
いいからRDBMSがないRDBあげて
0947NAME IS NULL
垢版 |
2018/08/12(日) 23:54:03.34ID:???
つまりRDBとRDBMSの区別のつかない人が暴れてるだけか
0948NAME IS NULL
垢版 |
2018/08/12(日) 23:57:18.90ID:???
もう一回書くけど、まさかこの話の流れでManagement Studio出てくるとはなあ
ここ数年で仕事に関する話で一番度肝抜かれたかもしれん、完敗だわもう
0949NAME IS NULL
垢版 |
2018/08/13(月) 00:25:35.14ID:???
>>945
機会があるなら、一度サーバーとストレージ全部ぶっ壊れたと想定して外部ディスクやテープにしかないバックアップから全部戻すなんてことやってみればいい
そういうのしてると、勝手さえわかれば所詮そんなものって気付く
0950NAME IS NULL
垢版 |
2018/08/13(月) 02:28:20.30ID:???
>>944
> Oracle Databaseはシャットダウンしていたとしても、そのままデータファイルのコピーだけでは済みません。
わざわざキーワード書いてあるんだからちゃんとググれよ
http://www.atmarkit.co.jp/ait/spv/0606/30/news130.html

> だいたいRDBMSをただのアプリケーションだと言い放つのは、よほどの素人でしょうが。
よくわかってない人はなぜかコンパイラとかDBMSとかを特別なものとして扱いたがる w
Oracleのインストールとかしたことないでしょ?
単に使うだけならOfficeのインストールとたいして変わらんよ
まあAMSとかRACとか言い出したら設定は死ぬほど面倒だけどな
0951NAME IS NULL
垢版 |
2018/08/13(月) 08:48:35.11ID:???
>>937
自己紹介w


毎回、レベルの低いところでマウント取ろうとするから、周りと会話が噛み合わなくなることに早く気づきなよ
0952NAME IS NULL
垢版 |
2018/08/13(月) 15:01:06.64ID:???
RDBMSだからファイルコピーが出来ねえとかガイジか
稼働中はファイルが閉じられとらんのだから出来るわけねえだろアホウが
0953NAME IS NULL
垢版 |
2018/08/13(月) 17:22:13.38ID:???
>>952
お前はファイル共有モードについて勉強してから出直せ
レベル低すぎる
0954NAME IS NULL
垢版 |
2018/08/13(月) 17:35:23.75ID:???
リレーショナルデーターベースって
所定の構造のデーターの集合を保持していて、所定の方法で、データーが保存、変更、削除、参照ができるもので良い?
例えば、所定の構造のデータを保持する、Excel bookと保存、変更、削除、参照の手順書とか
0955NAME IS NULL
垢版 |
2018/08/13(月) 18:10:00.94ID:???
データベースそのものには変更方法等の規定はないし
その特定の構造がリレーショナル形式でなければ「リレーショナル」データベースとは呼べんな
0956NAME IS NULL
垢版 |
2018/08/13(月) 18:23:34.43ID:???
考えたこともなかったけど、SQL Serverのデータファイルでファイル共有モードとかできるの?
あと思ったけどReadOnlyにしたらコピーできるんかね、やってみるか
0957NAME IS NULL
垢版 |
2018/08/13(月) 18:32:01.56ID:???
>>953
おめーはファイルバッファについて勉強しろハゲ
ただでさえDBはログキャッシュ持ってるんだ
書き出されてないデータなんぞごまんとあるわハゲ
0958NAME IS NULL
垢版 |
2018/08/13(月) 18:39:55.80ID:???
>955
Excel表でその様なリレーショナルな構造を作れば、要件を満たしているのですね?
0959NAME IS NULL
垢版 |
2018/08/13(月) 18:58:12.01ID:???
>>957
コピーできない話はもういいのか? w
バッファーとかキャッシュの話はまた別の話な
0960NAME IS NULL
垢版 |
2018/08/13(月) 19:07:33.70ID:???
>>959
で? 不完全なファイルコピーできてそれが何だってんだ?
ちったあ頭使えハゲ
0961NAME IS NULL
垢版 |
2018/08/13(月) 19:14:01.72ID:???
元はなんだっけ?
SSMS使わずにファイルコピーでバックアップしたい→稼動中は無理
って話だっけ?
0962NAME IS NULL
垢版 |
2018/08/13(月) 19:18:56.52ID:???
>>960
そんなもんはとっくに書かれてる → >>904
周回遅れすぎだろ w
0964NAME IS NULL
垢版 |
2018/08/13(月) 19:48:31.25ID:???
俺はRDBMSがないRDBが知りたい
0965NAME IS NULL
垢版 |
2018/08/13(月) 20:33:16.64ID:???
>>964
まあSQLiteみたいなインプロセスな奴だとデータベース管理システムって言うのはちょっと違和感あるかな
0966NAME IS NULL
垢版 |
2018/08/14(火) 14:42:25.12ID:???
RDBMSが備えるべき最低限の機能はって話を決めんとな
コンピュータ上で何らかのプログラム使ってリレーショナルなデータ扱ったとき
そのプログラムは全部RDBMSだろって話になるから

まあ、スレ違いだな
別スレ立ててやってくれ
0967NAME IS NULL
垢版 |
2018/08/14(火) 18:33:08.30ID:???
スレ違いではあるんだが、2年たっても消化できないスレが勢い上位の版でスレたててもなあ
0968NAME IS NULL
垢版 |
2018/08/14(火) 19:40:31.24ID:pybELLFA
Windows Server 2012上で動いているsql serverのテーブルを同じ
Windows Server 2012上で動いているMySQLのテーブルに毎日一回
コピーしたいんですが、一般的なやり方を教えて下さい。
sql serverで何かそう言うジョブを設定するなど可能でしょか?
0969NAME IS NULL
垢版 |
2018/08/14(火) 21:38:01.56ID:???
外部アプリ組んだほうが早くね?
0971NAME IS NULL
垢版 |
2018/08/14(火) 22:05:49.13ID:pybELLFA
>>969
例えばどんなアプリ?
>>970
どんなジョブを書けば良いの?
0972NAME IS NULL
垢版 |
2018/08/14(火) 22:58:48.02ID:f02vD5Is
おまいさんのレベルがわからんからまず自分で考えた方法を書こうぜ
0973NAME IS NULL
垢版 |
2018/08/14(火) 23:02:56.26ID:???
泥臭いがSQLServerからレコード取ってきてMySQLにインサートするアプリってこと
独自列使ってないならダンプでもいけるかもしれん
0974NAME IS NULL
垢版 |
2018/08/14(火) 23:32:49.39ID:???
SQLServerでファイルに吐き出してMySQLで取り込む
昔から使われてて少なくとも一般的なのは確実
同じサーバ上にたててるくらいだからデータ量なんてたかが知れてるだろうし、レコードで処理するよりファイルでやればすぐ終わって差分とか気にする必要もないだろう
0975NAME IS NULL
垢版 |
2018/08/14(火) 23:41:47.39ID:???
MySQLへDBリンク張れないか
0976NAME IS NULL
垢版 |
2018/08/14(火) 23:56:56.71ID:???
MySQL用のプロバイダあるね
これでいけるんじゃないの
0977NAME IS NULL
垢版 |
2018/08/14(火) 23:58:25.98ID:???
>>971
アプリと言うか
MySQLへリンクサーバー設定して
drop table MySQLTable
select ... into MySQLTable …
みたいなSQLを発行するコード書いてタスクスケジューラとかで定期的に起動すればいいかと
0978NAME IS NULL
垢版 |
2018/08/15(水) 06:54:18.99ID:+ZQR96PU
>>977
試してみます。
皆さんありがとうございました。
0979NAME IS NULL
垢版 |
2018/08/15(水) 14:30:53.82ID:???
アプリ作るならSSIS使えばいいんじゃね?
0980NAME IS NULL
垢版 |
2018/08/16(木) 16:36:17.93ID:???
プロシージャの引数で型のサイズを省略したいのですが、何かいい方法はありませんでしょうか?
テーブルの列のサイズとプロシージャの引数のサイズの同期を取るのが煩雑で…
Oracleみたいなテーブルの型を参照出来れば一番いいんですけどね。
0981NAME IS NULL
垢版 |
2018/08/16(木) 17:42:16.07ID:tStV8vZM
>>980
Trunsaction-SQLはかなり古い言語使用なので無理に何かするようになるなら、普通にパラメータとして受けとった方がいい。

TYPEデータベースオブジェクトを作成して、それデータ型をプロシージャに渡せばできるかも知れないが、私はやったことがないので、わからない。
0982NAME IS NULL
垢版 |
2018/08/16(木) 20:24:01.85ID:???
>>980
昔関わってたシステムは列名ごとにユーザー定義データ型を作ってた
ユーザー定義データ型を作る手間はかかるが、コード書くときに列名だけしっとけば桁長意識しなくていい(桁間違いのバグ防ぐため)から
0983NAME IS NULL
垢版 |
2018/08/17(金) 10:12:51.17ID:???
>>981
>>982
ありがとうございます
やっぱり、そういう仕組みは存在しないんですね
全部の引数のサイズに最大の文字数を指定しちゃうのはどうなんでしょうか?
0984NAME IS NULL
垢版 |
2018/08/17(金) 19:24:07.68ID:MmEfgYU6
>>983
文字型ならmaxで良いが、小数点ありの数値型だと最大って何?ってなるな
0986NAME IS NULL
垢版 |
2018/08/17(金) 22:35:56.42ID:MmEfgYU6
>>985
numericで桁数省略すると小数以下が0になるけどいいの?
0987NAME IS NULL
垢版 |
2018/08/17(金) 22:36:41.66ID:???
省略したら規定の桁数になるだけで、そんなことを言ったらvarcharだって省略可能だぜ
0988NAME IS NULL
垢版 |
2018/08/17(金) 23:36:49.22ID:???
>>986
え?そうなんですか!
それはまずいです…
どうしよ…
0989NAME IS NULL
垢版 |
2018/08/18(土) 09:58:35.71ID:U2DosSCL
>>984
文字列型のmaxはLOB型になってしまうのでまったくおすすめできない。
0990NAME IS NULL
垢版 |
2018/08/18(土) 12:30:01.99ID:???
最適解はないんですか?
0992NAME IS NULL
垢版 |
2018/08/18(土) 22:55:52.30ID:e9X2ExZT
>>989
LOB型なんてsqlserver には無いんだけど・・
0993NAME IS NULL
垢版 |
2018/08/19(日) 19:29:10.06ID:???
>>992
LOB=Large OBject
ラージオブジェクト データ型でぐぐりなされ
0995NAME IS NULL
垢版 |
2018/08/19(日) 20:49:48.71ID:???
貼ろうとしたらエラーくらったのよ
前もあったけどシステム的な単語いれると弾かれる
てかぐぐったらJDBCとかが上にヒットするなすまん
データ型のところ見てたら出てくるよ
ただ、ストアドの引数に使って何のデメリットがあるのかは知らん、LOB型がないってあったから書いただけ
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況