Microsoft SQL Server 総合スレ 11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Microsoft SQL Server (Transact-SQL) の総合スレッドです。 ・Microsoft 公式サイト http://www.microsoft.com/japan/sql/ 過去スレとかめんどいから誰か適当に貼って だからバックアップはDB管理者の仕事だって言ってるだろ クライアントにバックアップ保存するようなコンセプトじゃないんだよ >>8 無理です SQL-Server にはそう言う機能がないので MySQL でも使ってて下さい で、終了でしょ バックアップは、というか基本的に全てのSQLはSQLServer上で動いてるから、SQLServerのプロセスの実行アカウントがアクセス出来る場所にしかアクセスできない sqlcmdやbcpなんかのユーティリティでクライアントにデータ持ってきてるのは、結果セットをユーティリティがネットワーク経由してくれてるだけ、 バックアップファイルは結果セットじゃないんで無理 という認識でいる。あってるかどうかは知らない mysqlは SQLServerサービスの実行アカウントがNetworkServiceかDomainAdminsのユーザならUNCでいけるかな? インメモリのテーブルにレプリケーションのハブリッシュテーブル指定できないとか対応しとけよMSのあほー 使えそうと思ったのに >>30 > という認識でいる。 終わった話題に間違ったこと書くアホ w SQL server2012について、 コンピュータ名の変更が必要となっています。 すでにセットアップ済み、実行中のものなんですが、 コンピュータ名の変更を行うとSQL serverにログインできなくると見聞きしています。 msdnには以下のように書いており、 https://msdn.microsoft.com/ja-jp/library/ms143799 (v=sql.110).aspx まだ試してはいないのですが、他に必要な作業というのはあるのでしょうか? また、ログインできなくる原因というのはSQL serverが管理している情報で、旧コンピュータ名のものがあるからという認識なのですが、それがどれほどあるかがわかりません。 >ログインできなくる原因というのはSQL serverが管理している情報で、旧コンピュータ名のものがあるから 接続できなくなる理由はほとんどクライアント側だと思うが すくなくともDBサーバー側ではそこに書いてある通りだろ あとはBrowserとかリスナとかのサーバ側でもネットワーク設定の問題か SQLServer の資格情報がホスト名付きでシステム系のテーブルに格納されてるから、それを変更しないと。 ってのならやった記憶がなくもないような。 詳細は全く覚えてない。すまん。 windows認証のログイン、ユーザーがだめじゃ? >>35 日本マイクロソフト人事本部シニアマネージャー(名ばかり管理職)の西川昌邦(さいかわまさくに)は犯罪者にして殺人犯だ!! 「あなたのような従業員は会社のパフォーマンスにとってマイナスなので早く死んでください」 などと自殺教唆を公然と行った!! その結果人が死んだ!! 丁寧に言えば何を言ってもいいというものではない!!これはヤクザや借金取りが脅迫をする時に 「いついつまでに金一億円をお振り込みください。命が惜しければ間違った判断をなされないことを期待します」 と発言するのと同じレベルだ!! しかもそれを注意してやったら、「世間はわれわれの味方だ。文句があるなら訴えてきたらよろしい。メールを電番を公開したければ どうぞご自由に。世論はわれわれを賛辞するするメールを送付するだろう」 などとイカ様気取りも大概にしろという発言を行った!! 抗議先 日本マイクロソフト人事本部 西川昌邦 メール:masaikaw●microsoft.com (●を@に置き換えて) 電話:09025411718 >>33 ありがとうございます。 browserとはsql server browserの事を指しているのでしょうか? sql server browserとなると正直触れたことも無いので… sql server 2012上での作業は>>32 のみということでしょうか? あと、sqlに対して行うサーバー名の変更作業は、実際サーバー名を変更する前に行った方が良いのでしょう? コマンドプロンプトからsqlcmdでも出来そうには思うのですが、リスク軽減的にどちらが良いのかもう一つ分かりません。 何度も質問してすみません。 リスク軽減なら、ぶっ壊れても最悪再インストールすればいい検証環境で手順確立するのが一番 システムDBのバックアップリストアや再作製のやり方も練習する システムの構築手順を確認する、最悪の場合に備えて再構築するための時間を確保する かなあ。 express落とすか、developerかmsdnあるならそれつかって自分のPCで試してみればいい。 システム構成もホスト名変更する背景もわからんから具体的なアドバイス難しい サーバー名の変更だけならそれで良いはず 規定のインスタンス使ってない場合はよくわからない Windows人称でないなら問題も出なさそう DBのバッチ系の処理がおそいおそいと文句言われる HDをSSDに替えてアッと言わせてやろうと思うけど効果ありますか? ちなみにSQLServer2008無印 現在の構成はRAID5でログのみミラーリング 効果ありそうだけどSSDの損耗が早くてアッと言われそう >>40 バッチ処理をどう実装しているかによる。 単発クエリを10万回ループとかだったら、SSDに変えてもほぼ無力。 >>40 効果的なチューニングにはウイークポイントの調査が必要です。 複数あるバッチのどれが長時間かかるのか、バッチのSQLのうち長時間かかるのはどれか(1回の時間x回数) SQLがわかったら実行プランを取得してテーブルスキャンしてる項目を確認する。またOSのパフォーマンスモニタで書き込み、読み込みの状態を調べる。 サーバのハードウェアRAID書き込みキャッシュがON(ライトバック)になっているかも確認する(シスコのやつはバッテリー付きモデルなのに標準がOFFだった。) エンタープライズを使っている場合はテーブルの圧縮を行うのも有効です。 ほとんど欠点なく、スループットが上がります。 みなさん、ありがとん! バッチは毎日、毎時とそれぞれ数千〜数万件をBCPやインポート機能+カーソル処理でおこないますから かきこみ相当あるかも(汗) 一応、定期のメンテプランは実行していて圧縮、再構成等マメにやっています。ハードウェアRAID書き込みキャッシュがONもかくにんしよ、 印メモリは予算的にむりだし2008がサポート切れまでこき使ってやるつもり。 bcp等で巨大なデータを書き込む際にキー有りテーブルに書くのではなく、キーなしに書いて後からキーをつけた方が早くなります。 ただ、一時的にテーブルサイズが倍になる(alter tableすると内部でテーブルがコピーされるから)弊害がでます。 うちではbcpに6時間かかってたやつが3時間になったよ 処理の仕方にもよるけど、cpuのクロック高いのにするとか うちが扱ってる製品がそうで、10コアoverとかようつかわん E7-4000番台に3Ghz超える4、6コアのcpu欲しい インテルさんお願い ネックがどこにあるかわからんのにどうこう言ってもなぁ >>47 > バッチは毎日、毎時とそれぞれ数千〜数万件をBCPやインポート機能+カーソル処理でおこないますから > かきこみ相当あるかも(汗) それは、コードがボトルネックだな ハードウェアを増強しても、5分が4分とかになるくらいだろ コードを書き直せば、5分が30秒とかになるだろうな 1回のinsert or update or deleteが20msくらい×5万回=1,000秒=16分ちょい とかになってるのかな sql server 2014 expressで nvarchar(100)のカラムにハングル文字を書いて読み取ったら文字化けしました。 Server Management Studioで確認しても文字化けして ????と成ってます。 ネット情報では文字列の前にNプレフィックスを付ける必要があるとの事ですが、 そういう作業をせずに、DBの既定の言語をUTF-8に設定するみたいなのは出来ないのでしょうか? 既定の言語はSJISらしいですが、本当でしょうか? そもそもOSの言語が何で、サーバ/クライアントの言語が何かわからんが nvarcharに対する文字列は基本的にはNプレフィックス付けるべき 付けないとおそらく照合順序に従って変換されてると思われる (どのレベルでの照合順序が使われてるかは知らん) データベースの既定の照合順序はALTER DATABASEで変えられるけど データベース作り直す方が良いと思うぞ >>55 とりあえず全部のカラムにNを付けたら解決しました。 nvarchar型以外のカラムにもNを付けたのですが問題ありますか? 試した限りでは問題なさそうなのですが。 Win7とWindows Server 2012R2です。 Windows Updateを最新にした状態で2016をインストールしようとしたら「最小要件を満たしていない」と蹴られたのだが理由が分からない。 スペックが足らない訳でもないし、.Net Flamework 4.6.1はインストール済みなのに。。。 環境は以下のとおりです。Cドライブの空き容量は99GBです。 OS:Windows7 Professional x64 CPU:Intel Xeon E3-1241 v3 @ 3.50GHz CPUクーラー:ETS-T40F-W マザーボード:ASUS H97 PLUS メモリ:ADATA AD3U1600W8G11-2 8GB×4 SSD(Cドライブ):Plextor PX-256M5S 256GB SSD(キャッシュ):64GB HDD:WD20EARS×2 VGA:NVIDIA GeForce GTX 660 MSDN見てみたらWindows7が要件から抜けてるぞ ms143506 >>58 Oh・・・マジか。見つけられなかったよ、そうかWindows7は対象外か。大人しく2014インストールするよ。 SqlServer2014ExpressSP1の64bitを使っていて、 サービスの自動起動がされるときと、されないときがあるんですが、何かわかりますか? 手動で開始、停止を繰り返しても特に問題は起きず、 自動起動しなかったときに手動起動を行うことも問題なく出来ます。 サービスの自動遅延開始など試してみましたが、効果はありませんでした。 OSはWindows7ProfessionalのSP1です。 エラーログやOSのイベントログぐらい確認できないのかよ >>62 SqlServerのエラーログには何も吐き出されてなかったのですが、 OSのイベントログは見ていませんでした。そちらから調べてみます。 SQL Server (MSSQLSERVER) サービスの接続を待機中にタイムアウト (30000 ミリ秒) になりました。 と出力されていたので、タイムアウトの時間を60000ミリ秒に設定してみました。 これで発生しなくなるかはまだわかりませんが、しばらく様子を見てみます。 >>62 ありがとうございました。 そもそも30秒で起動できないような環境が正しいか検証するべきじゃね 2014 management studioで TRUNCATE TABLE でデータを削除してしまったのだが、UNDOは出来るの? 至急おしえてくれ。 UNDOが何の事を指してるか分かりませんが、できません バックアップから回復して下さい >>67 バックアップはどこにある? 自動バックアップがあるの? 完全復旧モデルなら、今からバックアップ取って日時指定でリカバリできる気がする 潔く諦めるか、そこだけ何故か震度7に襲われたことにするか、ついうっかり硫酸をこぼしてしまうか 天狗の仕業にするか 様々な手はある もしくはこれから徹夜で手入力し続けて、明朝やつれきってゲッソリした顔で上司を迎えて同情を買うか まぁ、買ってはくれないだろうけれども 楽になりたいなら、びっくりするほどユートピア!を社員の前でお披露目するしかないだろうことは想像に難くない SQL Server 2012 SP3 をダウンロードしたいんだけどダウンロードセンターからダウンロードできない。 これだよねえ。 https://www.microsoft.com/ja-jp/download/details.aspx?id=49996 言語を選んでダウンロードボタンを押すと ダウンロードしていただき、ありがとうございます。 Microsoft SQL Server 2012 Service Pack 3 (SP3) インストール方法 以下略… となってなにも起こらないです。 IEでもFireFoxでも同じです。 どうしたらいいす?? と、Chromeで試しながら書いていたらChromeではダウンロードファイルの選択ダイアログが出て、 ダウンロード開始することができた。ロサキネンシス! sqlserverからaccessのデータへ接続したいのですが 以下のページを参考にすると http://sqltips.blog40.fc2.com/blog-entry-11.html 「Microsoft Jet 4.0 OLE DB Provider」というものが必要みたいなんですが 私のsqlserverには表示されていません。 どこかで手に入れてインストールしておく必要があるんでしょうか? どなたか教えてください >>75 やっぱりそうなんですね 何とかaccessからデータ抽出する方法ってないでしょうか? 32bit版のsqlserverをインストールすればいけますか? Access側にSQL鯖へのリンク張って、そこで転送するとか >>74 64ビット版のODBCドライバ経由すれば良いんでない? Jet OLEDBは古い ACE.OLEDBってのがあって、これは64ビット版もある たぶんそれでできるだろうけど、ACEってサーバ側での使用は想定も許諾もされてない気がする accessからSQLServerにリンクテーブル張るのが楽な王道じゃないかな リンク貼る時何選べばよかとよ? native clientとか分からん選択肢が一杯出て来るけん SSMS2016でATOKが使えないんだが・・・ Win7x86 アプリの表示件数と実データの件数が合わないらしいから調べろと言われ 指示されたテーブルのフィールドを見たら泣きたくなった だって、マスタキーがカンマ区切りで格納されてるんだもの orz 自分で関数作るか解析専用の外部スクリプト作るしかないのか? >>82 ちょっと思ったんだが、CSV型みたいなCLRのユーザ定義型を自分で作ってみるとかどうだろう >>81 ssmsでatokが使えないってどういう意味よ? SQLを発行してテーブルのデータを読み込む場合、 結果をDataTableに一気に読み込むのと、 SqlDataReaderを使って while (dr.Read()){ ... } のようにループで一個ずつ取り出すのとで、どっちが良いとかありますか? >>86 数件〜数万件くらいです。状況によって変わります。 >>87 上限が数万なら一気読みでいいかと 将来的にもっと増えるかもならループかな >>88 数が増えるとループのほうが良いのですか? なぜですか? MySQLのREPLACE INTOに相当するコマンドはありますか? すみません、ご教示ください。 応研の給与大臣を使用していて、カスタマーサポートの指示に従いデータを復旧していたのですが、 以下の互換性コンポーネントをインストールするようダイアログが出ました。 Microsoft SQL Server 2005 の旧バージョンとの互換性コンポーネント 対象 : カスタマ、パートナー、開発者 X86 パッケージ (SQLServer2005_BC.msi) - 11258 KB X64 パッケージ (SQLServer2005_BC_x64.msi) - 18552 KB IA64 パッケージ (SQLServer2005_BC_ia64.msi) - 23490 KB 当方の環境がWindows10 64bitなのですが、どのパッケージをインストールすれば良いのでしょうか? 単純にX86 パッケージで良いものかわからなかったもので。 mergeで全項目上書きでいいんじゃね そもそもdeleteしてinserすれば良いだけで ちゃんとしたトランザクションをサポートするDBMSでreplaceの必要性がわからんが 生SQLだと0秒なのに、ストアド内に書くと35秒とか、 似たような悩みはググるといっぱい出てくるんだけど、どれ見ても解決してない様子 「推定実行プランの表示」ってダメ元で見てみたら、 ストアド版だけインデックス貼れって警告があって貼ったら直った 全く同じ内容なのに実行プランが違うわけないじゃん もしかして有償サポート増やすために仕組んでる? mysqlやpostgreはいくら便利な命令があっても、スピードが遅いから単純なことにしか使えない しかしまあ、t-sqlはお硬いやね お硬いから速いのかもしれんが GREATEST、LEASTぐらいは付けてもいいような SQLが同じでも実行計画が同じになるとは限らん ストアドの実行計画は実行時に決定されるとは限らん インデックス追加したということは、生SQLの方はインデックスを使ってないのに早かったのか 生SQLで使われてたインデックスがストアドでは使われてなかったのか この程度の判断が自分でできないなら素直にどっかの業者に頼んだほうがいいんじゃね ていうか俺自身が方々で数十倍〜数百倍にスピードアップさせてきた業者だからw >>98 生SQLとストアドって言ってるんだけど、何が全く同一なのか? 推定実行計画は必ずしも実際の実行計画なわけじゃないぞ ストアド内の個々のSQLの、実際の実行計画って簡単には確認できなかった気がするなぁ だれか簡単なやり方しってる? 何が問題だったかわからんけど、とりあえず不要かもしれんインデックス追加して直りましたってか パフォーマンスチューニングやる業者のレベルとしては信じられんな >>94 >replaceの必要性がわからんが deleteしてinsertを一つのコマンドで実行したいからじゃねえ? 文字列型のカラムで 2016/10/24 12:34:56 2016/1/2 2:3:5 のように桁がバラバラなのですが、それを 2016/10/24 12:34:56 2016/01/02 02:03:05 のように YYYY/MM/DD HH:MM:SS に揃えるSQL文を教えてください。 >>101 dm_exec_query_statsにある情報でいいんかな dm_exec_query_plan、dm_exec_sql_text組み合わせてステートメント単位でとってこれるよ カーソルオープンは厳しかったと思うけど 生SQLが早いってことは検索条件に変数使ってるとかかね 分布が特異な偏りしてるインデックスをストアドで使うなら、with recompileつけるのが推奨だったと思う ヒント文つけてもいいけど >>104 一旦日付型にCASTしてからフォーマット つか特殊な要件が無ければ、DB上は日付型で保持してホストアプリ上で表示変換させた方が良いぞ >>105 >dm_exec_query_plan、dm_exec_sql_text組み合わせ それ見ても、どのプロシジャなのか探すのが大変だからなぁ >>106 >104 日付を文字列で保管するとどういうデメリットがありますか? >>106 dbidとobjectidで引っ張ってくればいいじゃない うちはバックアップとかみたく自動で定期的にとるよう運用に乗っけてるよ リリースして遅くなったなんてときにかなり重宝する >>107 orderbyとかwhere条件が大変 変換噛ましてやれないことはないが、そのぶんだけおそくなる それにデータサイズも文字型のほうが大きくなる >>109 なるほど。 でも日付型は1750年以降くらいしか保持できないそうですが、それで 問題は出ないのですか? >>107 文字列で持ってたら、日付計算どうすんだよ >>110 日付型って言っても色々あるから dateかdatetime2使え >>111 >日付計算 このデータに関しては日付の計算をする予定はありません。 >dateかdatetime2使え 紀元前を扱うにはどうするのでしょうか? >>115 どういった目的で紀元前を扱いたい? 扱うとは具体的にどういった処理をする? >>116 紀元前を扱う目的はその年代の年月日をデータで保管したいから。 日付の計算はしない。 それだけ。 てきとーにアンインストールしたら次から全然インストールできんくなった...助けて インストールログみて止まってるとこでググる システムの復元でアンインストール前に戻す OSから入れ直す なにも情報ないからこれくらいしか言えない ットアップが失敗しました。 クリーンアップが必要ですってポップアップがでてきます.. sql serverとmysqlとで同じテーブルを同期させるなんて出来ますか? sql serverの本データをmysqlにコピーする感じで。 >>123 MySQLへリンクサーバー定義して、同期時に更新とかで出来そうな気がする 同期どうするかは考えんとダメだけど >>124 sql serverからmysqlへの一方通行のコピーなら簡単に出来るもんなの? リンクサーバ定義すれば、SQLServerからはローカルテーブルとほぼ同じように扱える ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる