X



Microsoft SQL Server 総合スレ 12

0165NAME IS NULL
垢版 |
2019/05/06(月) 14:04:27.64ID:???
>>164
DBの機能が遅い以外何があるってんだよハゲ
0166NAME IS NULL
垢版 |
2019/05/06(月) 22:56:09.24ID:stsMt92h
>>165
データベースは外部からSQLが発行されなくても、ただ動いているだけでもメモリ上のデータを定期的にファイルに書き込む。余裕があればファイルからデータを読み込む。

いっぱいあるがとにかくデータを失わない、データの整合性がとれなくならないようにする処理等があるんだよ。
0167NAME IS NULL
垢版 |
2019/05/07(火) 18:35:52.13ID:???
>>166
で?
それはDBの機能じゃねえのか?
大体そんなバックグラウンド処理なんて四六時中走ってねーよこじつけんな
0168NAME IS NULL
垢版 |
2019/05/07(火) 19:43:05.91ID:ALcLaDvG
>>167
走ってますよ。
0169NAME IS NULL
垢版 |
2019/05/08(水) 16:53:24.61ID:VbqXritb
Express版でオンラインバックアップ取る技ってないの?
0170NAME IS NULL
垢版 |
2019/05/08(水) 20:01:01.21ID:8qp+Z1yx
>>169
普通にバックアップとるだけだろ
0171DBかじり始めたオープン系エンジニア
垢版 |
2019/05/09(木) 06:15:57.71ID:Rd8XFIHD
DBエンジニアの業務ってどんな感じですか?
↓みたいなイメージで合ってます?w

設計時:忙しい。責任重大。
開発中:DBのインストールやテーブルの作成が済めば、トラブルなければ特にやることない。
※開発中はC系のエンジニアなどがPG内にSQL文を書いてあれこれやるのをイメージしてます。
運用時:トラブルなければ特にやることない。

よろしくお願いいたします。
0172NAME IS NULL
垢版 |
2019/05/09(木) 14:48:34.81ID:???
会社によってやり方が違うよ
0173NAME IS NULL
垢版 |
2019/05/10(金) 23:34:22.83ID:kyiAxM67
>>171
インフラ寄りなのか、アプリ寄りなのかでまったく違う。

ただ本来はどちらにも深く関わるのがまっとうなデータベースエンジニア。
0174NAME IS NULL
垢版 |
2019/05/11(土) 00:51:45.46ID:???
ソフトの応答時間って結構重要なのに後回しにされがちなのね。
最後の最後で死にそうな顔して調整しまくってる DB エンジニアさんて結構ありがちと言うか。。。
0175NAME IS NULL
垢版 |
2019/05/11(土) 03:26:52.97ID:EnWh/KFP
>>173
そういう区別もあるんすね。ありがとうございます。
ちと調べてみまふ。
0176NAME IS NULL
垢版 |
2019/05/12(日) 01:00:26.24ID:DtTEN3xu
>>174
開発の上流から下流までチェックし続けないと、クソみたいなDB設計とクソSQLのてんこ盛りで、データ量が多いシステムだと死ぬ。
0177NAME IS NULL
垢版 |
2019/06/06(木) 13:16:03.50ID:XVcXsSEI
メンテナンスプランによる、インデックス再構築、統計の更新、完全バックアップあたりの
処理は毎日やってますか?
毎日やるのはバックアップだけですか?
0178NAME IS NULL
垢版 |
2019/06/15(土) 11:22:01.07ID:cf7Yx71E
SSIS使いたいんだけど、SSDTをインストールしないといけない。
これは手持ちのクライアントPCにできないのかな?SSMSみたいに。

インストーラ立ち上げると「SQLServer データベース」が必須になっているよ。
0179NAME IS NULL
垢版 |
2019/06/15(土) 11:25:06.40ID:???
>>177
完全バックアップ以外は週一でいいんじゃないの?
もちろん、DBのサイズや用途にもよるけど。たしか、ウィザードはそんな(週一)がデフォルトだったと思う。

うちは完全バックアップを毎日とっている。
0180NAME IS NULL
垢版 |
2019/06/15(土) 11:28:47.86ID:BUxyU7ss
>>178
SSISはSQL Serverが必要というよりは、Visual Studioが必要なんだよ。

Visual Studioは入ってるのか?
0181NAME IS NULL
垢版 |
2019/06/15(土) 11:43:43.61ID:BUxyU7ss
>>178
SQL Serverは伝統的にサーバーソフトウェア、クライアントソフトウェアを作り分けていない。
0182NAME IS NULL
垢版 |
2019/06/15(土) 13:19:11.29ID:???
SSMS、SSDT、SSIS、ISIS
0183NAME IS NULL
垢版 |
2019/06/15(土) 18:20:20.58ID:cf7Yx71E
>>180-181
サーバのリソース食うのは避けたいので、クライアントでパッケージ作成したかったの。

慌ててVS2019のCommunityインストールしてSSDT入れたら
要求されたメタファイル操作はサポートされていません。 (0x800707D3)
(涙)
0185NAME IS NULL
垢版 |
2019/07/30(火) 11:24:47.61ID:???
最近VSCodeでSQL書いてるけどこれすげえいいな
補完もするし複数列にCASTだのISNULLだのつけるとき
マルチカーソルが便利すぎる

SQL発行の結果が帰ってくるのはManagement Studio
のが速いけどVSCodeのが起動速いし
実行計画見るときぐらいしかSSMS使わんくなった
0187NAME IS NULL
垢版 |
2019/09/20(金) 23:47:02.97ID:isalmAv1
>>150
リプレース時の互換性レベルの変更は危険。
チューニング済みの SQLほど実行計画ボロボロになる。
0188NAME IS NULL
垢版 |
2019/09/22(日) 17:07:49.52ID:EkE2g3Xn
ロール作成しようとしてるんだけど、Viewに対しては全DDL,DMLを許可し、Tableに対してはそれらを許可しない、っていう内容。
公式サイトをずっと見てるんだけど、オブジェクト単位で設定しないとダメなんだろうか。
0189NAME IS NULL
垢版 |
2019/11/15(金) 14:20:01.76ID:LnPkd02i
なんかのソフトにバンドルされてるSQL serverてそれ単体でも使うことができる。
例というとPCに弥生会計をインスコしたらSQLserver2014SP2 ExpressEditionてのがインストールされたんだが。
同じPCにwordpress入れようと思うんだが、このSQLserver兼用できるのかな?
0190NAME IS NULL
垢版 |
2019/11/15(金) 16:32:36.49ID:???
もうSQL鯖入ってるならやってみたらイイじゃん
0191NAME IS NULL
垢版 |
2019/11/16(土) 13:40:22.31ID:???
Express版なら無償だよ
ただし制限あり
0192191
垢版 |
2019/11/16(土) 13:44:59.14ID:???
書き忘れた
なので別用途に使っても問題なし
0193NAME IS NULL
垢版 |
2019/11/16(土) 14:13:35.75ID:OTSEDY2q
ログインの認証周りが大丈夫ならいけるのでは
というかExpressインストールされるのはいいが、saにパスワード設定されていたら泣く
0194NAME IS NULL
垢版 |
2019/11/17(日) 19:22:51.47ID:???
普通はWindows認証でadministratorで入れる
0195NAME IS NULL
垢版 |
2019/11/21(木) 02:11:24.95ID:cBCqHARp
189ですが、1台のPCにSQL serverと弥生会計いれて、もう一台のPCに弥生会計を入れて、
2個の弥生会計からSQL serverをつつく作りになってるんだけど、
こういう場合て、ネットワークて同一セグメントで使うもの?
弥生会計の取説だと「同一セグメントで」て書いてあるんだが、ためにしもう一台をVPN接続越しで接続してみたり
SQL serverをAWSに置いてみたら激重になったんだが、DBてそういう使い方しないもの?
0196NAME IS NULL
垢版 |
2019/11/21(木) 10:52:04.04ID:QmN8bdJf
>>195
今時の回線事情考えたら
DBの問題じゃなくアプリの設計の問題の可能性のが高い
0197NAME IS NULL
垢版 |
2019/11/21(木) 13:01:05.46ID:???
>>195
実際にできるできないはあなたの会社のセキュリティポリシーによるけど、
vpnで直接連携なんて怖くてやらない

同一セグメントでないとダメかといえばそんな事はない
しかし、FW、L3SWの設定はもちろん必須
0198NAME IS NULL
垢版 |
2019/11/21(木) 13:06:29.08ID:???
弥生はどうか知らないが、SQL ServerをVPNの向こうに置いてもそれほど遅くならないよ。
0199NAME IS NULL
垢版 |
2019/11/21(木) 13:07:35.95ID:???
AWSってSQLサーバのサービスをやってくれるの?
0200NAME IS NULL
垢版 |
2019/11/21(木) 16:01:11.96ID:cBCqHARp
>>196
アプリ設計の問題みたい。
https://yayoi-k.jp/yayoi-network/vpn/
DBを1拠点だけで突く設計みたい。複数拠点の場合はリモートデスクトップだ。
0201NAME IS NULL
垢版 |
2019/11/22(金) 18:45:25.30ID:/DwkIedt
5席規模のデータ入力で
SQL Server Express使おうとしたら
「無償版とか信用ならん!!!」
って言って上司がライセンス購入しようとして聞かない
その割にベンダーからの見積もり30万って見て
高すぎ!安くして!と言ってくる

なんとかなりませんか、、、
0202NAME IS NULL
垢版 |
2019/11/22(金) 19:52:08.93ID:???
>>201
「お前はバカか」と言ってやれ。
無償版が信用ならんのなら、オープンソースは全部だめ。
アンドロイド携帯もルータもNASもオープンソースだらけだぞってね。
0203NAME IS NULL
垢版 |
2019/11/22(金) 19:54:18.94ID:???
>>201
言ってくるってお前の立場は何なんだよ
値段の文句は見積もり出したベンダーに言えよ
0204NAME IS NULL
垢版 |
2019/11/22(金) 20:00:28.57ID:???
>>203
おそらくベンダーのソフトの見積もりは妥当なもんだと思うよ。
作業料金とかの方でぼった食ってる場合が多い。
0206NAME IS NULL
垢版 |
2019/11/22(金) 22:02:46.18ID:???
>>205
20万でも高いとか言われそうな案件の悪寒
0207NAME IS NULL
垢版 |
2019/11/23(土) 12:42:35.28ID:bO9R3pau
>>201
だが皆レスありがとう。
こんだけ来るとは思ってなかったw

俺は案件に絡んでなくて
アドバイスを求められてるだけなんだ。
だからExpressを勧めた。
Expressを信頼できない無償版と言ったのは上司。
見積もりを取ったのは別の社員。

確かに作業費等々でボッタ食られてることも
伝えたんだけど金のこと言うなら
Express使えよって思ってさ…
0208NAME IS NULL
垢版 |
2019/11/23(土) 14:08:44.73ID:???
経験浅いので教えて欲しいのですが
ストアドの中でテーブルAにデータをINSERTしているのですが
エラーが起きるとロールバックされて消えてしまいます。

これを消える前に取得する方法はあるでしょうか?

例えばロールバックされても消えない特殊なテーブルB(構造はAと同じ)を作っておいて
このテーブルBにもINSERTしておくとかは出来るのでしょうか?
そもそもそんなテーブルは作れないのかもしれませんが・・・
0209NAME IS NULL
垢版 |
2019/11/23(土) 14:45:46.16ID:???
>>208
コミットすりゃいいんじゃね?
てか、何もしてなきゃinsert自体が成功してたらその後のエラーでロールバックなんてしないはずだが…
0210NAME IS NULL
垢版 |
2019/11/23(土) 14:56:51.94ID:xEYUxjzb
>>208
問題なければINSERT直後にCOMMITしてしまうか
そもそもトランザクション処理をしなければ良い
0211NAME IS NULL
垢版 |
2019/11/23(土) 15:21:08.34ID:???
ストアド内ならエラーキャッチしてうにゃうにゃできるかもしれんが
まあトランザクションの設計が悪いな
0212208
垢版 |
2019/11/23(土) 17:18:20.37ID:???
システム自体が巨大でストアドを入れ子で何階層も呼び出していて、割りと下位のストアドでエラーが起こっているのです。
業務データが壊れる可能性があるので中途半端な状態でコミットはできないです。
そもそも何階層目でトランザクションが開始されてるのかもわかりません・・・
0213NAME IS NULL
垢版 |
2019/11/23(土) 23:52:12.62ID:???
有料版買う必要ある?無料版でもいける?
0214NAME IS NULL
垢版 |
2019/11/24(日) 05:28:21.26ID:???
>>207
Expressはdbのサイズが10GBまでという制限もあるから、そもそも収まるのかという話もあるけどね
アプリケーションのデータ格納用としては結構使われてるし、実績的には申し分ないよ

だけどサポートや問い合わせは受けられないので会社のルール的に保守契約できないものは採用できないって事はあるよね
0215NAME IS NULL
垢版 |
2019/11/24(日) 07:20:12.68ID:???
>>213
要件次第
Expressの1番の制限は>>214の言うDBサイズ
まあ10GBってそこそこのサイズだしインスタンスは複数作れるので工夫次第である程度回避できたりするけど
あとは使用するメモリーが制限されてるとかフェイルオーバーができないとかあるから自分で https://docs.microsoft.com/ja-jp/sql/sql-server/editions-and-components-of-sql-server-2017?view=sql-server-ver15 とかを見て判断すればいい
0216NAME IS NULL
垢版 |
2019/11/24(日) 13:09:57.98ID:???
そもそもそのテーブルの値をとってどうしたいんだ?

まあざっと思いつくと
エラーの出るところだけ子トランザクションにする
エラーキャッチしてなんとかする
@変数にとっておく
事前にコミットする

そんなとこか
思いつきだから実際どうかはそれぞれ試して決めろ

ストアド内から別トランザクションはちょっと難しいし、出来てもやるべきではない
ロールバックされないテーブルとかもない(シーケンスとかはロールバックされないけどな)
0217NAME IS NULL
垢版 |
2019/11/27(水) 19:51:15.78ID:???
いつのまにか、SSMSでストアドのデバッグできなくなってるんだが
みんなどうしてるんだ?
0219NAME IS NULL
垢版 |
2019/11/28(木) 12:53:59.04ID:DUf6UIqk
Visual Studio必須になったような
0220NAME IS NULL
垢版 |
2019/11/29(金) 01:29:28.21ID:???
やっぱりVSか
それはそれで問題あるんだよなぁ
0221NAME IS NULL
垢版 |
2019/12/16(月) 09:31:32.90ID:???
Standard版だと40万円以上するのがExpress版だと無料って
一体どうなってんの、この会社?
0222NAME IS NULL
垢版 |
2019/12/16(月) 11:42:07.37ID:OtwdW/Bu
>>221
素人?
0224NAME IS NULL
垢版 |
2019/12/19(木) 07:33:15.87ID:WCIv84d0
SQLOLEDB、MSDASQL、SQLNCLI11
接続プロバイダどれ使ってる
0226NAME IS NULL
垢版 |
2019/12/22(日) 20:16:53.58ID:???
SQLOLEDB

どこがどう変わるかよくわからん
プロパイダごとの機能差とかだれかまとめてくれ
0228NAME IS NULL
垢版 |
2019/12/23(月) 17:17:54.07ID:v+gE9Z/w
227から、MSOLEDBSQLが推奨っぽいね
0229NAME IS NULL
垢版 |
2019/12/23(月) 20:22:46.02ID:???
OLEDB非推奨とはなんだったのか
0230NAME IS NULL
垢版 |
2019/12/28(土) 09:21:32.13ID:???
Windows10でSQLServer2017ExpressのDATAフォルダがエクスプローラで開けなくなりました。
コマンドプロンプト等でどうかは確認していません。
UACで警告されるのは知ってたんですが、インストール直後のデフォルトの状態で、フォルダが開けませんでした。
同型機を2台設定していて、1台は開くことができました。
C:\Windows\Tempも同様でした。
0231NAME IS NULL
垢版 |
2019/12/28(土) 09:29:38.94ID:???
途中で送信してしまいました。
会社のPCで別の担当がセキュリティソフトまでは導入済で、SQLServer2017Expressをインストールして動作確認しようとして気づきました。
管理権限のあるユーザでセットアップしていたつもりですが、VirtualStoreへのセットアップになっていたとかあるかもしれません。
本日から休暇になってしまって詳細に確認できていません。
直接SQLServerとは関係ないことかもしれませんが、どなたか解決策に思い当たる方いらしたらご助言ください。
0233NAME IS NULL
垢版 |
2019/12/29(日) 01:38:58.61ID:???
開こうとしたフォルダのアクセス権確認する以外に何があるというのか
0234NAME IS NULL
垢版 |
2019/12/29(日) 10:52:52.68ID:???
>>233
>>230-231の質問者です。
質問を短く言えば「アクセス権確認する以外に何があるか」という質問です。
アクセス権はAdministratorsにフルコントロールがついていて、Administratorsに所属するユーザだったと思います。
セキュリティ以外にも、ファイルやフォルダの読み書きには、排他制御がかかることがあるから、何らかの処理中だと可能性があるとも考えていますが、再起動しても変わらなかったので、処理中の可能性は低いと思います。
ActiveDirectory環境なので、その不具合も考えられるかもしれません。

>>232
同じときに同じ仕様で購入したPCに設定していてということです。
一方は問題なく操作できて、もう一方がダメでした。
開梱時からの操作が同じかというと、異なっている作業が行われた可能性はあります。
0235NAME IS NULL
垢版 |
2019/12/29(日) 12:55:51.30ID:???
そもそも2017EXPRESSのデフォルトのデータディレクトリってどこだ?
まあ、そこにインストールしたかどうかも怪しいけどな
0236NAME IS NULL
垢版 |
2019/12/29(日) 13:24:54.87ID:KfWSGuC1
>>234
ADのアカウントに対してローカルの管理者アカウントが存在しているのか?
0237NAME IS NULL
垢版 |
2019/12/29(日) 17:02:10.83ID:???
>>236
そこは問題ないはず
2つのPCともにADの機能で該当ユーザに管理者権限を付与している
管理者権限じゃないとリモートデスクトップが使えない設定にしていて、リモートデスクトップも使えているから管理者権限はあることになる
個々のPCでセキュリティ設定すると漏れがあるからADのグループポリシーで設定するのを基本にしてます。
0238NAME IS NULL
垢版 |
2019/12/29(日) 17:36:17.06ID:???
フォルダの所有者をAdministratorsに変えれ
0239NAME IS NULL
垢版 |
2019/12/29(日) 17:56:22.27ID:???
誰がSQL Serverを立ち上げるてるだ?
0240NAME IS NULL
垢版 |
2019/12/29(日) 19:27:13.79ID:???
>>239
デフォルトだとLOCALSERVICEとかですかね
>>238
インストールした自分のアカウントがAdministratorsに所属するんで、Administratorsではないかと思いますが、確認してみます。

仕事納めの日に慌ててセットアップしていたので確認が不十分です。
年を開けたら振替出勤なんで、確認して報告させていただきます。
0241NAME IS NULL
垢版 |
2019/12/29(日) 20:10:09.90ID:???
LOCALSERVICEのアクセス権はどうなってると?
0242NAME IS NULL
垢版 |
2019/12/30(月) 21:29:16.28ID:???
>>230
うろ覚えだけど、UAC効いていてAdministrator以外でアクセスしている(Administratorsのメンバーのユーザーではない)場合はUACを切るまたはAdministratorでアクセスしてみるとひらけるかも?
Windows10だとデフォルトではAdministratorが無効化されているので有効化してね(作業終わったら無用なトラブル避けるためもとに戻す)
開けたら管理用にグループ作ってフォルダにアクセス権に追加しておく
そして管理させたいユーザーをグループのメンバーにするとUAC有効にしてもアクセスできるようになる
サーバーOSでやっていた内容だけどクライアントOSでも同様のはず
間違っていたらゴメンネ
0243NAME IS NULL
垢版 |
2019/12/31(火) 09:27:35.55ID:???
>>242
UACは無効にしていたつもりですが確認してみます。
SQLSeverとCAMをインストールしていて、CAMは無効にしてと指示がありましたが、もしかするとSQLSeverインストール時は、UACが既定のままだったかもしれません。
Administratorでは試していないので確認してみます
0244NAME IS NULL
垢版 |
2019/12/31(火) 20:53:18.59ID:???
試してないけど思いますかもしれません
話にならんな

そもそも特定のディレクトリが開けないってはなしで、本質的にはSQLServerの話じゃないし
開こうとしたフォルダに対する開こうとしたユーザのアクセス権確認するしか確認方法なんてないよ
なぜそのアクセス権になったかはその次の話だ
0245NAME IS NULL
垢版 |
2020/01/01(水) 14:11:51.79ID:mYS4vz8I
Windowsは権限が複雑だからな。
0246NAME IS NULL
垢版 |
2020/01/02(木) 23:03:53.68ID:???
実機に触れねえトコロで質問するヤツにはクズが多い
0247NAME IS NULL
垢版 |
2020/01/07(火) 20:03:21.46ID:???
Windows10でSQLServer2017ExpressのDATAフォルダがエクスプローラで開けなったと言った者です。
休み中に確認するつもりでしたが、手が回らず、休み明けになってしまい申し訳ありません。
結論から言うと何も問題無しにフォルダは開くことができました。
Windows10の設定には特に問題なかったようです。
他でも類似の不具合が確認されました。
明確にADの管理者から回答を得ていませんが、ADに何か不具合があるような感じです。
アドバイスを頂いた方ありがとうございました。
その他の方、スレ違いで失礼しました。
0248NAME IS NULL
垢版 |
2020/01/07(火) 20:17:04.22ID:???
SQLServerをHyper-V上で動作させたときの不具合事例を一つ報告させていただきます。
今まで、WindowsServer2008のHyper-V上で動作させていたSQLServer2008R2を最終的にWindowsServer2012R2のHyper-V上のSQLServer2017にアップデートしたところ、著しくパフォーマンスが低下し、クライアントプログラムからタイムアウトが頻発しました。
Hyper-Vのメモリ割り当てを動的にしていたのがパフォーマンス低下の原因だったようです。
よくよく考えるとSQLServerは特に制限しなかった場合、許す限りのメモリを消費するので、仮想サーバのメモリを動的にしていても上限値まで使い切ってしまうので、初めから最大値を割り当てるべきでした。
ネットで多少情報はありましたが、皆さんもこんな不具合はあったことありませんか
SQLServerのパフォーマンス比較ってMSの許可なく公表できないことになってるから、あんまり情報無いんでしょうかね
0250NAME IS NULL
垢版 |
2020/01/08(水) 01:49:58.86ID:???
>>249
単純なバージョンアップだけだと著しく動作速度が遅くなるって話
バージョンアップで遅くなる話はよくあるけど普通は数パーセントレベルだと思うけど何百パーセントて感じで遅くなりました
Hyper-V使い慣れている方には当然なのかもしれなけど今回初めてだったもので上げてみました
2008にする前はVirtalServerだったんでHyper-Vに乗り換えた時は問題になりませんでした
0251NAME IS NULL
垢版 |
2020/01/08(水) 02:12:23.04ID:fMxLGwbt
一般的にそれは「単純なバージョンアップ」とは言わないと思うぞ
0252NAME IS NULL
垢版 |
2020/01/08(水) 12:07:01.61ID:???
仮想化されてるけど物理構成変更だからな
0253NAME IS NULL
垢版 |
2020/01/09(木) 03:53:35.89ID:???
>>251>>252
分かり難くてすみません
Hyper-V仮想マシンはそのままでしたよ

今回は、ホストOS2012R2上のHyper-V仮想マシンのOSを2008から2012R2に変えて
SQLServerは2008R2から2012R2に変えたって話です
ソフトのみ更新で、すごく遅くなったのでHyper-V仮想マシンの設定を変えました

3か月ほど前にホストOS2008のサーバから2012R2のサーバへ移動させました
その数年前がホストOS2003でVirtalServerでした
このくらい変われば物理構成変更と思うんですけどね
0254NAME IS NULL
垢版 |
2020/02/03(月) 21:27:38.24ID:???
Sqlserverのバイナリ型は例えば本当にバイナリだけをdbに入れるのでしょうか?
アクセスのOLE型みたいにOLE型ヘッダーを付け加えたりしないのでしょうか?
ファイルのバイナリだけを保存してくれればいいのですが。
0255NAME IS NULL
垢版 |
2020/02/03(月) 22:02:09.04ID:01WTNDQb
>>254
そんなの製品の仕様で、データファイルを直にいじろうとするのがおかしい。
0256NAME IS NULL
垢版 |
2020/02/03(月) 22:56:54.27ID:???
バイナリデータを格納したいってだけで、データファイルを直で弄りたいとか言ってないけど?

つかADO.NETスレの人か
出来るかできないかで言えばできる
あとFILESTREAMとかいう機能もある
0257NAME IS NULL
垢版 |
2020/02/04(火) 00:13:16.39ID:pSRmCDt6
>>256
そうです。バイナリ型はつかったことないので手探りで調べています。
(1)適当なエクセルファイルをSQLで格納
例)副問い合わせでエクセルファイルをかきこみ
SQL
INSERT INTO [Test].[dbo].[BlobTable](Data)
SELECT BulkColumn
FROM OPENROWSET(BULK N'C:\work\Book1.xlsx', SINGLE_BLOB)
それからc#から読み込みファイルをかきこみ。
connection.Open();
command.CommandText = @"SELECT [Data] FROM [Test].[dbo][BlobTable]";//SQL Dataはバイナリ型
byte[] data = null;
data= (byte[])command.ExecuteScalar();//読み込み
string tmpdir = Path.GetTempPath();
var Tempfile = Path.Combine(Path.GetTempPath(), "tmp.bin");//テンポラリのパス設定 ファイル名はtmp.bin
System.IO.FileStream fs = new System.IO.FileStream(
Tempfile,
System.IO.FileMode.Create,
System.IO.FileAccess.Write);
fs.Write(data, 0, data.Length); fs.Close();

これをtmp.binとBook.xlsxを比較して(ファイルの中身がおなじことを
確認できました。PDFやWORDなどバイナリとしてSQLServerに
格納したかったのです。おさわがせしました。
0258NAME IS NULL
垢版 |
2020/02/04(火) 00:16:23.26ID:???
sharepointはblob型でドキュメントファイル保存してたな
0259NAME IS NULL
垢版 |
2020/02/04(火) 00:19:44.16ID:pSRmCDt6
ちなみにアクセスで失敗した点はおっしゃるとおりOLEのヘッダーを
削除しなければならないようです。マイクロソフトプログラミング
ASP.NET4のP140にかいてありますね。ためしていないのですが
書き込むとたしかに元ファイルとアクセスに書き込んだバイナリと比較すると
違うみたいですね。
0260NAME IS NULL
垢版 |
2020/02/06(木) 12:35:58.99ID:???
データベースにバイナリデータ入れると
データベースが肥大化して扱いにくくなるぞ。バイナリデータは外部にもってデータベースには保存先パス情報だけもつほうがいい。
0261NAME IS NULL
垢版 |
2020/02/06(木) 13:14:49.27ID:???
バイナリ項目を含んだSELECT文は取得結果に時間がかかる。
ローカルネットワーク内なら速度はでるだろうが
ルーター越えだとメチャクチャ遅くなりユーザーから遅いと文句言われるぞ
0262NAME IS NULL
垢版 |
2020/02/06(木) 13:42:10.95ID:???
データベースの中に突っ込むと権限とかバックアップとか移行とかがラクチンすぎるので
容量が許せば積極的にデータベース内に保管したい。
0263NAME IS NULL
垢版 |
2020/02/06(木) 20:08:32.65ID:d+4IHk/W
>>バイナリ項目を含んだSELECT文は取得結果に時間がかかる。
バイナリの部分はSELECT文に含まさなくても重いのですか?
>>データベースの中に突っ込むと権限とかバックアップとか移行
ファイル管理は便利ですよね
>>バイナリデータは外部にもってデータベースには保存先パス情報だ
はじめはそれがベターと思っていたのです。私も
0264NAME IS NULL
垢版 |
2020/02/07(金) 07:39:29.59ID:???
バイナリのフィールド含まなければSELECTは重くない
アプリケーション側でバイナリのフィールド含まないSELECT文で検索用一覧用データを取得して必要なデータ数件だけバイナリフィールド含んだSELECT文で取得すればいい
レスを投稿する


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