Microsoft SQL Server 総合スレ 8
☆ チン マチクタビレタ〜
マチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < Oracle RAC と同等の機能まだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 愛媛みかん |/
皆さんはSQL Serverのデータベースサイズ見積もりとか
どのようにやってますか?
何かOracleみたいにツールとかないんですかね?
今新しいシステムでSQL Server使うことになったので
調べてるんですが、SQL Server7.0のExcelは
発見したんですが、どうも使い勝手が悪いのと
バージョンが古すぎるので心配で・・・
MSDN見ながら自力でやるしかないのかなぁ
>データベースサイズ見積もり
テスト環境に実際にデータ放り込んでから考える
そろそろ正規表現を実装して欲しいな
2008R2ではどうなることやら
SELECT * FROM hoge JOIN table_kansu(hoge.id) on 1 = 1
ってなイメージじで、hogeテーブルの1行ごとにテーブル関数の結果をjoinしたのですが、
どのように書けばよいのでしょうか?
select *, table_kansu(id) from hoge
マイクロソフトの正規表現って使いづらくない?
初めにgrepとかで覚えた人だとちょっと戸惑うかもしれないけど
慣れちゃえば結構使いやすいと思うけどなぁ
10 :
NAME IS NULL:2009/12/12(土) 18:03:36 ID:iz5RvqdP
age
以下のスレから誘導されてきました。
http://pc11.2ch.net/test/read.cgi/db/1234077152/ 先のスレでも回答いただいたのですが、どうやら私の理解が不足している様でして
出来れば初心者にも判りやすく回答いただけないでしょうか。
質問の内容はこの通りです。
環境はVS2008pro C# SQLServer2005EEです。
SQL分でLIKE抽出するときなのですが、%っていうのは「なくても」or「何が何文字あっても」って感じですか?
ワイルドカード文字数を指定してLIKE抽出したい場合*を使うのでしょうか?
又、*は「とりあえず何らかの文字が1文字以上ある」なのでしょうか?
やりたいことは (0は何らかの数字/A,Bはアルファベットが入ります)
000A000
000B000
000A000B
000B000A
の中から4文字目にBがくるものだけ抽出したいのです。
LIKE %B% では000A000Bも拾ってしまいます。
この場合*B*でいいのでしょうか?
(正規表現も試しましたがかなり遅い感じを受けましたので出来れば避けたいです)
よろしくお願いいたします。
一文字ワイルドカードは_だと教えて頂きましたが、___B%ではまるで抽出できませんでした
ちなみにデータの型はCHAR(8)です。
よろしくお願いいたします。
>>11 like '___B%' でいいと思うんだけどだめなのか。
じゃ、like '???B*' は?
14 :
11:2009/12/12(土) 23:33:07 ID:???
>>13 ありがとうございます。
SQLServerでは一文字ワイルドカードは*なのですか?
それとも_なのでしょうか。まずそれすらもわかりません。すみません。
*では抽出できるのですが_だとできません。
又*ですと一文字だけマッチではなさそうな動きをします。
?も試しましたが思うような動きになりません。
うちで試してみたが
>>13で動く。
つーか向こうのスレで言われてたsubstringは試したんだろうね
Microsoft SQL Server 2008 Express with Tools をインストールしたのですが、
定期的にエラーが出ています。
動作自体は正常ですがこのエラーをなくす方法はないでしょうか?
http://sylphys.ddo.jp/upld2nd/pc3/src/1260630714073.jpg すべてをアンインストールして、
Microsoft SQL Server 2008 Express Edition SP1
Microsoft SQL Server 2008 Express
Microsoft SQL Server 2008 Management Studio Express
などを入れても同じ症状です。
そのエラーは見たこと無いけど
該当ファイルの代替データストリームを削除しろと言ってるように見える
19 :
11:2009/12/13(日) 21:05:17 ID:???
>>15 ありがとうございました。正規表現って遅くなりませんか?私の勘違いでしょうか。
>>16 SQL文でsubstringが使えるのですか?
よろしければご教示下さい。
なんでヘルプ読まないの?
21 :
11:2009/12/13(日) 21:22:51 ID:???
だからヘルプ読めよ。そうしたらわかるから。
今知ったが、SQL Server 2008って、データ型に HierarchyID なんてのが
追加されてたんだ。Transact-SQLからじゃないと使いにくいけど。
ヘルプじゃなくてオンラインブックだろ
26 :
NAME IS NULL:2009/12/16(水) 10:50:26 ID:wo+YmiKq
名前はどうあれドキュメント嫁ということは正しいだろう?
SMSでたたけばすぐ分かることをやんない奴は辞めたほうがいいと思うぞ
顧客が意地でも現在使用しているWindows2000鯖を流用してシステムを組んでほしいみたいなので
SQL Server2008を考えていたシステムが2005にせざるを得なくなりました。
しかし現在5Cal付きのMicrosoft SQL Server 2005 Workgroup Edition はどこにも売っていないんですね・・・
どこか売ってる情報とか、ダウンロード販売してるよ とかあったら教えていただけませんか?
データベースサイズが 2GB 超えないなら無料版でも使わせておけ
ダウングレードで
モノは MSDN で落として、ダウングレード権を行使、だな。
MSSQL Serverの運用経験者募集というとどういう事が出来ればいいのかな
前に小規模なものを管理していて実務経験としてやった事があるのは
インストールやSP、パッチ適用
DBサービスの停止、再起動、サーバー再起動
DB作成、テーブル作成
マネージャを使用しての中身の項目いじる、簡単なSQL文で抽出
DBサイズの確認やログ切捨てなどのサイズ管理
定期バックアップの計画作成、実設定やテープ交換
バージョンアップ及びデータ移行
ハードウェアの増設やリプレースなど
って感じなんだけどこれは運用経験ありますと言える内容ですか?
>>31 会社によって求めるものが違うでしょ。聞いてみたら?
とりあえず職務経歴書送っとけば
2000と2005以降だと随分ルック&フィール違うけど
そういうところは無視なんだろうな
34 :
NAME IS NULL:2009/12/24(木) 11:34:34 ID:zE5y6xe0
SQL Server 2005 SP3 です。
LANケーブルを抜くまたは切断すると、サーバー内でも
DBのエラーとなります。
これは仕様ですか?
改善策ありましたら教えてくださいませ。
>>34 DBのエラーにもいろいろあるだろ…
エラーの内容くらい晒せよ
以下接続エラーとみなして
DBのエラーを何で確認してるのか知らんが
接続先の指定にサーバー名とか使ってない?
名前解決できなくてエラーのような気がする
>>34 昔、LANケーブルを抜くと「ping 127.0.0.1」が返ってこなくなる
PC(というかNIC?)に出会ったことがある。
F社製のノートPCだったけど。
マルチすんなよ
39 :
NAME IS NULL:2010/01/07(木) 01:27:11 ID:EbEc0qRu
AccessからSQLServerへ接続する方法で悩んでいます。
ADP作ってOLEDBで接続するのと
odbcデータソースを事前に作成し、mdbでリンクテーブルで接続する2つの方法では
運用面は置いといてodbc側になにかメリットがありますか?
OLEDBの方が高速ですし、単純にどちらも使える環境だと
ADPを使えばよいと思うのですが何か誤解していないか心配です。
いかがでしょうか。
SQLの構文が若干変わるんじゃなかったっけ
41 :
NAME IS NULL:2010/01/07(木) 10:53:02 ID:dDKzhp85
>odbc側になにかメリットがありますか?
デメリットしかないんじゃね?
#そういえばリンクして使ったときがないなぁw
メリットはMDBをローカルテーブルとして使えるくらいかな
ODBCから持ってきたデータをMDBに置いて表示編集して
書き戻しってプログラムを作ったことがある
ってすれ違い
300項目あるテーブルAから50項目、
50項目あるテーブルBから3項目を
テーブルCにinsertするっていう処理を
ストアドでやろうとしてます。
カーソルでテーブルAを取得して
1行ずつ読み込んでいき
テーブルBの項目を取得して
テーブルCにinsertする、ということを考えていたんですけど
当方の勉強不足で、Transact-SQLにはPL/SQLでいう%ROWTYPEがないことを
最近気が付きました。。。
このような処理のときって
多少、複雑でも1つのSQLで全部済ませたほうが
いいのでしょうか?
お知恵をお貸しください。
>>43 PL/SQLでもいちいち変数にいったん代入するとかしないよな。
INSERT SELECTで直接やるか、事情があってカーソル使うケースでも
暗黙のカーソルをつかえば十分。
Transact-SQLの場合もINSERT SELECTが推奨だが、
平行運用などしてて長時間READ Lockをかけたくないとか、
途中で複雑な処理をしたい場合は、一時テーブルを使えばスマートに書ける。
46 :
NAME IS NULL:2010/01/12(火) 11:48:07 ID:k33beZ1z
新たにインスタンスをインスコしたけどつながらん
Windowsファイアウォールを外すとつながるので
この設定だと思うけど、対象のsqlservr.exeを受信送信で許可するだけじゃだめなんですか?
自己レス
ポートを開いて SQL Server Browser サービスを公開するには、
[ポートの追加] をクリックし、[名前] ボックスに「SQL Server Browser」と入力します。
次に、[ポート番号] ボックスに「1434」と入力し、[UDP] をクリックして、[OK] をクリックします。
SQL Server Browserが1434なんて常識!?
SQL ServerでTCP 1433とUDP 1434は常識
ファイル共有してるmdbへのリンクサーバーが遅い・・・。遅すぎる・・・。
仕方ないから、ストアドで一度一時テーブルに入れてから、それを
結合して組み立ててる・・・。はあ・・・。遅いのはわかってたけど、
想像以上に遅い・・・。なんとかうまく早くする工夫はないですかね・・・。
文章を簡潔、かつ分かりやすく書く努力から始めてはどうか。
mdbへのリンクサーバー?
>>49 mdbを経由する必要はあるの?
sharepointのリストを参照したいとか?
>>53 mdbは別の部署のシステムなのです・・・。
55 :
NAME IS NULL:2010/01/20(水) 10:16:15 ID:vkZJcbao
>>54 Accessならすれ違い
SQLServerにリンクテーブル張っているAccessMDBをファイル共有?
>>55 リンクサーバーでぐぐれカス。
カスの分際で仕切るな。
>>56 2000は忘れたけど2005はサーバ側も入れないとsqlcmd使えなかった気がする
まぁ普通に考えてサーバ機能が無いのにosqlとか無理っぽいけどね
mdbへのリンクサーバー、x64 じゃ無理なんだよね
かなりガッカリした
OLEDBプロバイダやらODBCドライバやらの64ビット版がないから無理。
質問になります。宜しくお願いします。
ロックの解析のため、トレースを取得しているのですが、
Lock:AcquiredイベントでType=7:Key,Mode=14:共有キー範囲/更新 (LCK_M_RS_U)
が発生しています。これは、キー範囲ロックのRangeS-Uに相当するのでしょうか?
http://www.dbtuna.com/article.asp?id=28 などを見ると同等に思えるのですが、
DACコンポーネント経由のアクセスでトランザクション分離レベル
を変更した場合に、
READ COMMITTEDでもSERIALIZABLEでも発生していることに困惑しています。
RangeS-U相当ならSERIALIZABLE以外では発生しないはずですので、
原因がわからず困っています。なにか見当違いをしているのでしょうか…
何も知らずに、客先で >> 62 のリンク踏んだら大変だな・w・
なんで?
65 :
NAME IS NULL:2010/01/31(日) 00:42:18 ID:i/zQY3Zu
すいません。マルチですが。。
SQLSERVER2000を混合認証(Windows,SQL認証)で使用しているのですが、
SQLSERVERを起動するとログイン画面がでてこないで、ログイン状態で開きます。
(windows認証にするか、SQLServer認証するかを聞いてくる画面が2005だとでてくる)
どのようにして、2000でログイン画面を出すようにすればよいのでしょうか?
というのはsaのパスワードがあっているかどうか試したいだけなのです。。
そもそもSQL Serverの本体に画面なんてないんだがな
お前はなんの事を言ってるんだ?
saでログインしてみたいだけだなら、クエリアナライザなり
エンタープライズマネージャなりで新規に接続してみればいいだけだろう
sqlが通らないです。
誰か助けてママン
SELECT COUNT(*) FROM (SELECT * FROM A UNION SELECT * FROM B)
※AとBは同構成
ストアドでデータが同一なのを確認ってどうやってするのさ?
>>67 SELECT COUNT(*) FROM (SELECT * FROM A UNION SELECT * FROM B) AS A
セキュリティを気にする必要がなければ、tablediff.exeでも蹴り飛ばせ
UNIONしてCOUNTとってもデータが同一とみなさないだろw
EXCEPTかINTERSECT使えばいいんじゃない?
おいしいくに microsoft
SELECT * FROM A
UNION
SELECT * FROM B
EXCEPT (
SELECT * FROM A
INTERSECT
SELECT * FROM B
)
75 :
NAME IS NULL:2010/02/05(金) 17:11:50 ID:i0MtKB/o
SQL Server 2008のExpressエディションは、
WEBアプリのバックエンドとして使ってもいいのかな?
それがインターネット上の商用サイトでも。
WorkgroupやStandardエディションならプロセッサライセンスを買えばOKなのかな?
公式見ても具体的にOKもとNGとも見つからなかったので・・・。
>>75 Expressはライセンスの概念がないからOK。
ただしServerのほうは必要。WebEditionなら気にしないでいい。
test
78 :
NAME IS NULL:2010/02/07(日) 01:10:06 ID:S6iuWy/F
くっそー…
ノートブックに
@SQL Server 2008 Enteprise edition
ASQL Server 2008 SP1
BVS2008
CVS2008SP1
を上記の順番で入れようとしたら@のインストール時に
0x84B20001
というエラーが出てきて進めない。ググっても英語サイトばかり…。
これら4つをインストールする順番って何かあるものなの?
このエラーコードを見たことある人いますか?
以前にSQL SERVER 2008に限らず過去のVerをインストール
またはVS2005とかをインストールしたことがある?
80 :
NAME IS NULL:2010/02/07(日) 10:59:32 ID:S6iuWy/F
>>79 リカバリー直後に行っており、SQLサーバーやVS関連はインストールされていません。
Enterprise?
OSは?
クライアントOSにはDeveloperかExpressしか入んなかったような気がする
>>78 まずはその英語サイトの内容を読んで判断しろよ。
84 :
NAME IS NULL:2010/02/08(月) 00:13:35 ID:bTbof5Zc
OSはvistaです。
別の事務所のデスクトップ1台(vista)に導入したときは問題なくできました。
自宅のノートブック(vista)にも同様の環境を整備しようとして、別途インストールしようとしたときにエラーになります。
ノートブックのOSに問題があるのでしょうか…。
Oracle ストアドで言うところの
SELECT A,B INTO @A,@B
FROM TABLE
を SQL Server でやらすためには、カーソルを定義して書かないとダメなん?
select @A=A,@B=B from TABLE
でできた気がする
SQL Azureはここでええんかい?
>>84 Enterpriseなんてん百万もするのをデスクトップPCに
入れるなんて金持ちだね。
あ、もしかしたら・・
ん百万もしない。
サブスクリプションだのSAだのライセンスはいろいろあるだろ
Enterpriceなんて、MSDNで開発用に入れるだろ
アカデミックが1万ぐらいであるんじゃねーの
開発用はDeveloperエディション入れる
2000と繋がってたJAVAのWEBシステムが2008に繋がらなくてピンチorz
>>94 Standardでは動くのにDeveloperだと動かないみたいな微妙に差が出たことがあって
MSDNあるなら実運用環境に合わせたEnterpriseを入れたほうがいい気がする。
DeveloperはEnterprise相当なのでさすがにStandardみたいに違いが出るとは思いたくないけど。
>Standardでは動くのにDeveloperだと動かない
逆はあってもこれは無いと思うんだが、動かなかった実例があるのか?
RDOを使った処理の一部が2005のStandardでは動いてDeveloperというかEnterpriseでは動かないものがあった。
普通は逆だろうと思ったんだけどね。
RDOってODBC用のだっけ?
MDACとかNative Clientのバージョンの違いとかそんなのではないの?
実運用環境がEnterpriseって決定なのかよw
どこか忘れたけど SQL Server 2008 sp2 は2010/4Q って書いてあった
R2が先なのね
SQL Server 2000 を入れて Visual Studio 2008 Web deb. を入れて
SQL Server 2008 Express を入れて
SQL Server 2008 Express を停止しています。
osql や Visual Studio では接続できるのですが
java jdk1.6 jbdc2.0 eclipse 上で SQL server につなごうとしているのですが
うまくいきません。
こんな環境で大丈夫でしょうか?
何が言いたいのかわからんが、SQLServerとSQLServerExpressの接続文字列はデフォだと違うぞ?
104 :
NAME IS NULL:2010/02/27(土) 23:28:38 ID:mqmej+Dm
BCP(QUERYOUTを指定)コマンドでテーブルのレコードを
CSV形式でエクスポートした時、文字化けすることってある?
105 :
NAME IS NULL:2010/02/28(日) 00:42:32 ID:ZQw2O84x
そいや普通Oracle->SQLServerとか
SQLServer->Oracleってのが普通に移行であったと思うけど
SQL2000->SQL2008とかある場合どうするのが適当なのかしら。。
DTSも非推奨だし、SSISも微妙なできだから悩ましい。
それだったらデタッチしてアタッチすれば完了。
スキーマを多少見直したい場合もそれで簡単にデータ移行ができる。
107 :
NAME IS NULL:2010/02/28(日) 00:52:21 ID:ZQw2O84x
いあいあ、ストレートにコンバートはそれでいいんだけど。
改修がある場合とかあるでしょ普通
マイグレーションのついでに、テーブルに項目追加するとかさ
移行もとのデータベースが同一インスタンスのDB名違いでインポートできてれば、
データの加工や移し変えはできるだろ?
>>105 2000->2005->2008ならできると思う
>>104 むしろ、Excelで読み込んで文字化け、とかあるな。
UTF-8で出せば文字化けしないけど、ExcelはUTF-8読めないバージョンがあるので。
111 :
NAME IS NULL:2010/02/28(日) 21:15:57 ID:fWLj85mi
113 :
NAME IS NULL:2010/03/11(木) 01:24:57 ID:PrFMBD9z
2005でテーブル変数を使うと、一度接続を切っても
TEMPDBの一時テーブルにいつまでも残骸が残っているように見えるんだが、
これは正しい動きなんでしょうか?
kwsk
115 :
NAME IS NULL:2010/03/12(金) 11:31:29 ID:fJW0fowO
SELECT 2006 AS nendo
UNION ALL
SELECT 2007 AS nendo
UNION ALL
SELECT 2008 AS nendo
UNION ALL
SELECT 2009 AS nendo
UNION ALL
SELECT 2010 AS nendo
↑
これをもっとスマートなSQLで書き直す方法はありますか?
教えてください。
>>115 nendoのテーブルを作って、1900から2100くらいまであらかじめレコードを追加しておいて
select
nendo
from
nendo_tbl
where
nendo between 2006 and 2010
ではダメかい?
WITH interval(f, t) AS (
SELECT 2006, 2010
), nendo(y) AS (
SELECT f FROM interval
UNION ALL
SELECT y + 1 FROM nendo
WHERE y + 1 <= (SELECT t FROM interval)
)
SELECT y FROM nendo
;
手元に環境ないからテストはしていないんで動かないかもしれん
任意の範囲を指定したいときはintervalのfとtの値を変えてくれ
数件程度のテスト目的ならUNION ALLだけで十分だと思うけどね
再帰SQLが使えるバージョンなら、素直に
with t as(
select 2006 as nendo
union all
select nendo + 1 from t where nendo < 2010
)
select nendo from t
でいいんじゃねえか
119 :
NAME IS NULL:2010/03/14(日) 02:57:38 ID:hwt6I+2j
SQLServer使うときはPen4のHT切っておけとどこかのblogに書いてあったのですが、
今のCore iのHTでも切るべきでしょうか?
>>119 複数CPUがあって2つCPUを使うつもりで
実際には同じCPUを使っててパフォーマンスを落とすなんてことが起きるのでということだったと思う。
今のCore iもシングルコアでないのにHTを有効にする利点がわからない。
>>120 サンクス。最近のXeonはHTで4コア8スレッドなので切った方がよさげですね。
面倒だ・・・
んなバカな
Hyper-Threadingがパフォーマンスを落とすってのはどこのソース?
124 :
NAME IS NULL:2010/03/14(日) 12:19:32 ID:DtdqkEWk
>>122 Hyper-Threadingが出始めた、6年前あたりから常識です。
所詮コア数が倍になるまでの過渡期の技術。
>>123 その記事は実測値が載せられていないし、Hyper-ThreadingのWikiでも取り上げられているが
Intelは否定しているけど、どっかに実測値付きのソースとかってないの?
>>124 常識じゃなくて噂でしょ
当時の自作板、Windows板でも散々話題に上がっていたけど
結局明示的なソースは上げられていなかったが
>>125 > SQL Server システムで、ハイパースレッディングを有効にした状態と無効にした状態の
> 両方でアプリケーションをテストしてから、運用システムに変更を実装するようにしてください。
それは両方試しましょうねって言ってるだけでしょ
グラボのGPUだとコア数が数百個とか当たり前だしな。
テストして実装しましょうなんて時点でマルチコアとHTが別物ってことだよな。
変なリスク負いたくないからHT切るわ。
>>128 >125のリンク先読んだか?あくまでパフォーマンスについての話だぞ
まあ、特定の状況でHTオンの方がパフォーマンスが落ちる可能性があるのは確からしいな
そんな状況が一般的なのかどうかは知らんがな
それより2000以前のOSだと、OSそのものがHTでバグってたような記憶があるんだが
デュアルCPU未対応とかだな。
>>128 どうしてデフォルトで有効なHTを無効にしてまで
リスクを負いたくないからって発想になるんだ?
リスク云々がどこに書いてある
パフォーマンスについてはテストして確認してくれって書いてあるだけだろ
高負荷で性能が著しく低下って普通リスクって言わないのかね?
まあ業務で使うこと無いから別にどうでもいいけど。
> 高負荷で性能が著しく低下
どこにそんな記述が?
>>123じゃないの?
なんでIntel擁護するんだろ。単にHTが微妙ってだけなのに。
xeon55xx でCPUx2 でDB鯖組んだやついる?
NUMAどんな感じ?
メモリがCPUに付いてCPU間のデータ交換頻発して
パフォーマンスが落ちたりしない?
>>131 業務で使うからだよ。
安定してパフォーマンスが落ちないことのほうが重要。
特定の状況で性能が劣化することがあるなんて明らかなリスクは取っ払うのが無難。
DBサーバーのCPU負荷ってどの位が適切なんでしょうか。
平時30〜60%、ピーク時80〜90%なんですが。
CoreDuoE6700でメモリ8G積んでますけど
Win2003SP2 32bitだったかな
平時1-10%くらいだな
ストアドでバッチとか走ると50%くらいいくけど
ピーク時に100%いかなきゃ何でもいいだろ
>>136 業務で使っているなら、HTの有効無効でパフォーマンステストも
していると思うが、その差を教えてくれよ
出来ればデータ対時間の関係も合わせて
MS SQL Server 2000 のバックアップファイルが壊れていない(リストアできる)かどうかをVB6から調べる方法はありませんか。
リストアさせてみればいいんでないか?
本番とは違うDB名で
143 :
137:2010/03/21(日) 13:16:21 ID:???
>>138,139
遅くなりました。ありがとうございます。
144 :
NAME IS NULL:2010/03/21(日) 19:23:47 ID:+5EBZGzW
ちょっと急ぎで教えていただきたいことがあるのですが・・・。
Management Studioのインポートウィザードを利用して
SQL Server 2008の既存テーブルにcsvファイルをインポートしようとしています。
(取込対象のcsvは既存テーブル内のデータと重複するレコードを多数含む20GB程度のファイルです。)
こういった場合に、重複レコードを無視(処理しない)でインポートする事は可能でしょうか?
実際試してみたところ、キー重複のレコードが1件でもあると一切取り込まれませんでした。
インポートウィザードを利用しない方法でも結構ですので、どなかたご存じの方ご教授ください。
宜しくお願い致します。
無理。
>>144 同じ様なことあったけど、結局諦めたわ。
主キーなしの別テーブルにインポートして、そこから条件抽出してお茶を濁した覚えが。
テンポラリテーブルに取り込んで、NOT IN だな。
一応言っとくけど、INSERTじゃなくMERGEな。
150 :
144:2010/03/22(月) 07:25:54 ID:???
>>145-149 皆様ありがとうございます!
>>148の方法でテストしてみたところ上手くいきました。
本番もこの方法でやろうと思います。
ありがとうございました。
ストアドの結果をカーソルで取得したいんですが
下記のようにするとエラーになって保存できません。
他に何か方法はありますでしょうか?
DECLARE curHoge CURSOR FOR
EXECUTE sp_hoge @hoge1, @hoge2
特定行が行ロックされているか確認するSQLはどのように書けばよいのでしょうか?
ロックは更新ロック(WITH(UPDLOCK,ROWLOCK,NOWAIT))です。
>>152 ロックされてたらどうするの?
どうしようもないよね?
sp_lock?
155 :
NAME IS NULL:2010/03/28(日) 23:18:10 ID:RtX0WDiI
もうロックエスカレーションっていらなくね?
今時メモリの節約って??ハア?って感じ。
サーバーならメモリ8GBぐらい当たり前に積んでるから、
素直に行ロックしてもらった方が全然いいんだが‥
更新ロックの対象が行じゃなくて範囲ロックになったり、
カーディナリティ低めのインデックス単位で
ロックがかかるのも迷惑すぎる。
156 :
NAME IS NULL:2010/03/28(日) 23:19:23 ID:wwpovUix
まぁ適材適所でしょ。
てかSQLServer2005からは読み取り一貫性もサポートしてるだろうよ
157 :
NAME IS NULL:2010/03/28(日) 23:52:47 ID:RtX0WDiI
>>156 確かに読み取り一貫性は読むだけの場合には解決策になるが、
各々まったく別の行をロック(更新)したい処理同士がぶつかって
意図しないロック待ちやデッドロックするのが嫌すぎる‥
読み取り一貫性だけじゃ、意図した行だけのロックがなされないことの
解決にはならないっしょ。
>>155 メモリ8GBじゃ無理なくらいレコード数があるだろ。
そもそも、最近は想定外のレコードまで更新ロックされてデッドロックなんて起きてないから使い方次第だろう。
微妙なインデックスがあるとおかしな実行プランが発生して
予想外な範囲がロックされることはあるけど使用するインデックスを指定すれば解決するし。
プロファイラでも実行して負荷が不自然なクエリがないかチェックしたほうがいいんじゃないかな。
>>158 >メモリ8GBじゃ無理なくらいレコード数があるだろ。
オンラインで(キー情報だけメモリに保持するとして)8GB超行ロック
したい場合とか普通ないよ。
>予想外な範囲がロックされることはあるけど使用するインデックスを指定すれば解決するし。
>プロファイラでも実行して負荷が不自然なクエリがないかチェックしたほうがいいんじゃないかな。
事前にそれをやるのはかなり大変‥実際問題が起きてから対処する形になるので、
結局稼動後に一度はトラブることになるwwwwww
ロックエスカレーションしてデッドロックすることなんてあるの?
162 :
NAME IS NULL:2010/03/29(月) 09:04:34 ID:WMc45ShC
エスカレーションしてデッドロックは無いが、範囲外のデータが大量に巻き込まれてロックされた結果デッドロックになるのは良くある。
適切なインデックスを貼ると解消するケースがほとんどだが、サイクルデッドロックさせないためにインデックスを貼るって言う行為がそもそもおかしな話
デッドロックしたらリトライすればいいじゃまいか
164 :
NAME IS NULL:2010/03/29(月) 09:58:49 ID:V+Nn1nlX
>>151 一時テーブルに取り込んでから、カーソル開けばよいのでは?
INSERT INTO #hoge
EXEC sphoge
DECLARE curHoge CURSOR FOR
SELECT * FROM #hoge
165 :
NAME IS NULL:2010/03/29(月) 10:48:22 ID:WMc45ShC
>>163 まれにしか起きないならそれでも通用するが、頻発すると誤魔化しきれん
どうもデッドロックと単なるロックウェイトが混同されてる気がする
即座に検出されるデッドロックより、延々ウェイトされる方がきついなぁ
oracleの
select * from hoge for update wait 10
みたいなのないの?
マイクロソフト擁護派の言い分だと100万件のうち95万件ロックする必要があるケースなんかを例にあげるけど、そんなこたぁそもそも誰も問題にしてない。
論点ズレまくり
100万件のうち1万件ロックしたいだけなのにエスカレーションするのが問題なんだよ
170 :
NAME IS NULL:2010/03/29(月) 20:00:33 ID:J02J6Biu
access2007 ado 接続でsql2008は使用出来るんですか?
うん。
172 :
NAME IS NULL:2010/03/29(月) 20:17:17 ID:J02J6Biu
すみません adp接続なんです
間違つてました
再度お願いします
access2007 adp 接続でsql2008は使用出来るんですか?
うん。
174 :
NAME IS NULL:2010/03/29(月) 22:26:48 ID:sD/ndxo+
>169
M$を擁護するつもりはないが、モードを読み取り一貫性にすればいいだけじゃん。
しらんのか?
オレの経験上ムキになるのはOracle厨だわ
>>167 READPASTでも指定すればいいんじゃないかな?
>>174 オラクルしか知らないヤツがそれだけで何とかなると思ってると痛い目にあうだよな
>>174 読み取り一貫性にしてもロックがエスカレートするのは防げないと思うが
単に読み取り時のロックが不要になってロック数が下がるだけで、根本的な解決にはならん
分離レベルをREAD UNCOMMITTEDにするなら別だが
まあ、ロックエスカレーションして欲しくないなら禁止しとけばいいだけの話だろ
すくなくとも2000ではトレースフラグで禁止できたはずだ
2008からはテーブル単位で設定できるようになってるらしい
だれか実際にエスカレート禁止で運用してたら感想を聞いてみたい
まずVMWare上で開発(テスト)環境を作ろうと思うんですが、
一台のSATA物理HDD上にSQL Serverを入れる場合、
パーティションはシステムと別にした方がいいでしょうか?
将来的にディスクが圧迫された際にシステムドライブは
拡張しにくいとか、パフォーマンス的にも少しはマシに
なるかなあ、と思ってるんですが。
181 :
180:2010/03/30(火) 09:58:33 ID:???
>>一台のSATA物理HDD上にSQL Serverを入れる場合、
わかりにくくてすいません。
サーバ構成:物理HDDx2
仮想HDDのデータストア:システムじゃない方の物理HDD
仮想HDDの構成:一つの仮想ディスクにOSとSQLServer(PG)をインストール
SQLServerのデータストア:上の仮想HDD上の別パーティション?
・・・こんな感じで。
VMWareって仮想マシンに物理HDDを直接渡すことできないんだっけ?仮想HDDじゃなくて。
将来的にディスクが圧迫うんぬんとパフォーマンスについては、物理マシンの時と同じように
考えればいいと思うよ。
物理HDD1 ホストOS SQLServerログ
物理HDD2 ゲストOS SQLServerデータ
とかどうだろ
>>182 そうでした。仮想マシン以前に物理環境でのHDD構成をどう考えるかって話ですね・・・。
上の仮想マシンの話は忘れるとして、単純にOSの入ってる1台のHDDで構成する時、
パーティションを分けてSQLServerのプログラムはC:、データはD:みたいな感じに
するのが普通なのか、ディスク1台なら変わらないからどっちもC:に入れてOKなのか…
そんな質問です。
あくまでも意見は参考にとどめておいて欲しいんだけど、と言い訳をした上で。
大きな効果は望めないと思うけど、OS、データ、ログ用にパーティションを分けたほうが
断片化が起こりにくいだけマシなんじゃないのかな?うちも一応分けてる。
ただ、実機での運用になるとまた話は変わってくるだろうから、あまり気にせず
作っちゃったほうがいいんじゃないかなぁ、とも。
インストール時は、プログラムとデータの場所を聞かれるだけだけど、
これログがでかくなるね。
消しかたすらわからんのでどうにもできんけどw
186 :
NAME IS NULL:2010/03/31(水) 15:34:47 ID:IjY7PXKY
SQL鯖2008EXPRESSを使用しています。
MDF,LDF共にめいっぱいの4Gを取っているのですが、
処理をずっと行っているとログのサイズがもういっぱいいっぱいだ!
といわれ追加とか更新ができない状態になっています。
(DBのサイズ自体は2G程度しか使用していません。)
今までのようにバックアップ時にログを削除することはできないのでしょうか?
(完全バックアップを取った後で、確かTrancateかなんかやって消えていたと思うんですが・・・・)
単純に完全バックアップ取るだけでいいのでしょうか?
ManageMentStudioは使わずPGからSQLを投げる方法を検討しています。
2008からできなくなったはず。
>>187 マジかと思って調べてみたら、BACKUP LOGのNO_LOGとTRUNCATE_ONLYが確かに廃止になっとる
>>186 普通にログのバックアップを取れば切り捨てられるらしい
つか、完全バックアップ取ってログ切り捨てって、いままでログのバックアップって取ってないのか?
それなら素直に単純復旧モデルでいいんじゃねえかと思うんだが
MSDEってもともと単純復旧モデルだったと思ったんだが、EXPRESSになって復旧モデル変わった?
190 :
NAME IS NULL:2010/03/31(水) 21:33:09 ID:/bU6v4xj
2008だけど復旧モデル”単純”にするとログ増えないと思ってたんだけど
すこしずつ増えるんだね?ldf不要なんだけど増やさない方法ってないのかな?
>>190 テーブル全件更新とかしてなければ、単純モデルならログは増えないよ。
ただし、再起動しないとtempdb.mdbがなぜか増え続けたりするが‥
ldfがなかったらロールフォワードできないんじゃないの?
193 :
NAME IS NULL:2010/04/01(木) 00:19:08 ID:3R1QUkq+
>>191 あーなるほどね。更新しても増える時と増えない時があったから謎だったよ。
でも結局ぜんぜん増えない訳じゃないんだよね?
定期的にデタッチ→ログ消してアタッチとかして消すしかないんかな。
tmpdbは確かに再起動しないと消えないね。いつの間にか20GBとかなっててビビった。
>>190 復旧モデルシンプルでも使わないわけじゃないので、自動圧縮で切り捨てれば?
増えてるって言うのは、ログのサイズなのか、ログを格納してるファイルサイズなのか
ログのサイズは、すくなくともアクティブなトランザクションが使う分のサイズまでは増大する
単純復旧モデルは要はコミットしたトランザクションのログを捨てるだけだから
ログやデータが、溜まる−捨てるの繰り返しで少しずつファイルサイズが増えてるのかもな
tempdb の巨大化に関しては Fix が出てたような
外部結合されたテーブルに行ロック掛けたいんだが、ふつうに書いてもかからん。
誰かたすけてくれ。週末納期だ。
週末納期?オワタ
200 :
NAME IS NULL:2010/04/02(金) 15:39:17 ID:dLdYdsyS
もう時間が。。。。
>>198 そうだよな。すまん。
実コードを抽象化したSQLはこんな感じ。
SELECT COUNT('X')
FROM A
LEFT OUTER JOIN B WITH(ROWLOCK,UPDLOCK)
ON A.フィールド1 = B.フィールド1
AND A.フィールド2 = B.フィールド2
で、A:Bは、n:1 の関係にある。
トランザクション開始後上記のSQL投げて中断させ、
別セッションからBに更新かけることができてしまう。
with (xlock)
ひょっとして更新かけるほうはwith lockしてないんじゃない?
204 :
NAME IS NULL:2010/04/02(金) 16:07:33 ID:JImwfFqH
>>201 外部結合は関係ない。
COUNTだとクラスタ化インデックス(キー項目)にしかロックかからないよ!
業をロックしたいなら
SELECT * 〜
とするか
当たり障りのない項目UPDATEしとけ!
>>202-204 試してみた。
性交したZeeee!!
よし、じゃあ今からこれ持って出かけるわ。
ちなみに、クエリでヒットするレコード以外にもロックがかかるんだが、
これはエスカレーションのせいだよな。
みんなありがおう!!!
>>206 追記。
性交したのは、「SELECT *」にするやり方だ。
勉強になったよ。
208 :
NAME IS NULL:2010/04/02(金) 18:29:12 ID:JImwfFqH
>>クエリでヒットするレコード以外にもロックがかかるんだが、
これはエスカレーションのせいだよな。
違う!テーブルロックになってなければエスカレーションではない、「テーブルスキャンによるロック待ち」とも違うMSブックオンラインでも説明されていない意図不明な範囲ロック
SQLSERVER擁護派にこれを言うとキレられるから気おつけろ!
単なるページロックじゃないの?
UPDLOCKをつけてるからページロックは起きないよ。
そもそも
oracleの行更新ロック(select 〜 for Update)がクエリにヒットした行のみを
物理的にロックするのに対して、
sql鯖の行レベル更新ロックヒント with(updlock,rowlock)は、「ロックの動作を行単位に行うこと」
を指示しているのであって、クエリにヒットしたデータ行だけが
物理的にロックされるという意味ではない。
oracleの(select 〜 for Update)と、sql鯖のwith(updlock)ヒントは似て非なるもで、
厳密にはoracleの行ロックに対応する機能は、sql鯖には存在しない。
sql鯖では狙った行だけを確実に更新ロックするのは簡単じゃない。
でも、これわかってない人大杉。
訂正
>UPDLOCKをつけてるから
ROWLOCKをつけてるから
212 :
NAME IS NULL:2010/04/06(火) 21:45:09 ID:w99IlC2O
>>210 マイクロソフトのSQL Server 2008 自習書シリーズ
「No.14 ロックと読み取り一貫性」
にもUPDLOCKで、オラクルのFOR UPDATEと同じことができるかのように
誤解をさせる記述があるんだよな。素人が書いてるのかMSの意図的なものかは知らないが
確かにミスリード誘ってるのが何箇所かあるな。
「Oracleと同じです」と思わせたいみたい。
こいつらどの分離レベルの話をしてるんだ?
197です。
おまいらのおかげで、先週末無事「仮」納品できた。
なぜかアク禁で書き込みできんかった。ありがとう。
で、個人的には
>>208、212、がすごく木になるんだが、kwsk。
ラプターからIntel SLC SSDに変えたらはやくなったー
SQL Serverのような共有ロック方式の場合は、
リピータブルリード分離レベルまでは明解なんだが
シリアライザブルになるととたんに複雑になる。
予想外の広範囲のロックなどはこの辺で発生しやすい。
他には索引に起因するもの、
カーディナリティの低い索引があった場合などは同じキーや
同じページに含まれるキーをもつ他のレコードのがロックされるケースがある。
これはOracleでも起きるのだが更新同士でしか起きないので気づかないことが多い。
それって絞込みが足りないだけじゃ...
行ロックならそうだけど、テーブルになるとそうでもないんじゃ
SQL Server 2008 workgroup edition を使用しています。
トランザクションログを削除するコマンドを教えてください。
2008 からコマンドがかわったみたいで調べきれませんでした。
>>220 ログバックアップ取れ。
ログファイル作りたくなけりゃ、単純モードにしれ。
Tempdbをデータ格納ドライブと別にするのは常識として、
そのドライブはデータ容量に対してどの程度確保すべきでしょうか。
御伝授ねがいます。
その他、何かありましたら合わせて教えて下さい。
223 :
220:2010/04/13(火) 21:34:45 ID:???
>>220 ありがとうございます。トランザクションログについて大分わかりました。
ちなみに、HDD に余裕があり、ログファイルのサイズは無視出来るとき、
復旧モデルの単純、完全、一括のうち、
DB の処理速度が一番早いものはどれでしょうか?
単純だと完全に比べ、ログ切り捨て処理がある分遅いような気がします。
また、1分間に1k/件の500件のデータを更新する場合に、データ参照の
最大応答時間を短くしたいのですが、 checkpoint を 1秒毎に実行する、
というのは方法としてどうでしょうか?
応答時間の平均が数倍になったとしても、最大応答時間を1割でも減らしたいです
最大応答時間をなるべく小さくするのに checkpoint を1秒ごとに実行する、
のはよくないでしょうか?
シンプルで自動圧縮しなきゃいいだろ。
トランザクションの内容もわからずに1秒おきに checkpoint っていわれてもな
適切なインデックスが張ってあれば問題にならないと思うが
MSCSってADが必須ですか?
クラスタリングするとき、ADってどんな動きしてますか?
必須。
詳しくは知らんが、調停役とか時刻同期などをやっていると思われ。
ODBCでSQLServerを登録しようとしています。
『システムDSN > SQL Server > 追加 > データソース新規作成』
ここでSQL Serverを選択して完了を押しました。
サーバを「localhost」にして、次へを押して、
・ネットワークへのログインIDで、WindowsNTの認証メカニズムを使う にチェックして次へを押したところ
接続できませんでした
SQL State: 01000
SQL Serverエラー: 2
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
接続できませんでした。:
SQL State: 08001
SQL Server エラー: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Serverが存在しないか、アクセスが拒否されました
のようなエラーが出ます。
サービスを見るとSQL Serverは稼動していますし、SQL Server Management Studio ExpressでもWindows認証でログインができます。
. か、(local) でやってみるとどう?
SQLServer構成マネージャでTCP/IPを有効にして
Windowsファイアウォールに穴あけとけ
231 :
228:2010/04/20(火) 23:13:01 ID:RD2cOdO0
>>229 ありがとうございます。
.も(local)もつながりませんでした。
エラー内容は
[Microsoft][ODBC SQL Server Driver][DBNETLIB]
ではなく、
[Microsoft][ODBC SQL Server Driver][Shard Memory]となっていました。
>>230 ありがとうございます。
ファイアウォールは無効にしてあります。
TCP/IPを有効にしても、同じエラーで接続ができません。
何かソフトが悪さしているのでしょうか・・・。
ウイルス系ソフトは導入しておりません。
あれ? Express? ってことは、インスタンス名は (local)\SQLEXPRESS じゃない?
233 :
NAME IS NULL:2010/04/20(火) 23:53:38 ID:RD2cOdO0
インスタンス名ってサーバー名かな?
『PC名\SQLEXPRESS』です。
それ指定してもダメなの?
Expressならデフォの1433指定していないだけじゃないの?
Expressって標準でインストールしただけだと
外部からの接続要求を受け付けない設定じゃなかったっけ?
localhost指定してんだから、外部とか関係ないだろうよ・・・
そのインスタンスに対して接続するするユーザーの許可与えてる?
まぁ突っ込みどころ満載だ(バージョンや稼動サービスについて書かないとか)
インスタンスで話が通じないところをみると初心者なのだろうか?
とりあえず質問する時はやった事を漏らさずに全て書けとしか言えないな
これから SQL Server 始めようと思ってるおれより素人がいるな
server compactもここでいいん?
今、自営で販売ソフトの設定をしなきゃならなくなりServer2008やらSQLの勉強中の素人の俺が華麗にアドバイスをしよう
SQL2008をネットワークのユーザーが使えるようにする際に気をつける点は
1.サーバ名とインスタンス名を間違えない
2.SQL構成マネージャで対象のTCP/IPを有効にする
3.接続するサーバの設定でログインするユーザーの登録とそのユーザーマッピングのチェック
4.FireWallの設定でSQLServerとSQLBrowserを特例にする
俺が辿り着けたのはここまでだ。それ以上のことはわからんしセキュリティに穴があっても責任はもてん!
>>237 TCP/IPで接続な時点で外部接続あつかいだったとおもた
244 :
NAME IS NULL:2010/04/23(金) 18:31:08 ID:lEAWOGqr
SQL鯖2008R2でワークグループは最大2CPUまで許容していますが、
仮に1CPU 2コア (HTで4スレッド)
になった場合、どこまで使ってくれるんでしょう?
ご存知の方がいらっしゃればお教えいただければと思うのですが・・・
ライセンス的には上記CPUは1CPUで認識してくれていいとのことなんですが・・・
コア数は無視してCPUのソケット数で数えるよ。
>>246 ありがとうございます。
なるほどです。
ということは・・・CPUの性能を一応フルには使ってくれそうですね。
ありがとうございました。
248 :
NAME IS NULL:2010/04/27(火) 17:48:46 ID:miyeoaWO
SQLServer2000(Standard)とSQLServer2005(Express)でレプリケーションをしたいと思っています。
SQLS2000をメイン(ディストリビューション/パブリケーション)として、SQLS2005をプルサブスクリプションに
設定をしたつもりですが、SQLS2005で作成したDBに該当のテーブルが表示されません。
(DBは新規サブスクリプションのウィザードで作成しました。)
何か同期を取るような処理が必要なのでしょうか?
249 :
NAME IS NULL:2010/04/29(木) 22:34:09 ID:HRJIlp7m
2000SP2からSP4にアップしたいんですが、ダウンロードしてインストール実行したのにSP2から変化しません
マイクロソフトとは別に、判りやすく解説してるページやブログは無いでしょうか
スタンドアロンレベルでR2のメリットおせーて
「変化しません」がどこを見て言ったことなのかさっぱり伝わってこないんだが、
select @@version で調べりゃバージョン番号でてくるよ。
あるいは「sql server 2000 sp4 確認」とかでググれ
253 :
NAME IS NULL:2010/05/09(日) 23:32:56 ID:BbSQ4OK4
SQLServer ってInsert処理が行われるときに、内部的に物理読込も発生するの?
INSERT位置の確定のためインデックスの読み込みがありますね
ちょっとした疑問。2ソケットPCに1ソケットまでの2008Expressってインストールできるのかな?
今稼動してる2ソケットの2003マシンを2008R2にする際、SQLをExpressにしようと思うのだが
ダメならStandard買うかHyper-V上で動かす
インストールはできるんじゃない?
ただ、いずれかのCPUのうち1コアしか使われないというだけかと。
駄目なら140万追加とは豪気だな。
ライセンスが気になるわ。
どこで買えば140万も取られるんだろ。
Standardのプロセッサライセンスでも100万ちょっと?
と思ったけどそんぐらいするんだな。
システム発注側ってのも大変なもんなんだなぁ
あれえ、もしかして2008Expressを2ソケットPCにインストールすることがライセンス違反になるのかなぁ
1個のCPUのすべてのコアが使われる、かな
どう読めばExpressのライセンス違反になるんだよwww
サポートしている数よりも多いCPUが搭載されたPCにインストールするのがありなのかなしなのかと思って。。。
もう開発すんの諦めろよ
開発はDevelopEditionだろ普通。
納品出来ないだろ
通報しま(ry
○○システム、ライセンス違反が見つかり飛行機発着不能に
経産大臣とバルマーCEOが緊急会談
とかになるの?
>>270 都市伝説シリーズはSQL Serverのプロダクトマネージャの人がぶち切れてたなあ
オラクルは何か反応したのだろうか
NUMAで構成した場合ページキャッシュってどうなってるんだろうね
どこかのCPUの一箇所にしか存在しなかったら
QPIなりHTなりがボトルネックになりかねない気がする
>>272 まあ、例えFIX済みのバグに起因するのであっても、
製品として販売されているバージョンについて、
データファイルが破損したケースが1件でも発見できれば、
このoracleの主張に正当性はあるんですよね。
確実に無いと言う事を証明(悪魔の証明)でもしない限りは。
RAIDコントローラのバグで壊れたことはあるよ。
オラクルも同じように壊れたわけだけど。
負荷がでかくなるとキャッシュだけに書いてディスクには書いてなかったバグなので
キャッシュから追い出されたあとに読み直すとデータが違っていたとかひどいバグだった。
SQLIOSimを実行すると一瞬でエラーで埋まるなんて状態だったけど。
安売りされてるサーバーに付いているRAIDコントローラってこんなもんなのかぁと思ったけど。
276 :
NAME IS NULL:2010/05/21(金) 09:08:16 ID:cuGZjYO6
277 :
NAME IS NULL:2010/05/22(土) 01:45:46 ID:o0WlONLE
PostgreSQLからSQL2k8 R2にデータを移行したいんだが、2つのDBに接続して、
一方からselectして、もう一方へinsertみたいなことができるツールってないだろうか。
データ型の不整合はないのが前提として、手っ取り早く移行できそうな気がするんだけど・・・?
>278
SQL Serverで、昔のDTS 今のバージョンならIntegration Servicesってのがある
PostgreSQLのドライバさえあればこれでできるはず
ただ、Integration Services使ってみたけど、案外使いにくいんだよな
OLEDBのドライバあるなら、SQL ServerからリンクサーバでDBリンク張れると思うんだが
こっちのほうが簡単かも
>>279 DBリンクできるならそっちの方がよさそう。
そういう手段もあったのね。試してみます。
情報thx!!
Windows認証で運用しているSQL ServerにLinux or Mac OS Xから接続できる?
混合モードにしてSQLServer認証を使うしかないんじゃ。
ですよね…。
SQL Server 7なもんで、混合モードが無いので、無理だ…。
ありがとうございました。
全部SQL鯖認証にすりゃ解決じゃん
7.0なんてもう使う意味ねーだろ
保守と拡張だろしかたないVB6と一緒なんだよ
7.0のサポート期限、2010/12/31までだぞ
金出させて更新させるか完全放置しろ
ローカル環境だとサポート云々言っても馬念仏だわ。
今まで動いていたのだから、これからも大丈夫でしょ。
え?問題無く動くのに金払うの?なんで?
とか言われたら・・・
ローカル環境だから安全だと思ってるやつってまだいるんだ
>>287 そんなに先だったのか。
ってことは、7.0ってWin2003もサポート対象だったんだな。
ミラーリングで冗長性を・・・と言ってアップグレードだな
冗長性確保で2台にインスコするときはライセンスは1つでいいらしい。
>>287 そうそう、2000もたしか同じだったはず
来年からは、2005以上として考えられるからいくらか楽になる
特にtry-catchとwithは使用できないと結構面倒くさい
なかなか複雑だなぁ
もしかして今ままで監視含めて3ライセンス購入なんて言うなよw
>>293 待機系はライセンス要らないよ
その待機系には、普段は別の仕事をさせてたり〜てなら、それ「待機系」じゃなくなるけど。
マイクロソフトの公式に書いてあるよ。
OSもSQL Serverも、待機系には本番系のライセンスで入れて運用して桶
ああ
>>295 の「フォールオーバー機能を利用する場合」にあるな
>フェールオーバー クラスタリング、データベース ミラーリング、ログ配布のいずれかのテクノロジーを使用し、
>SQL Server 2008 R2 のフェールオーバー機能を利用する場合、
>Passive 側 (待機サーバー) のライセンスを購入する必要はありません。
それにしても正規表現を標準で取り入れて欲しい今日この頃
いわゆるUnix由来の正規表現は、Shift-JISで問題が起こるからねぇ。
結局、アプリ側で対処してね、で終わる。
>>299 欲しいよね
どうしてもという時はSQLCLRで関数作ってありがたく
使わせてもらってるけど
IDENTITY列の最後に発行した値はIDENT_CURRENTで取得できますが
ROWGUIDCOL列の最後に発行した値はどのように取得すればよいでしょうか?
どう使いたいかはわからんが、InsertやUpdate後の値が取りたいのならOUTPUT句を使いなさい。
大きな文字列変数が欲しいので
declare @hoge text
とやってみたんですがtext型はだめみたいです。
大きな文字列をローカル変数で扱いたい場合に
オススメの型はありませんか?
なにがだめなんですか
おおきいって100じくらいですか
バージョンくらい書けよと
んで text では何がだめなんだ?
2005以降なら varchar(max)があるけど
どうしたいんだ?
textは宣言できないだろ。
普通に確保するならvarchar(8000)かnvarchar(4000)だな。
それよりでかいのが欲しいなら処理方法とか考え直せ。
SQL Serverの設定はここでいいのかな?
環境は
Win2008 R2 でhyper-vにwin2000Serverをいれ
その中でSQL7を動かしています
Win2008R2のCALは10
win2000が10CAL、SQLが5CAL
なのでマイクロソフトで聞いたら、SQL2008のCALかえばいいよとのことで
5CAL購入
かったのはいいけど、SQL7でのCALの設定画面は無し
マイクロソフトに聞いてもメインサポート切れてるからしらねー
win2000のコンパネから、ライセンスってのがあったので
そこでSQL7の接続ユーザー数?を5→10に変更したのですが
5人以上つなぐと、SQL ODBCエラー 最大接続ユーザー数が5をこえています
とエラーが出てしまいます。
どなたか回避方法を知っていれば教えてください。
よろしく願いします。
309 :
NAME IS NULL:2010/06/14(月) 01:12:07 ID:bmiAekTJ
SQLServerではVARCHARなんかの可変長列を一切使わず、
レコードを固定長にした方が僅かでもパフォーマンスが良くなったりしますか?
R2ってコア部分なんか良くなってる?
t-sqlで数値を16進数文字列に変換する方法ってありますでしょうか?
VBでいうところとHex関数のような。
ストアドなどはエンタープライズマネージャで
複数選択してCtrl+Cをするとそれを一気にSQLにできますが
ジョブは同様のことができません。
何か方法はないものでしょうか?
SQL Serverって、オススメなマニュアルは無いのでしょうか?
赤本とか読むしか無いのですかね?
TechnetとVisualStudio2008を持ってるのでライセンスはありますが、
本のマニュアルはついてないですよね。
OSだと昔はリソースキットとか青い本が何冊も出てたかと思うんですが、
最近、そういうのも書店で見かけなくなったような。
俺の目が節穴なだけですか?
319 :
NAME IS NULL:2010/07/21(水) 21:16:10 ID:oL/WPo2R
オンラインブック
自習書シリーズが結構掲載されてるからDLしてみれば
MSが作らずに外注しているだけあって、それなりに読み易くなってる
>>318 Books Onlineとかのヘルプに目を通す。
普通に内容充実してるだろ。
何を知りたいかによるけど、大概はオンラインヘルプで十分だわな。
PCの知識が全くない者の質問ですが、よろしくお願いします。
今回仕事用のソフトがSQL Server云々とエラーが出てインストールできませんでした。
確認してみると確かに「SQL Serverシリーズを既にご利用の方はインストールできません」となっています。
PCを買い替えたばかりで最初からインストールされていたので利用している自覚はないのですが、
これらはアンインストールしても問題ないのでしょうか?
問題あるに決まってんだろ。
何かアプリケーションがSQL Serverを使うからSQL Serverが入ってるんだろ?
それを消したら、そのアプリケーションが動かなくなる。
それってサーバじゃね?ログをブラウザで見る機能とか無いか?
もしあれば、そのログ管理にSQLServerを使ってると思う。
ま、俺のPCじゃねーし、好きにするがいいさ。
最近のソフトウェアはSQL Serverを結構使ってるよな。
バックアップソフトとかも使ってて正直うざいというのはある。
Expressだろうけどな。それかWID。
今のExpressってインスタンス名変えられるの?
ソフトウェアにバンドルされてる奴はExpressじゃなくてCompactか
一応は正規版なんでないの。
2008R2のExpressはたしかプロセッサは1個まで、データベース容量は10Gまでインスタンス変更可能
昔は2Gとかじゃなかったっけ?
10あったら実用的だなあ。
インスタンス名を変えられるのであれば、
何個もインスコできるの?Express。
リンクサーバーで、
ServerAにログインした状態で、ServerBのテーブルのデータをselectしたいのだ。
それで、リンクサーバーを作成した。
SQL Server Management Studioを起動
ServerAにログイン。認証の種類はWindows認証。
リンクサーバー ServerBを追加した。
セキュリティの設定
ローカルサーバーのログインとリモートサーバーのログインのマッピング ... 空欄
上記一覧で定義されるログインの接続方法
ログインの現在のセキュリティコンテキストを使用する
ServerAのSQL Server Management Studioからクエリーを実行する
select * from ServerA.DBName.dbo.TableName ... データが取得できる。
しかし、クライアントPC(XP SP3)から同じように実行するとエラー。
メッセージ 18456、レベル 14、状態 1、行 1
ユーザー 'NT AUTHORITY\ANONYMOUS LOGON' はログインできませんでした。
※ このときのWindowsログオンユーザーは、domain_name\administratorでも、一般ユー
ザーでもだめだった。
ServerA、ServerBそれぞれには接続できる。
Active Directory環境で、サーバーはどちらもWin2003R2です。
@@version=9.00.4053.00
select USER ... dbo
select SUSER_NAME() ... domain_name\Administrator
サービスのアカウント domain_name\Administrator
認証はWindows認証のみ。
クライアントPCからなんとかリンクサーバーを利用したい。
おたすけ。
332 :
331:2010/07/26(月) 19:44:08 ID:???
>ServerAのSQL Server Management Studioからクエリーを実行する
これは、ServerAのデスクトップから、という意味です。
ダブルホップになってるような希ガス。
334 :
331:2010/07/27(火) 20:03:35 ID:???
よくみたらkeepfulltextindexfile の事のようでした
失礼しました。
test
338 :
NAME IS NULL:2010/08/06(金) 15:20:30 ID:SzObnq5+
質問です。
SQL-Server2008R1を購入しクライアントソフトのみをWindows7上にインストールして
Windows2000+SQL-Server2000のデータベースにアクセスできるものでしょうか?
もしこれが不可能だとすると職場のWorkStaion全てを一気にWindows2000からWindows7に
更新しなければ移行が不可能になります。労力と予算的に相当厳しいです。
>>338 SQL2008ExpressのManagementStudio使えばいいんじゃないの?
Win7はまだ職場に無いけど、XPからWin2k+SQL2kなら実際に使ってる。
やばい、俺には意味がわからなかった…。
341 :
NAME IS NULL:2010/08/06(金) 15:50:14 ID:SzObnq5+
>>339 そういう手があるんですか、希望がでてきました。
ありがとうございます!!
(R1ではなくR2でした)
もしそれが不可能な場合、Windows7にVirtualPC入れてWindows2000を動かせばよいような。
クライアントってどういものを言っているのかいまいちわからんけど、
7であれば、普通のPCがアクセスに使うであろう、ODBCやADO.NETなら最初から入っていると思うが。
2000なら適当な理由付けてでも、さっさと移行した方が良いと思うのは俺だけか。
一つのSQL文のWHERE内で同じ計算式複数出てくる場合
SQL文がかなり長くなるんですが一つにまとめる方法はあるでしょうか?
347 :
NAME IS NULL:2010/08/08(日) 22:31:06 ID:LVXmQUXK
NULL データの扱いを
一般のSQL互換でないやりかたにしたのは許せないな。
面倒この上ない。
>>347 SQL互換ってのもよく判らない表現だが
具体的にNULLのどういう取り扱いが問題なんだ?
NULL有りのユニーク索引のことかな?
これはSQLServer独特の動きをするが、そんな索引は普通は使わないな。
それとも互換モードでのNULLの扱いのことかな?
SET ANSI_NULLS OFFの動作?
WHERE 区分=ISNULL(@区分,区分)
こんな風な Where で(パラメータ @区分 が NULL のとき全件を対象にしたい)
データの中の区分が NULL 以外に対しては期待通りに動作するけど
区分が NULL のものは引っ張ってこない。
これの挙動は理解できないなぁ
結局は
WHERE (区分=@区分 OR @区分 IS NULL)
って書かざるを得ない。
それで仕様通りじゃないか。
それこそ互換性無視してSET ANSI_NULLS OFFしたら?
354 :
NAME IS NULL:2010/08/10(火) 09:50:59 ID:9HJ13L/P
質問なのですが、MSDE 2000を利用しているのですが、
SQL Server 2008 Management Studio Expressを利用してExcelファイルにエクスポートすることは可能でしょうか?
SET ANSI_NULLS OFF しても
>>352 の最初の書き方では期待通りの動作しないのよ
>>354 出来たよ。
つか、別に費用かからないんだからダウンロードして試せばいいじゃん。
今更NULL = NULLが真になるような処理系なんて見たくもないし、
それが通るようなオプション設定作られてもバグの元になるだけ。
SET ANSI_NULLS OFFだけでなく、
互換レベルを70や60あたりまで戻さないとダメなんじゃないかなぁ。
>>357 >NULL = NULLが真
これって、なんでダメなの?
NULL IS NULL でなきゃっていうのは屁理屈に見えるんだけど。。
IS と = とを等価で扱ってくれたほうがラクじゃないのか?
>一般のSQL互換でない(
>>347) から。
NULLは3値論理の不定として扱うことになったのでほとんどのRDBはそれに従った。
>>347の頭のほうが一般のSQL互換で無いということね
まぁ、3値論理は肌に合う合わないの個人差大きいからなぁ。
直感的に扱える人のほうが珍しいかもしんない。
といっても、RDB扱う上で避けては通れないので
脳のシワに刻み込まなきゃならないんだけどな。
SQL Server 2008R2 Express 日本語版はいつ提供されるんだ
今ダウンロードしようとすると英語版に飛ばされるんだけど、日本語が欲しい
SQL Server 2008R2 Expressでググった一番上のリンクから普通にJPダウンロードできるんだが。
>>364 ありがとう見つかった。
MSのサイトのホームからたどっていくとたどり着けなかったんだ。
>>359 IS と = って同じものじゃないの?
>>366 違う
=は比較で、結果は真、偽、不定のどれか
ISは検査で、結果は真か偽
NULLの比較は不定になるのがNULLの決まり
>>356 すみません、実際に業務で動いてるサーバーだったので
なかなか試せなかったもので・・・
Management Studio Expressのインストールは無事に済んだのですが、
Excelへのエクスポートを実施してみましたが、エクスポート中にエラーが出てしまいました。
エラーの中身(Report.txtの一部)
- 変換先接続を設定しています (エラー)
メッセージ
* エラー 0xc0204016: SSIS.Pipeline: "出力列 "report_text" (63)" の長さは無効です。0 から 4000 までの長さにする必要があります。
(SQL Server インポートおよびエクスポート ウィザード)
* Exception from HRESULT: 0xC0204016 (Microsoft.SqlServer.DTSPipelineWrap)
SQL Serverは難しいですね・・・
3値論理もわからんやつがPGするな
それ基準にしたら、SIer勤めのPGは半分以上が廃業だろw いや、もっと多いか。
PGっていうか、コーダーじゃないのか。
sql server 2005から例外処理が追加されましたが、
例外はどのタイミングで発生するのか分かりません
教えてください
関係モデルが3値論理を採用しているって、知らない人は結構多いな
ANDがF>U>T、ORがT>U>Fの優先順で評価されるんだっけ
management studioでctrl + hで表示される文字列置換ダイアログについて
正規表現で\t(タブ)はマッチするのに、
\s(スペース)や{1,2}などはマッチしません
これって、microsoftの製品は\sや{1,2}が無いのでしょうか?
SQL2008Standard 1台と、SQL2008Express多数で、テーブルのレプリケーションによる同期は出来るのでしょうか。
>>377 Expressはそういう用途で使えない。
>>378 やはり無理ですか。ありがとうございます。
380 :
NAME IS NULL:2010/08/24(火) 04:44:21 ID:4e1wvTf+
DBCC DBREINDEX コマンドが行う断片化の解消って、
@前回コマンド実行時から断片化した分だけ、断片化を解消する
A1回インデックスをDROPして再作成する
のどっち?
自分の体感時間から考えると@のような気がする。
>>380 デフラグなんだからそりゃそうでしょ。
つーか、MSはいい加減再編成と再構築を統一して欲しいわ。
そりゃコマンドで言えばそれまでだろうけど。
382 :
NAME IS NULL:2010/08/24(火) 16:06:34 ID:FL8LS+Vb
execute ('select * into [#住所録] from 住所録')
go
select * from [#住所録]
go
ってやったら
メッセージ 208、レベル 16、状態 0、行 1
オブジェクト名 '#住所録' が無効です。
だってナンデでしょう?動的に処理したいinto先が扱えないorz.
2008 SP1です。
execute ('select * into [#住所録] from 住所録;select * from [#住所録]')
ならできるよ
384 :
382:2010/08/24(火) 16:28:05 ID:???
>>383 あ、ほんとや!
実はストアド中で処理してます。SQL文が長いんで、
execute(@strSQL1 + ';' +@strSQL2 + ';' +@strSQL3)
なふうにするのもなんかすっきりしません。
ストアドみたいな時代遅れなものを使うのが間違い
386 :
382:2010/08/24(火) 17:15:25 ID:???
>>385 ツールの制約あってねー。能力も。
execute ('select * into [#住所録] from 住所録')
go
execute ('select * from [#住所録]')
go
がなんでダメなのかがわからないんですよ。
execute ('select * into [##住所録] from 住所録')
go
execute ('select * from [##住所録]')
go
ならいけるよ
一時テーブルのスコープはややこしいよね。
普通はセッションがスコープだが、
ストアド内は別スコープで、
ストアドからストアドを呼んだ場合はそれぞれ別になる。
execute内も別スコープ扱いなんだろう。
389 :
382:2010/08/24(火) 17:43:34 ID:???
>>387-388 なるほど。
マルチユーザですんで、グローバルはつかえません。
ストアドでごりごり造り込んだワタシがいけないんでしょう。
仕方ないので見直してフロントで対応します。
今後はストアドの利用は最小限にしていきましょうね。
約束ですよ。
SQL Serverのストアドは確かに古臭いが、使ってはいけないものじゃない。
今回のケースでは一時テーブルではなくてTable型を利用する必要がある。
あるテーブルのデータから別のテーブルのデータを作る時って、
ストアドを使うのが普通なんですか?
SELECT INTOとか2008以降ならMERGE使えばいいんじゃない
ストアドは個人的にそれほど抵抗はない
だけど、トリガーだけは勘弁
トリガーの連鎖とかあると、もう訳わかわらん
394 :
NAME IS NULL:2010/08/26(木) 01:53:08 ID:khjLaUOa
こんにちは
トリガーの中でクライアントのosユーザ名やマシン名を使う方法がわかりません。
SUSER_SNAME()を使うと、SQLServer認証の場合SqlServrへのログイン名が帰って来ます。
OraclのSYS_CONTEXT('USERENV','SESSION_USER')見たいな事がやりたいのです。
SQL認証だとクライアントから自己申告させるしかないんじゃない?
セキュリティ周りに使いたいのならWindows認証にすべきかと
396 :
NAME IS NULL:2010/08/27(金) 00:31:33 ID:cSQaMq+0
Webが絡むとWindows認証ではないだろう
Web上でWindows認証ってできないの?
トリガーを使うのが間違い
トリガー使うくらいなら、まだCASCADEとかを使ってくれた方がマシ
394です。いろいろ ありがとうございます。
このプログラムのためにWINDOWS認証に変更はできません。
誰がアクセスしたかを知りたいことは良くあるし、何割かのサーバーはSQL認証を使っていると思うので
絶対何か方法が用意されていると思ったのですが、どうしても見つかりません。
クライアントマシン名も、COMPUTER-EA13C8みたいな訳のわからない記号が帰ってきます。
もうちょっと探してみます。
プロファイラで見られる情報以上は無理だろ。
403 :
NAME IS NULL:2010/08/30(月) 06:51:42 ID:MkDtH9ny
それはつないできてるユーザーとはなんも関係ない。
select * from A
inner join B on A.key = B.key
where A.foo_date = '9999/12/31'
and B.bar_date = '9999/12/31'
条件はwhereでもonでもいいんだけど。
date型の比較からdatetime型の比較にするだけで
何倍もの処理時間が掛かるのは何故?
(こんなの→ = '9999/12/31 23:59:59')
タイムアウトして例外吐くようになってもた...orz
>>406 あ、そうか。
変更後のプランだけ見てたけど比較すれば良かったのか。
ありがとう、やってみる。
>>405 本題と反れるが、そんな SQL 文、漏れだと下のように書きたくて仕方ない。
select * from A
inner join B on B.key = A.key and B.bar_date = '9999/12/31'
where A.foo_date = '9999/12/31'
A.foo_date にインデックス張ってあるのだろうけど、もし レコード数が B>A で、B.bar_date にインデックスがあるなら
select * from B
inner join A on A.key = B.key and A.foo_date = '9999/12/31'
where B.bar_date = '9999/12/31'
と。
多分、実行プラン的には大差ないんだろうけど、なんとなく・・・
大差ないというか、まったく同じ実行プランになるような気がする
今俺は試せないのでだれか試してくれ
最近のSQLServerのオプティマイザ結構良くできてるぜ
>>405 日付の / 区切りは設定や環境依存があるから - 区切りを使ったほうが良い。
プランに影響があるかどうかは知らんけど。
'9999-12-31 23:59:59'
内部結合ではONとWHEREでの条件によって違いはでないでしょ
すいません、こちらのスレで良いのかわからないのですが
大量データについて質問させて下さい。
100万件500MBほどのデータをDBからファイルに出力したい。
抽出の際には、Where句により2つのフラグを判断させます。
しかし、抽出したデータに出力対象外のものが15%含まれており
このデータを弾く為に、DBに判断用のフラグを追加するのと
全て取得してプログラム内で弾いていくのと、どちらが早いのでしょうか?
動作環境がない為、判断できずに悩んでます。どなたかお教えくださいm(_ _)m
意味がわからんけど、「DBに判断用のフラグ追加する」って
そのフラグ追加の条件をWhereに追加すれば良いんじゃないの?
414 :
412:2010/09/04(土) 00:05:07 ID:???
>>413 説明下手ですみません。
フラグ追加の条件が、既存のバイナリ項目のデータのNバイト目がこれなら〜
という判断になるため、単純なSQL文ではいけなさそうです。
あら、レスが増えてる。
チームの端っこの方なのであまり強いことが言えない405。
>>406 結論からいうとdatetime比較がマストな要件から外せたので、
問題の解消じゃなくて回避の方向で解決してもた。
ばたついてて記録を録り逃したんだけど。
datetime比較だとレコード数だけ回ってた内部処理が、
date比較だとなくなってたのはわかった。理由はやっぱり謎。
datetime比較:110秒
inner join→inner loop join:25秒
date比較:1秒(inner loop joinだと遅かった)
動かした感じを見る限り、仕様とテーブル設計と元のSQLが
おかしなことになってるようにしか思えないんだども。
>>408,409,411
実はその違いも気にはなっていたのじゃよー。
観点として覚えておく。ありがとう。
>>410 設定なのかも知れないけど、何故かハイフンだと怒られる。
やっぱり普通はハイフンで通るのかー。うーむ。
一応解決はしたのでこれまで。
重ねて、みんなありがとう。また草葉の陰からミテルヨ。
417 :
sage:2010/09/08(水) 08:44:01 ID:7OmomW6O
教えてください。
現在、SQLServer2005(Windows2003Server)を8台使って、
レプリケーションを設定しています。(トランザクションとP2P)
8台のうち、一台がトランザクションレプリ用の
リモートディストリビューターなのですが、
このサーバーのドライブ容量が、どんどん減っていくのです。
調べたところ、ディストリビューションデータベース内の、
システムテーブル内にあります、「dbo.MSrepl_transactions」が、
すごい勢いで増えており、ドライブを圧迫しているようです。
こちら、貯まらない様にする方法や、メンテナンスで一旦消すなど
必要なのでしょうか?
宜しくお願いします。
>>412 テーブル定義変えていいなら、計算列追加するとか。
INSERT、UPDATEの負荷がちょいと上がるけど、
そのフラグで判断する機会が多いなら有効だと思うよ。
インデックスも張れるし。
x / ./ / / ``\. +
/_.. ィ7T.フ厂 ̄`フi ‐- ._ |〉 x
.x !  ̄フ/l/_×// |ハハl .ト、 x
|! / | /|,イ._T_i` .r≦lハ!|`` +
ll/_ .| | |'弋..!ノ i'+!l |
/ ミr`! / l |' ' ' ,‐- ..__゙ー' .!l .|
ト、ソ .! ./ .,!l .ト、 l `,! .ハ.!
/ll\ `テヽ、 /_,| |l: > .ヽ.. ィ <l l|
ReadPastの使い方がわからん
↓のようなテーブルがあるとする
テーブルXXX
ーーーーーーーーーーーー
レコード1
レコード2
レコード3
レコード4
ーーーーーーーーーーーー
Aプロセスがレコード1〜2をRowLockでUpdate中(未コミット)にBプロセスから
レコード3〜4をReadPastでSelectしたら、ロックの競合で待ち合わせが発生した。。。
ReadPastって、ロックされてる奴はスキップするんじゃないの?訳がわからん。
こんな感じの構文でいけるはずだけど。
select * from table1 with (readpast)
ロックヒントが無効になるような組み合わせで別のヒントや
宣言トランザクションを使ってるとかないの?
421 :
419:2010/09/11(土) 17:25:28 ID:???
>>420 まさにその構文でやってる。
AプロセスもRowLockしかロックヒント使ってないし、トランザクションも特に何も・・・
ロックの状態見たら、Aプロセスがインテクス排他(IX)でBプロセスが共有ロック(S)で競合。
SelectはReadPastでも共有ロックになっちゃうから待ちはしょうがないの?頭痛い。
>>419 MSDNには
READPAST は、READ COMMITTED 分離レベルまたは REPEATABLE READ 分離レベルで実行中のトランザクションでのみ指定できます
ってあるぞ
分離レベルとか、それ以前にバージョンとかエディションとかちゃんと書いて質問すれ
423 :
419:2010/09/13(月) 17:51:33 ID:???
>>422 Bプロセスでの分離レベルを調べて見たら、SERIALIZABLEになってましたorz
アホな質問でお騒がせしました。。。ありがとうございましたm(_ _)m
424 :
NAME IS NULL:2010/09/14(火) 01:22:46 ID:umbDEoJI
MSDNの新着ダウンロードが古い順はどうしてなの?
SQL Server 2008 Express Edition + SQLServer Management Studioです。
clr オプションを有効にする方法を教えてください。
インターネットで検索するとSQLServer2005ではセキュリティ構成マネージャから変更できるようですが
SQLServer2008ExpressEditionにはセキュリティ構成マネージャがありません。
なんか似たようなツールがあったはず。
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
あってるかどうかはしらん
427
大体あってる
429 :
NAME IS NULL:2010/09/19(日) 18:25:19 ID:19pMJ8Xx
430 :
NAME IS NULL:2010/09/19(日) 20:45:39 ID:5XFhe7WP
質問です!
PC-A(Windows7x64)にSQLServer2008Expressをインストールしました。
インストール後、ローカルでSQLManagemetStudioExpressで接続できてるとこまで確認できてます。
別のPC-B(WindowsXPx32)にSQLManegementStudioExpressをインストールしてネットワーク経由でPC-Aに接続したいのですが
「サーバーへの接続を確立しているときにエラーが発生しました。SQLネットワークインターフェース,error:28-サーバーは要求されたプロトコルをサポートしていません」と表示され接続できません。
サーバー名は「PC-A\SQLEXPRESS」で指定してping PC-Aで問題ないこと確認済みです。インスタンスIDも間違いないです。
ログインIDは「sa」でパスワードも間違いないです。
後、PC-Aにて「このサーバーへのリモート接続を許可する」にチェックしてあり、ファイアウォールは無効にしています。
これ以外にも原因になりそうな箇所ありましたら確認してみますのでアドバイスお願いします。
プロトコル有効にしてある?
>>431 あ、お察しのとおり構成マネージャーで確認しましたら無効になっていました、、
大変しつれいしました。
ありがとうございました!
OPTIMIZE FORってどんなときに使用するの?
ADOの質問かもしれませんがよろしくお願いします。
TEXT型のフィールドがあるテーブルがあります。
これにVBScriptからADOでオートコミットにてレコードを追加した場合
まずTEXT型以外のフィールドに値が入った状態でレコードが追加され
コミットされて、次にTEXTフィールドに値を入れて更新してコミット
されるという動作になるんでしょうか?
なんだか他のプロセスからこのテーブルを読み込むと
TEXT型のフィールドに値が入っていない状態で読み取れることがあります。
SQLServer2008 R2を使用しています。
ストアドにて、bcpユーティリティを使用して
特定フォルダにテーブルの内容をCSV出力しています。
bcpコマンドは以下のようなイメージです。
bcp XXX.dbo.YYYTBL out C:\test\test.csv -S ServerXXX -U UserXXX -P PassXXX -t, -k -c
bcpコマンド実行後、コマンドが正しく実行できたかどうか(CSVファイルが正しく作られたかどうか)
を取得したいのですが、方法がわかりません。
ご存知の方がいらっしゃいましたら、ご教授お願いいたします。
も一度取り込むか、xp_cmdshellで適当なコマンド実行するか。
> ファイル名 で結果をファイルにリダイレクトできなかったか?
教えて下さい。
あるストアドが、リンクサーバのテーブルを参照しています。
そのストアドが実行された時に
(1) リンクサーバ本体は起動しているが、サービスが停止状態の場合
(2) リンクサーバへのコネクションが確立出来ない場合
(リンクサーバ本体が停止している、ネットワーク自体が停止している等の場合)
この2例では例外が異なるだけでなく、
(2)の場合はストアド中の例外処理ではキャッチ出来ず、
そのストアドの起動元コード(例えばクライアントソフト)で例外が起きてしまいます。
これを、(2)の場合についてもストアドの例外処理でキャッチする事は可能でしょうか?
440 :
NAME IS NULL:2010/10/03(日) 13:02:08 ID:kEASD2NB
SQL Server exspress 2008R2をACCESS2010で接続して、
テーブルを変更したいと思っていますが、ACCESSで入力できません。
多分、何か基本的な事が抜けているのだと思うのだが、教えていただけないでしょうか。
Management Studioで”上位200行の編集”を実行し、編集、書き込み出来ることを権限があることを確認。
ACCESS2010で拡張子をADPにして、新規データベース作成。接続条件は同じ(Windows認証)で、接続を作成し、データベースに接続。目的のテーブルを選択すると、データが表示される。
データ変更のために、目的のセルにカーソルを移動させ、キーを押すと”ピロン”と音がして、入力は無視される。
もう泣きそうだよ...
441 :
NAME IS NULL:2010/10/03(日) 16:13:45 ID:mz90Y0Ei
SQL Server 2008 Developer
実売で五千円とかめっさ安いけど、これってなによ?
開発用途専用
>>440 ACCESSならいざ知らず、商用RDBで、テーブル表示させてその場で値を入力とかしない。
フロントエンドにAccess使ってるだけじゃ
主キーがない、とかってオチは?
446 :
440:2010/10/04(月) 00:42:14 ID:???
>>445 確かに、主キーは設定していない。
ええっ。無いと編集できないのか。
明日試してみます。
本日は本問題を調べるために、本屋めぐりをしてました...
ありがとうございます。
主キーうんぬんは本質ではない。
データ飛ばす前に、リレーショナルデータベース入門編みたいな本を買って読め。
SQL serverの管理や開発本の前に。
まさか、業務用のdbいじっている訳じゃないよな?
主キー(正確には一意に識別できる項目)が無いと更新できないのはアクセスのリンクテーブルの仕様だったと思ったが
今のアクセスのプロジェクトがどうなってるか良くわからんが、今でもそうなのかね
449 :
NAME IS NULL:2010/10/05(火) 13:35:58 ID:FBUpfaxk
450 :
NAME IS NULL:2010/10/06(水) 23:12:20 ID:i8mPwdUO
>445
主キーのあるデータで試したところACCESSで書き込みが出来ました。
ありがとうございました。
>447
昨日、データ飛ばしましたw
わざとではありません...
家で仕事で使えないかいろいろといじっています。
>>450 マジで飛ばしたんかいw
「データ飛ばすなよ」はあえて誇張して書いたのに。
ACCESSでうっかりテーブルごと削除(2Stepで出来るw)、とかならまだしもフロトエンドのadpでSQLServerのデータ飛ばすとか、やろうと思ってもそうそうできないが一体なにやったんだ?
where句間違えてDeleteなりupdateして、一括削除や更新しちゃったか?w
心配するな、俺もまだ素人だった頃一回やったことあるw
トランザクションモードが「完全」になってたら復活できるお
デフォは「完全」だし
2008 R2 RTM の CU3 x64版がダウンロードできなくなってるなぁ。
なんか問題でもあったのかな。
454 :
440:2010/10/07(木) 21:08:44 ID:lR5PXQoy
>>451 VB6では開発をしていた事(DBは経験無し)があるので、VB2010でデータベース接続したり、ASP.NETでWEBで表示しようとしていたら、SQL Serverに接続できなくなり...
いろいろ設定とかをいじっていたら、いつのまにか使っていたデータベースが死んでました。
いまいち、原因は理解出来ていません。
基礎からのASP.NETとか言う本を買ってきたので、開発しながら遊んでみます。
>>452 復旧を試してみるのに、良い機会でしたね orz.
テスト用のどうでもいいデータだったので、削除してしまいました。
455 :
NAME IS NULL:2010/10/13(水) 00:16:12 ID:ZtQlOMIP
timeout時間決める時の根拠って何かある?
一般的に計算式とか
456 :
NAME IS NULL:2010/10/16(土) 09:19:19 ID:Ml1kziXE
Timeoutは15分とかでいいんでないの?
ものによるだろうけど。
SQLServerって自動拡張入るとTimeoutしちゃうでしょ。
タイムアウトはコネクションとSQL発行時の両方あるけどね。
457 :
NAME IS NULL:2010/10/16(土) 09:53:13 ID:cBZyFJNw
Java質問スレで質問した内容なのですが、こちらをお勧めされたので、こちらでも質問させてください。
SQL Server 2005に対し、Windows認証を用いてJavaからアクセスを行いたいのですが、
SQL ServerのJDBCドライバはWindows認証に対応していないのでしょうか?
ttp://support.microsoft.com/kb/313100/ja を見ると、SQL Server 2000の無いようですが、
Windows認証をサポートしていないに書かれています。
ネットで色々と情報を見たのですが、いまいちはっきりしません。
MSのページでSQL Server2005に対し、Windows認証に対応したJDBCドライバが
提供されているのかいないのか、明示しているページはありませんか?
よろしくお願いいたします。
>>459 情報ありがとうございます。
しかしながら、私の求めているJDBCドライバの情報とは違うようです。
>>461 ありがとうございます。
非常に助かりました。
Update トリガーの中では
SET IDENTITY_INSERT 〜 ON
は無視されるのでしょうか?
IDENTITY フィールドを有する自テーブルに deleted なデータをログとして落としたのですが・・・
ALTER TRIGGER [dbo].[売上_Update] ON [dbo].[売上] AFTER UPDATE
AS BEGIN
SET NOCOUNT ON;
select * into ##売上 from deleted;
update ##売上 set ID=newid(),削除日時=getdate();
SET IDENTITY_INSERT 売上 ON;
insert into 売上 select * from ##売上;
SET IDENTITY_INSERT 売上 OFF;
END
「insert into 売上 select * from ##売上」の行で
「IDENTITY_INSERT が ON じゃないとダメだよ」と言ってコケるようです。
目的は UPDATE 前のデータを「削除済み」なレコードとして履歴保管することです。
自己レスです。
insert into 売上(項目名,,,,) select * from ##売上
としたら上手くいきました。なんで項目名を指定しないときに
エラーを掃かせないといけないのか理解に苦しみますが
解決と思いきや、##売上 という風に一時テーブルを使うと期待した動作をしない。。
##売上 → 売上_BAK だと正常に動作。。
奥深いなぁ
トリガで論理削除みたいに変えるってなんか気持ち悪いなあ
ログを残すなら別テーブルにした方がいいんじゃ
oracleで作ったストアド/テーブルをsql serverに
移植する事は現実的ですか?
上司がsql serverに移行したいな〜とか言っていたのですが、
個人的には「ストアドの文法違うし、nullの扱いが違うから無理だろ」と思っているのですが
面倒
471 :
469:2010/10/23(土) 20:36:07 ID:???
>>470 ストアドとかはほぼすべて書き直しなのですか?
うん。
473 :
469:2010/10/23(土) 20:38:45 ID:???
みなさんはSQLServerの資格をもっていらっしゃるんですか?
無免許です
生涯賃金で5000万くらい変わるのなら資格取っても良いかな。
>>469 現実的かどうかは知らないが、案件としてはよくある話
CREATE FUNCTION [dbo].[DeleteHyphen] (@value varchar(20))
RETURNS varchar(20)
AS
BEGIN
RETURN replace(@value,'-','');
END
というユーザー定義関数を作りましたが、こいつデフォルトで IsDeterministic = False になってます。
「決定的」だと思うのですが、どうやったら IsDeterministic = True になるのでしょうか?
テーブルの計算列に含めて、インデックスのキーに入れたいのです。
>>478 WITH SCHEMABINDINGつけてみ
480 :
NAME IS NULL:2010/10/28(木) 11:53:16 ID:cVaZ9eIX
SQL Server 2008 と
SQL Server 2008 R2 とでは
何が違うの?
482 :
480:2010/10/28(木) 13:22:32 ID:???
>>479 CREATE FUNCTION [dbo].[DeleteHyphen] (@value varchar(20))
RETURNS varchar(20) WITH SCHEMABINDING
AS
BEGIN
RETURN replace(@value,'-','');
END
で期待すること出来ました、ありがとうございます!
システムドライブがSSDで、DドライブがHDDなんですけど、
DBのファイル(.mdf)をDドライブに置いておけば、
SSDへ書き込みはほとんど行われませんよね?
ldfはどうするんだとかスワップはどうするんだとか。
あ、.ldfもDドライブ上です
スワップってなんでしょ?
SSDもHDDも消耗品と考えろ
ログインユーザとスキーマの関係を教えてください
スキーマとロールの話を読んでいたら、何がなんだかわからなくなりました
スキーマにユーザ名を使う例があったりするから
どうもわかりにくくなるのかな?
俺もわかったようでわからないような変な感じ。
SQL Server の自習書シリーズって
2000 のころはなんか中途半端感ありありだったけど
いつのまにかずいぶん充実してるね。
2008 R2 の自習書の中でもスキーマにユーザ名つけてたな。
所有者が誰かわかるようにってことなのかな。
↑よくわかってないから意味不明な文章になってるかもしれん
データベースユーザに複数のログインを紐付けることはできないのですか?
493 :
NAME IS NULL:2010/11/04(木) 12:01:47 ID:x3Y/8ThA
7.0から2008に乗り換えたんですが、
テーブル内のデータを直接編集したい場合どのように
すればいいでしょうか?
上位200行の編集のような感じで条件指定して編集できれば理想です。
>>493 >上位200行の編集
答えを書いておいて質問とは、これいかに
select で編集した行みつけて編集すれば委員じゃない
すんげえいい加減なこと書いちゃったかなぁと思って試したら
やっぱり無理だった
ビュー作ればできる。
上位200行の編集→抽出条件ペインの表示 かね
>テーブル内のデータを直接編集
なんだから、そのデータの格納されてるMDFファイルを
バイナリエディタかなんかで修正するしかないじゃないか
ま、普通は何らかのツール使うんだが、ツール名ぐらい書けって話だ
俺ならややこしい手作業修正ならACCESS使う
Accessはないわ
普通に update 文を書く
SQL Server Managment Studioとかでやれなかった?
言えない…
「なでしこ」でやってる、だなんて
>>501 2005 の SSMS ならデーブルのデータ全表示で編集できたけど
2008 の SSMS から「上位200件の編集」しかなくなっちゃったから
そこに出てこないデータは SQL 文を書くか
全件表示するビューを作ってそこから編集かなぁ
なんであれ200件になっちゃったの?
不便なんだけど。
アレで編集すること自体が異常だと思っているからどうでも良いわ。
506 :
NAME IS NULL:2010/11/06(土) 18:29:32 ID:91yUBFdX
初心者なんですが
sqlサーバー2005で商奉行を入れていたのですが
パーティションを移動した後
商奉行だけが起動しなくなってしまい
再インストールを試したのですがsqlサーバーが
見つからないと出てインストールできないのですが
どうしたらいいのでしょうか??
あきらめろ
508 :
NAME IS NULL:2010/11/06(土) 18:32:54 ID:VAE4Y5ED
商奉行のメーカーに問い合わせるのが一番早いと思うけど
509 :
NAME IS NULL:2010/11/06(土) 18:34:10 ID:91yUBFdX
今日休みなんですよね・・・
会社で使ってるシステムだったりして
>>506 >パーティションを移動した後
なんでこんなことしたの?
どうせバックアップ取っているんだから戻せば良いじゃん。
取ってないなら、大人しく責任取れw
512 :
NAME IS NULL:2010/11/06(土) 19:40:58 ID:91yUBFdX
パーティションの容量がなくなったので
空き容量を追加したんですよ
作業前の状態に戻すしか無いでしょ。
SQLServerじゃなくて商奉行の問題だし。
単にサービス起動していないだけって気もするけど。
514 :
NAME IS NULL:2010/11/06(土) 22:19:29 ID:j7WHBS3x
SQL server 2005において、メンテナンスプランで毎日データベースの
圧縮とバックアップ、不要データの削除を行っています。
不要データ削除により、バックアップファイルは日に日に小さくなって
おり、メンテナンスプラン開始日より約7GB小さくなっているのですが、
肝心のデータベース本体(mdfファイル)は全く小さくなっていません。
データベースを右クリックし、タスク−圧縮を選ぶと、使用可能な空き
領域が7GBと表示されるので、不要データの削除により空き領域は増えて
いるものの、メンテナンスプランの圧縮時にその空き領域の解放が行われ
ていないようです。
そこで、質問ですが、メンテナンスプランの圧縮タスクで空き領域を解放
するには下記の設定以外に何か特別な設定が必要なのでしょうか?
圧縮後に残す空き領域は10%、解放された領域はオペレーティングシステ
ムに返すよう設定しています。
※SQLのログで気になるのは、圧縮のメンテナンスプランは毎日実行され、
正常に実行されましたと記述されているのですが、実行時間が数十秒しか
かかっていないのです。
20GBのデータベースの圧縮で数十秒しかかかっていないというのは実際には
正常に実行されていないのでしょうか?
master DBを無理やり移動してサービスが起動しなくなったとかかな
バックアップですぐに戻せないのなら
素人は触らないで、金を払ってでもサポートに頼った方がいい
>>514 >バックアップファイルは日に日に小さくなっており
単に差分バックアップじゃないの?
518 :
514:2010/11/07(日) 00:01:44 ID:tvZAn/2I
>>514 データの圧縮って論理ファイルの最後の方使っていると、圧縮しきれないんじゃなかったっけ?
520 :
NAME IS NULL:2010/11/07(日) 14:17:55 ID:uGZy3Dqk
521 :
514:2010/11/07(日) 15:29:58 ID:tvZAn/2I
トランザクションログファイル(ldfファイル)はきっちり圧縮されてます。
メンテナンスプランの圧縮タスクでは、そもそもトランザクションログ
ファイル(ldfファイル)の圧縮のみ行われ、mdfファイルの圧縮は
されないんでしょうか?
523 :
514:2010/11/07(日) 22:34:47 ID:tvZAn/2I
>>522 そもそも、2年前の出発時は2GB程度でした。
この2年間でデータが蓄積され、20GBまで膨れ上がりました。
社内環境で、データベースのバックアップファイルを復元したものを
ManagementStudioで右クリック−タスク−圧縮で圧縮すると、mdf
ファイルも空き領域を解放し、小さくなるので、メンテナンスプランの
圧縮タスクでも同様の圧縮をしてくれればと思っているのですが・・・
>>503 オプションで取得数は変えれるよ
若しくは、queryのtop nを書き換えるとか
525 :
NAME IS NULL:2010/11/09(火) 23:26:57 ID:Sr/EYcBX
SQL Server Expressを利用してVB.NETで顧客管理マネージャーと見積書作成を作ろうと思っています。
VBは6.0までで7.0以降はまた覚え直しですがなんとかなりそうです。
ただ、SQLやRDBMS等、DBについての知識がまったくないので「ひと目でわかるVisual Basic 2008データベース開発入門」を購入したのですが、全ての製品の基礎知識を要求され何から手を付けていいのかわかりませんでした。
まったくの初心者に一からSQL ServerとRDBMSのノウハウを分かり易く解説している書店で手に入る参考書や解説書を教えてください。
SQL Server 2008 自習書シリーズ
自習書シリーズってテーブル設計のあたりは
何も書いてなかった気がするなぁ。
MS-Access とか SQL Server の超初学者向けで
データベースのテーブル設計の話書いてるのを
探してきて読んでからのほうがいいかな。
「正規化」とか「リレーションシップ」「参照整合性」について
触れてるのを探して読んでみるといいかも。
SQL については SQL Server の自習書シリーズでとりあえず十分かな。
ストアドをADOから呼び出す場合にストアド内で@@ERRORに0以外が
入るようなエラーが発生した場合は必ずADOにも通知されますでしょうか?
>>525 >SQLやRDBMS等、DBについての知識がまったくないので
悪いこといわないから、データベース構築よりも顧客管理と見積書制作が優先順位が高いならACCESSでやれ、その程度のスキルなら。
ACCESSなら分かりやすい本も死ぬほど出ている。
Access 使うぐらいなら
C# で ado.net 使ってアプリ組んじゃうわぁ
compact 3.5 ってマルチスレッドで行ロック効かせてつかえる?
>>530 SQL文もろくに書けなさそうな奴が、どうやってADO.netでアプリ組むんだよw
>>533 わかってるよw
わざわざ525向けにAccessにしろって言うのに、ado.netっで言うのは、525にado.net使えって言いたかったんじゃないのか?
まぁそうとも言える
ストアドの中で IF ELSE で分岐かけて
それぞれのブロックの中で SELECT INTO したいんだけど
統合環境?が馬鹿で通りません、どうしたらいいでしょうか?
CREATE PROCEDURE 〜
(中略)
IF @FLAG=1
SELECT * INTO ##TMP FROM MOTO WHERE ID1=@ID
ELSE
SELECT * INTO ##TMP FROM MOTO WHERE ID2=@ID
(後略)
2つ目の SELECT INTO が悪いと言って
「データベースに '##TMP' という名前のオブジェクトが既に存在します。」
何て言います。
試しに2つ目の SELECT 〜 INTO ##TMP を SELECT 〜 INTO ##TMP2 にしたら通ります。
統合環境が半端にエラーチェックしようとしていることが原因だと思います。
何とか外せませんでしょうか?
>>536 馬鹿はおまえだ。
一時テーブルと言えども、一度作ったらセッションきれない限り削除されない。
存在するテーブルにselect intoしたらエラーになって当然
SELECT * INTO ##TMP FROM MOTO WHERE @FLAG=1 AND ID1=@ID OR NOT @FLAG=1 AND ID2=@ID
>>537 ストアド走らせる前の検証で
>>536のメッセージが帰ってきているんじゃない?
どうでも良いことだがw
540 :
536:2010/11/12(金) 20:12:53 ID:???
>>539 の仰るとおり
SQL Server Management Studio が余計な検証をしやがるのが困ってるんです。
IF で分岐されて、同時には走らないので、重複テーブルにはならないのですが・・・
>>538 実際の SQL 文の WHERE はもう少し細かいことやっているのですが
WHERE を OR で連結していくと速度が落ちるんです。
compact 3.5 ってマルチスレッドで行ロック効かせてつかえる?
>>540 動的SQLにすれば問題ナッシング
よほど複雑なSQLじゃなければ、今のRDBMSならパフォーマンスの問題もさほどない。
今時ストアドを使う男の人って・・・
若者のストアド離れ
最近ストアドを覚えた・・・
マルチスレッド開発できるひといないんですか、ここには!
なんで行ロックができるかも知らないんですか、つかってきたなら知っていることとですよね!
やってみればわかることはわかりますけど、そしたらなんのために質問してると思うんですか!
すこしかんがえてください
できないひとはだまってください!
使ってるよ。全く問題ない。
ただでさえ過疎ってるのに
Compactを使う奴なんてそうそういるわけないだろ
名前は似てても中身は別物だからSQLServerの常識は通用しないし。
Compact使うならSQLite使うもんね
>>548 ここより、組み込みスレ(どこにあるか知らんが)行ったほうがはやいだろjk
ドキュメントにきちんと書いてるのに
読まないで質問して
「やってみれば?」って言われたら「黙ってろ」とか、
もうね、ゆとりすぎて話にならんな。
スルーしろよ
釣りでしょ
それより2005のデータベースのデータを2000に移すのって
SQL Server Database Publishing Wizard以外に手っ取り早い手は無いっすかね?
2000は2005のバックアップファイルを処理できないし、bcpだとフォーマットファイルの
バージョンで文句言われるし
妙にテーブルとデータエントリーだけが多いシステムなんで、DPWだとすごい時間がかかって
テーブルによっては移行後修正が必要なパターンがあるみたいだし
いっそ2005から2000にレプリケーションしようとも考えてるんだけど・・・
データだけなら、2000側に同一テーブル作って何でもいいから同時接続して流し込めばいいだけでは?
バッチ作ればあとは黙ってみてるだけ。
Viewだのストアドだのjobだのという話なら、俺ならそのまま移行して、エラーがでるものだけ手作業で作り直しちゃうかなぁ...
>>548 おまえ、Firebirdスレでもembeddedの行ロックについて聞いていた奴だろ?w
Firebirdスレでも書いたが、組み込みDBは大抵10分もあれば起動できるんだから、せめて動かしてから質問しろ。
560 :
536:2010/11/13(土) 23:07:08 ID:???
最初に SET 〜 で指定したりすることで
「余計な事前検証をやめさせる」ことは出来ないのでしょうか?
>>560 メッセージ 2714、レベル 16、状態 1
事前検証じゃなくてサーバに投げたサーバ側のメッセージのような気がするんだが
まあ俺なら絶対真にならない条件でselect into1度走らせて空のテーブル作って
行の追加はinsert into ##TMP select * ... でやる
一時テーブルってtruncate出来ないの?
unionでいいとおもうけど。
563 :
561:2010/11/16(火) 18:20:39 ID:???
>>562 俺に対しての意見だよな?
unionをどう使うんだ?
select intoでテーブル作るって言ってるのは、もとの
>>536がそうしてたから
まあテーブルレイアウトが動的に変わることはあんまりないだろうし、
テーブル再作成しないって前提ならtruncateで良いとは思うけど
564 :
536:2010/11/16(火) 18:41:32 ID:???
どうもありがとうございます。
予め create table しておいて insert into するなりして回避するしか方法ないのでしょうか。
根本的には、SQL Server のコンパイラが馬鹿(バグ?)だと思うのですが。。。
>>563 >>538の
SELECT * INTO ##TMP FROM MOTO WHERE @FLAG=1 AND ID1=@ID OR NOT @FLAG=1 AND ID2=@ID
ができるんなら
SELECT * INTO ##TMP FROM (
SELECT * FROM MOTO WHERE @FLAG=1 AND ID1=@ID
UNION ALL
SELECT * FROM MOTO WHERE NOT @FLAG=1 AND ID2=@ID
)
もできるかなと思ったんだけど、無理なのかな。
>>563 動的にテーブルレイアウトが変わる場合でも
>>561の方法ならできるの?
truncateを持ち出したのは、絶対真にならない条件でっていうのがめんどくさいなって
思ったからなんだけど1=0って書けばよかったね。
567 :
561:2010/11/16(火) 19:11:10 ID:???
>>564 コンパイラが馬鹿と言えばまあそうなんだろうけど
ストアドの中で(一時テーブルといえ)テーブル作るのとかあんまり好ましいと思わないしな
select intoでテーブル作成が必須じゃないなら、素直にあらかじめ作っとけばいいんじゃね
>>566 select intoでテーブル作ると、そのときのレイアウトでテーブルができる
この例ならMOTOテーブルのレイアウトが変わっていても、ストアド走らすことによって
MOTOと同じレイアウトの##TMPが作成される
MOTOのレイアウトがころころ変わるようなら、レイアウト変更の影響うけにくい
さすがにwhereに使ってるカラムがなくなったりしたらダメだがw
そもそもストアド使うのが間違いだしな
ストアドストアドストアドー
全部ぶっこんでDELETE
>>567 ああ、動的に変わるってそういう意味か。
>>562では一時テーブルに対するtruncateと書いているし、まあなんでもいいんだけど。
フルテキスト検索 CONTAINS を試してますが、どうも動作がヘンでして。。
「小菊」として登録されるデータが、CONTAINS(項目名, '菊') では検索対象になりません。
項目名 LIKE '%菊%' だと、「小菊」も拾ってます。
フルテキストインデックスを張るときの言語を「日本語」にしてあります。
FREETEXT でも傾向は変わりません。
573 :
NAME IS NULL:2010/11/21(日) 05:53:05 ID:RG9/i762
>>567 動作させてないけど、
IF〜ELSEでなくて、
IF〜END、IF〜ENDでもエラーになっちゃうの?
574 :
NAME IS NULL:2010/11/23(火) 19:26:29 ID:j4zKGW9Z
>>574 意味がわからん
理解しようとするだけ時間の無駄だった
パフォーマンスで質問です。
Personというテーブルがあって、そこから追加フラグと削除フラグを条件としたViewを作ります。
そのViewを使用して検索など行うのですが、Personというテーブルの追加フラグと削除フラグは
30分ごとに更新されると仮定してViewの更新のパフォーマンスは大幅に下がるのでしょうか?
Personテーブルは300万レコードで1レコード25フィールドとした場合を前提とします。
現行ではPersonテーブルを基本とした別テーブルを設けて、フラグが立てば別テーブルにインサート
及びデリートしております。(別テーブルは5万レコードほど)
みなさんはどのように考えますか?色々な考えを聞かせてください。
577 :
NAME IS NULL:2010/12/07(火) 11:43:14 ID:XROx6G4k
age
ビューの更新って何
策定されたViewって参照元のテーブルが変更されない場合はメモリ等にあるんじゃ
なかったでした?
ごめん、ストアドプロシージャとViewがごっちゃになってましたorz
WITH SCHEMABINDING が理解しきれていないのですが、
これは非決定的関数を中で使う場合には書いちゃいけないものですか?
CREATE VIEW V_24時間の売上 WITH SCHEMABINDING
AS
SELECT * FROM 売上>=dateadd(day,-1,getdate()) and 売上<getdate()
こんな風はダメ?
走らせると通っちゃうんだけど
それ決定的関数だと思うんだけど違うのかな
って、getdateのほうか。ごめん。
584 :
NAME IS NULL:2010/12/07(火) 23:06:59 ID:z2r88K6a
てっきり2008ServerにSQLServer付属されてるのかと思ったら別売りかよ
つExpress
>>572 形態素解析モジュールの気分次第だからじゃないかな。ngramじゃないし。
噂では「fulltext関連は買収した元製品のコードと変に交じり合って手がつけられない」
588 :
NAME IS NULL:2010/12/20(月) 15:18:09 ID:FELC/sSX
ここで聞くべき事か判りませんが・・・
他になさそうなのでここで
SQlSERVER2008WorkGroupを使用してDB運用をしております。
その際トラブルが発生し、SQL SERVER Profilerで発行されたSQL文をトレースしていると問題のSQL文が発見できたのですが、
そのSQL文がどのクライアント(IPアドレスが判るとよい)から発行されたものか調べることはできないでしょうか?
ログインは全てのクライアントがSQLSERVER認証で専用のログインIDとパスワードでログインしている為、調べられない状態です。
(Windows認証であればわかったのかもしれませんが・・・)
そういうトレースの方法等ご存知の方がいらっしゃいましたらお教え願えればと思っております。
HostNameとかでとれるっしょ。
>>572 Windows Search にも似たような不完全さがある。おそらく、全文検索機能というのはあまり信用しないほうがいい。
592 :
NAME IS NULL:2010/12/29(水) 15:05:57 ID:wn3G93rl
SQLServer2005ですが
本番dbとテストdbをインストールしています。
vb6からRDOで接続してますが、テストdbの接続文字列で本番dbが検索
できてしまいました、去年はちゃんと動いたんですが・・・
原因不明です、教えてください。
なお、Accessをodbc接続でリンクした時はちゃんとテストdbからエクスポートできました。
情けない質問だなあ
もう仕事納めだろうから本人が先輩にでも教わった事だろう・・・
595 :
NAME IS NULL:2010/12/30(木) 08:58:08 ID:pk4OnEh2
592です・・・まだ未解決。
我ながら情けないですが、テストサーバを立てます。
接続文字列が間違ってるとか、ネットワークの設定が間違ってるとしか。
そんなの使っているアプリの設定見ろとしか。
テスト用設定したつもりが本番用向いているか、本番用検索していると思ったら実はテスト用だったかのどちらかでしょ。
598 :
NAME IS NULL:2010/12/30(木) 15:39:14 ID:pk4OnEh2
592です。
テストサーバを設定中、認証・ユーザ名が違うかも・・・と思った。
お客さんお休みですので、来年確認します。
599 :
NAME IS NULL:2011/01/05(水) 10:54:10 ID:EDF9UVV6
592です。
dbは関係なしで接続できますので
testユーザのサーバーロールをsysdminにして、
こいつでdbを作成すればOKでしょう・・
6.5の時代とずいぶん違うね、もう引退しますわ。
新年早々つまらない質問ですがちょっとお付き合い下さい。
Access2000を使っていましたがPCが壊れたのを機に
Sqlserver2008R2への移行を考えています。
CSVデータをインポートする際20110106のような文字列を
Accessのインポート定義では日付に変換できましたが、
SSISでは思うように変換できません。
色々と検索すると一旦テーブルにインポートしてから変換するとか、
↓のような処理を書くとか方法はあるみたいなのですがもっとスマートな
やり方はないものでしょうか?
http://www.tsware.jp/study/vol17/ssis_06.htm PowerShellを使って済ませようかと思って勉強していますが、こちらも奥が深く
面白いので肝心のSQLServerの検証が進みません。。。。
俺はCSVファイルをbcpで一時的なテーブルに入れてから、
適切な型に変換しつつ本来のテーブルに insertしてるなあ。
CSVファイルの個数がどの程度なのか、そのフォーマットが何種類あるのかで、
取るべき方法も変わるんだろうけど。
>>602 どもです。
やっぱりその手が一番無難ですね。
取り込みたいCSVは10種類くらいで、それぞれ100行に満たない比較的小さなものです。
AccessVBAを駆使して似たようなことをしてたんですが、SQLServerならもっとお手軽な
らくできる方法があるんじゃないかと思いましたので質問させていただいました。
お手数をおかけいたしました。
こんにちは。質問いいですか?
現在XPproにSQLServer2005EEの構成で小規模DBを作っていますが
端末更新の時期となりWinServer2008を買ってもらえることになりました。
そこでSQLServerも2008EEにしたいと思うのですが
このDB間(EEで)でデータ移動は簡単に出来ますでしょうか?
素人質問ですみません。宜しくお願いいたします。
ライセンス料まともに払っているのかさえも怪しい質問だな。
最近複数ユーザ接続でもCPUライセンス購入しないって会社結構多いんだよな・・・
>>605 すみません。複数人使用だとライセンスがEEでも必要になるのですか!
よろしければ詳細を教えてください。
コンプライアンス問題があれば大事なので
Enterprise Edition か・・・
マイクロソフト ライセンス早わかり
でぐぐれ
データ移動は簡単だよ。
EE と省略した場合
Enterprise Edition と取る人(大多数)
Express Edition と取る人(少数)
がいるので省略しないようにね
>>609 データベース構造も簡単に複製できますでしょうか?
参考になるサイトなどご存知でしたらご教示願います。
>>610 すみませんでした。
Express Editionです。
>>603 100行が10個程度なら、テキストデータの段階でエディタ使って正規表現置換で/入れればいいだけじゃん。
ちょっと正規表現じゃ無理そうならパパッとバッチ組むか、取り込んだ後にsql書いたって数分でしょ?
くだらんことで悩んでいる時間の方がもったいない。
>>614 まぁ 確かに、、
結局PowerShellで整形してインポートすることにしますた。
ネットで質問する人のすべてに言えることだけど、
自分が質問しようとしていることは自分以外にも知りたい人が大勢いるような質問なのか、
世界でもごく限られた人しか質問しなさそうなことなのか、考えないのかね。
前者だったらネットで検索すれば答えがあるに決まってる。
>>604 なんか、そういう質問の典型だろ。
>>616 それが仕事絡みってのが最悪だよな。
トラブった挙げ句、原因も調べずに「MSだから〜」で済ます阿呆が生産されるのは勘弁です。
ExpressEditionならライセンスいらないよ。
>>604もあほだがライセンスうんぬん言い出した奴もあほだろ。
>>604 2台が繋げるならウィザードで。
繋げないならデーター吐き出してバックアップとリストア風にやれば良い。
ただいずれもジョブや設定は引き継げないから手作業でやる必要あり。
厳密にはジョブや権限も吐き出せるけど、あなたの書き込みや規模を考えるに、再度設定した方が早そう。
>>620 ありがとうございました。
ウィザードってExpressEditionにもあるんでしょうか?
一応二台ともLANで繋がってはいます。
>>621 >ウィザードってExpressEditionにもあるんでしょうか?
あったかどうかは忘れたが、それぐらいはお前が自分で確かめろ。目の前のPC立ち上げれば数分で分かるだろうが。
一回こっきりなら
Access で両方にリンク張って、レコード追加クエリーとか
一回きりなら、そのウィザード(Expressにもある)が絶対に楽。
625 :
NAME IS NULL:2011/01/13(木) 09:55:37 ID:nryLKKcU
>>604 Access で両方にリンク張って、レコード追加クエリーが素人向け
ちなみにあたしはいつもこれです。
>>625 そんなことするぐらいなら、SQLserverでもう一方をリンクサーバで張ればいいだろw
627 :
NAME IS NULL:2011/01/13(木) 13:09:36 ID:nryLKKcU
ExpressEditionでできるんだ、失礼しました。
SQL Server2005で、質問があります。
5000行ほどあるテーブルに、インクリメント・シード共に1のidentity列を追加したのですが、
このとき、既存のデータにどうやって番号が振られているのかが分かりません。
レイアウト変更前に、つい最近追加したデータに若い番号が振られたりしていて、法則性がいまいちつかめないのです。
MSDNのIDENTITYプロパティ(
http://msdn.microsoft.com/ja-jp/library/ms186775(v=SQL.90).aspx)にも、それらしい情報はありませんでした。
ご存知の方いましたら、ご教示お願いします。
どういう方法でidentity列を追加したのかを具体的に示せ。
追加したその列をどう使うつもりなのか、あらかじめ考えていたのか?
一意であるだけでよいのなら、法則性を知る必要はないはずだが。
select * from table を実行したら、つい最近追加したデータが先に出てきたりして、
法則性がいまいちつかめないのです。って言ってるのと同じ
>>628 MSは並び順を指定しない時の並び順に関しては正式にアナウンスしてないお。
素直に自分でSQLで並び替えて数字振ったほうが確実。
並べ替えて数字を振ってどうなるというのだろう。
挿入、削除のたびに振りなおすなんてばかげてると毎日バッチみたいなことをするんだろうか。
並び順を指定しなかった場合の並び順を正式にアナウンスしているRDBMSってなにがあるのだろう。
>>632 >並べ替えて数字を振ってどうなるというのだろう。
数字振ってからidentityにしろって言ってんだよ。そうすれば以後は関係ないだろ。
>並び順を指定しなかった場合の並び順を正式にアナウンスしているRDBMSってなにがあるのだろう。
他は知らないからMSに関して書いただけ。
なんだ?いちいちいちゃもんつけなきゃ気がすまない低脳か?
所詮計算機なんだから同じ条件なら同じ並び順になるよ。
ソース公開しているRDBMSは正式アナウンスしているようなもんだ。
>>633 以降がどうでもいいなら、既存のデータだけ並べ替えた数字を振ることもどうでもいいと思えないの?
>>634 それがならないんだな。orderbyで等値のデータの並び順で、
種類が同じDBでもマシンがエンディァンがビッグとリトルとじゃ別の結果になることがある。
テスト中に一度経験したことある。
>>636 >マシンがエンディァンがビッグとリトル
同じ条件じゃありませんが?
>>634は間違ってはいないが、実際問題違うDBが同じ条件になることは
現実的にあり得ないわな
物理的な行の格納位置なんて、エクスポートしてインポートしただけでも変わるし
>>634 古い話しで恐縮なんだが、例えばテキストcsvをBCPでのインポートをしたとして、なんの制約も並び替えもしなければcsvの並び順のままインポートされる事が経験則として知られている。
ただmsとしてはその現象は偶然にもすぎず、並び順においてなんの保障もしていない。
なのでクライアントからの条件が「100%確実にテキストファイルの順に数字を振ってインポート」ならば、1行ずつインサートするのが一番確実になる。
インポートが並列処理できるDBってふつうたがら、
仕様で並び順も保証したいのであれば、フィールド追加するしかない。
北の核でMSが滅亡したら、残った人類Winのアクチができなくなるから
Linuxの天下になるのかな。
どっか上のに ANSI_NULLS の話があったと思いますが
更新ストアド書いてます。
update テーブル
set 項目=@項目
where ID=@ID and 項目<>@項目
値が変更されてたら UPDATE を実行するというものです。
項目が NULL 許可で、もともと NULL が入っている場合
この更新クエリーでは正しく動作されません。
その逆で、項目を NULL に更新したい場合も動作しません。
これを回避するためには
update テーブル
set 項目=@項目
where ID=@ID and ((項目 is null and not @項目 is null) or (not 項目 is null and @項目 is null) or 項目<>@項目)
なんて書かないといけないのでしょうか。
SQL serverは理論どらいぶインスコ
ではリモートアクセスできないの?
日本語でOK
フレンチですまん
SQL Server Compact Edition もこのスレでいいのかな。
違うなら、適切なスレに誘導してくれ。
SQL Server 2008 Management Studio Express と SQL Server Compact
Edition 3.5 で個人的な DB 作って遊んでいるんだが、データベースやテーブ
ルの作成とか SQL の実行なんかはできるんだけど、テーブルにデータを直接
入力できないんだ。
Insert 分でちまちま入力するのはもちろんできるんだけど、プログラムのデ
バックなんかでテストデータを準備したりするのに手間がかかってちょっと
辛いんだ。
SQL Server 2005 の Express Edition ではできたような気がするんだけど、
誰かやり方知らない?
このスレでいいとは思うけど、
Expressはちゃんとしたクラサバ構成なのに対して、Compactは組込み用。
だから、TCPIPのようなプロセス間通信を使うツールは一切使えない。
>>645 Visual Studio から出来るよ。
Visual Studio 2010 Professional では出来た。Express Edition は分からないけど。
>>646 ん? どっから、「TCPIPのようなプロセス間通信を使うツールは一切使え
ない。」なんて出てくるの?
Compact は、もちろんクラサバじゃなくて単なるライブラリだけど、SQL
Server 2008 Management Studio Express はちゃんと対応しているよ。
# そもそもデータベースやテーブルの作成はできると書いてあるんだから、
# 普通に考えれば対応してるってわかると思うが...。
で、MSDN あさってたらこんな記述が...
http://msdn.microsoft.com/ja-jp/library/ms171805(v=SQL.100).aspx
| SQL Server Compact 3.5 で SQL Server Management Studio の機能を
| 使用するには、SQL Server、SQL Server Compact 3.5、および
| Transact-SQL の知識が必要です。また次の製品をインストールする必
| 要があります。
| ・SQL Server <-- 注目!!
| ・SQL Server Compact 3.5 (SQL Server に同梱)
| ・Microsoft ActiveSync
| ・Microsoft .NET Compact Framework
これって、(使いもしない) SQL Server 本体を入れろということなのかなぁ。
Accessじゃないんだからさ、テーブル参照からダイレクトで値書き込むようなことはしなさんな
逆に、DB管理ツールでCRUD機能のついていないものってなにがあるんだ?
個人的なDB作って遊ぶのにどうして Compact Edition を使うのか分からない。
さっさと Expressにしたほうが幸せ。
CompactEditionを使うというのが遊びの内容に含まれてるからでしょう
SqlServerCompact3.5でバックアップを取る時は接続をすべて切ってファイルをコピーとありますが、
接続を切らずにやるとしたら一旦全てにデータをエクスポートしてやるくらいしかないでしょうか?
何で無理なことを追い求めてるの?
656 :
NAME IS NULL:2011/01/25(火) 21:51:17 ID:ODO6+y4s
SQLServer2000で、名前付きパイプでは接続できるのに、TCP/IPでは接続出来ない、、、 TCP/IPでつなぎたいのですが、どうしたらいいでしょうか? (>_<)
ファイアウォール、クライアントネットワークユーティリティ、サーバネットワークユーティリティの設定はしています
クライアントから接続すると、サーバが見つからない、拒否されましたとエラーが表示されます
同じPCに2008をインストールして試しましたが、同じでした
ファイアウォールをいったん無効にしてみる、ってのと、
接続時に「\\」とかつけてないよね? ってのと、
優先順位がおかしくなってない? ってあたり。
658 :
NAME IS NULL:2011/01/25(火) 22:28:56 ID:ODO6+y4s
返信ありがとうございますm(_ _)m
\\付けてないです
既定のインストールなので、サーバ名だけ指定してます
優先じゅんいはは、TCP/IP しか有効にしてないので大丈夫だと思います(>_<)
じゃ、ちょっとわかんないねぇ。
サーバー側でパケットキャプチャしてみて、ちゃんと1433にパケット来てるか
確認してみれば?
>>656 osは何を使ってますでしょうか
クライアントからは接続できないが、sql2000をいれたサーバから自分自身には接続できるのでしょうか。
クライアントからサーバへpingは通りますか。
OSは2000サーバを使ってます
PINGも通ります、ネットワークフォルダらも見れます
気になるのは、NETSTATで確認すると、1433のポートが表示されません
サーバの問題だと思うのですが、何が原因らなのか、よくわからないです、、、
じゃ、リッスンしてないね。
もう少し調べてみます
ありがとうございましたm(_ _)m
>>663 サービス マネージャ
あたりの設定かもしれません。
SQL Server2000の環境がないので確認できませんが。
2000から2005に移行したDBで、メンテナンスプランでインデックスの再構築を実行したら、容量が何倍にも拡張されたんですが……。
これって正しい姿なんでしょうか?
>>665 オンラインの再構築の場合、現在利用量の作業域として使うので二倍ぐらいに拡張するかも
>>666 レスありがとうございます。
オンラインはOFFにして実行してます。
ちなみに、FILL FACTOR は10で設定しています。
それで、容量が5倍ぐらいに激増します。パねえ……。
DBに高速にデータを突っ込むローダーみたいツールってありますか?
付属のbcp
ありがとうございます。
Expressでも付属してました。
>>667 FILL FACTORが10ってことは、実際の10分の1しかデータ入ってないってことだぞ
100(か0)から10に変えたら容量10倍になってもおかしくないってことだぞ
672 :
665:2011/02/03(木) 00:22:21 ID:???
レス遅くてすみません。
なんかSQLServerでは空き領域の比率をFILL FACTORと誤認する不具合があったらしくって(SP1で解消されている)、かなり長い間一緒のものだと勘違いしていました。
SP4当てて、空き領域の比率を10%で再構築してみたら、今度は容量微増ですみました。
レスくれたひと、ありがとうございました。
試験環境で2008 R2(OS、SQLとも) 64ビットの
クラスター組んでみた。
資料があんまりなかったんで、ちと苦労した。
ところで、File Stream ってどーやって使うんだい?
分かりやすく設定とか使い方を解説してあるサイトおせぇーてくれ。
Windows Server 2003 x86でSQL Server 2005 Stdを動かしているのだが、
SP4を当てようとすると失敗しましたで当てられない。
google先生に聞いても、困っている人がいることはわかるのだが、
解決方法が解らない。
なんか知ってたら教えてくれ。
入れなおしは?
自分も経験した記憶があるけど
なんだったっけ・・・覚えがない
何かの順序だった気がする
XMLパーサとか関連は違ったっけ?
思い出すかもしれないので
エラーの詳細おしえて
ドメインへの参加や降格してませんか?
SP3とかインストールの問題と同じ可能性があるからそっち調べてみたら幸せになれるかも
PS.VB.NETスレに誤爆して恥ずかしかった orz
682 :
675:2011/02/03(木) 21:42:39 ID:???
情報が小出しになってしまって申し訳ない。
SP4をDLしてきて当ててみた。
Product : データベース サービス (MSSQLSERVER)
Product Version (Previous): 4053
Product Version (Final) :
Status : 失敗
Log File : C:\Program Files\略
Error Number : 1402
Error Description : MSP Error: 1402 キーを開くことができませんでした:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Microsoft SQL Server\MSSQL.1\SQLServerAgent。
そのキーへの十分なアクセスがあることを確認するか、またはサポート担当者に問い合わせてください。
とログに吐いてあった。
実際、そのキーを見に行くと値が無い状態。
何が入ってるのが正しいの?
そのエラーを見る限り、レジストリへのアクセス権の問題っぽいけど
ためしにそのキーのアクセス権を変えてみたら?
キーを作成することができませんでした、ならアクセス権かなぁとおもうけどね。
>>684 レジストリのアクセス権って作成や変更だけじゃないぞ
読み取りを禁止するアクセス権もあるからな
>>685 読み取り権限がないとキーが無いように見えるんだ。知らずにすまんことをした
キーは見えるが、値が見えない、だった。重ね重ねすまんことを
688 :
675:2011/02/04(金) 21:22:38 ID:???
よもや管理者でアクセス出来ないキーがあるとは思っていませんでした。
お陰様で・・・
Product : データベース サービス (MSSQLSERVER)
Product Version (Previous): 4053
Product Version (Final) :
Status : 失敗
Log File : C:\Program Files\Microsoft SQL Server\略
Error Number : 29528
Error Description : MSP Error: 29528
パフォーマンス カウンタをインストールしています 中に予期しないエラー
が発生しました。エラー: アクセスが拒否されました。
SP4は要らないんじゃないか?
それホントに管理者権限でインストールしてるのか?
SQL Server2000(winXP) → SQL Server2008(winServ2008x64) へデータ移行しようと思ってます。
初めてなのですが、以下のような手順で合っているでしょうか。
1:Enterprise Managerよりバックアップ取得
2:取得した.bakを2008側の任意箇所へコピー
3:2008側で、同一名のDBの柄だけ先に作成(TableやFileGroup、ユーザー定義系は何も無しでも良い?)
4:DB復元(この時にファイルグループも自動で復元される?)
5:移行先でユーザー作成や不要なユーザーを整理
6:sp_change_users_loginで使用するログインユーザーを再指定
7:dbcc updateusageを実行
8:DBプロパティでオプション互換性レベルを100にする
2008express R2 で作成したデータベースを2008expressに移行するにはどうしたらいいのでしょうか?
692 :
NAME IS NULL:2011/02/10(木) 12:10:57 ID:uRAA0s5t
Visual Studio 2008 Proのデータ接続で、Virtual PCのSQL Server 2008に接続したいのですが、
ホスト(メイン)のPCから、Virtual PC内のSQL Serverが出てきません。
Virtual PCのVisual Studio 2008 Shellで、"(local)\SQLEXPRESS"と手入力で書いて接続すると繋がります。
サーバーの一覧には出てきませんでした。
どうしたら、ホストからVirtual PC内のSQL Serverに繋がるでしょうか?
宜しくお願いします。
(local) ってつながってないだろ・・・。
VirtualPC のネットワーク設定の話だから、スレ違いだな。
VPCがNATの中で動いてるんじゃね
695 :
NAME IS NULL:2011/02/10(木) 13:09:07 ID:uRAA0s5t
まずはHostOS-GuestOS間でpingが届くかどうか。
届いたら、あとはOSのファイアウォール設定かDB接続方法の問題。
ゲストマシンでつながってるのが、(local)\SQLEXPRESSだろ
EXPRESSってちゃんとネットワーク経由でアクセスできる設定にしてあるのか?
Virtual PCとかの話じゃないと思うが
>>696 PINGはホスト側からもゲスト側からも繋がっています。
FWは無効にしております。
>>697 そうです。
SQL構成マネージャーでTCP/IPを有効にしました。
いろいろ弄った結果、SQL Server Browserのサービスがデフォで無効になってるみたいで、
自動にしてサービスを開始させたら、ホスト側からゲスト側のSQLEXPRESSが出てきました。テスト接続も成功しました。
学校でやってるもんで、こんなやり方で繋げたっけ?ってちょっと疑問に思いました。
SQL Server Browserを使わないで、他に繋げる方法ってありますか?
既に解決しましたが、参考に聞きたいです。
宜しくお願いします。
別にSQL Browser使わなくたってつながるけど?
名前付けパイプ使用でリモート接続の場合、
SQL Browser使わないと接続できなかったんじゃ
なかったっけ?
>サーバーの一覧には出てきませんでした
とは書いてるが、つながらないとは書いてないな
まあ、そういうことじゃないかな
702 :
NAME IS NULL:2011/02/11(金) 19:16:23 ID:1Z2QoDyK
bcpってyyyy/MM/ddの形式が読み込めない。
なんで日付形式が指定できないんだよ。
ごめんなさい。できました。
ホストファイルデータ型の意味を完全に逆に勘違いしてました。
>>672 なつかしいバグだな。
俺も5年前にそれでハマったよ。
すみません、質問いいですか?
SQLServer2008R2Standardを会社で買おうかと思っているのですが
ライセンス形態が理解できません。
現状はSQLServer2005ExpressをXP端末にてサーバー代わりに設置。
クライアントは40台程度でADO.netのアプリが非常時接続で動いています。
この場合はサーバーライセンス1CPU分と40数台分のCALを買うことになるのですか?
そうすると29300*40+15300円となるのですか?
プロセッサライセンスを買うのと変わらない金額になるんですかね?
Expressは制限なしなのに製品版はいきなり価格が跳ね上がるんですね。
それともCALは台数分は必要ないのでしょうか。
行うことはExpressでも十分なショボイDB処理ですが
この場合でも製品版を買うメリットって何があるのでしょうか?
私としては復旧やバックアップが簡単になればいいと思っているのですが
その為にこの金額は・・・・でして。
私はDBはド素人でしてアホな質問ですが宜しくお願いいたします。
>>709 すみません。訂正です
×サーバーライセンス1CPU分
○サーバーライセンス1台分
>>711 Windows Server 2008R2も同時に買う予定です。5CAL付きです。
サーバーって複雑で素人には難しいですね・・・
やはりExpressを大人しく使っておこうかな・・・・
でも製品版っていいんでしょうね。きっと
experss で満足しているなら
なにもかわらんと思うぞ
2008R2express ならDBサイズ10Gまで使えるし
レプリケーションとかミラーリングとかしたいなら別だが
express のライセンス条件で接続数の制限ってあったっけか
>>712 既に Express で動いていて、性能的に問題ないなら上位エディションに移行する必要はないと思うよ。
単にバックアップするだけなら、Windows のタスクスケジューラでも使って定期的に BACKUP クエリを実行すれば良いし、
復旧についても、単にログやバックアップから書き戻すだけなら SSMSE でもできたはず。
容量制限にぶつかったり、メモリ・CPU制限でPC買い替えても性能が上がらない、とかなら上位エディションの検討も必要だけど、
まずは評価版でも試してみて、必要な機能と性能が手に入るのか確認した方がいいよ
(あと、Standard の下位に Workgroup Edition てのもあるよ)。
>>713 >>714 みなさんありがとうございました。
暫く2008Expressで勉強してみたいと思います。
ただ、今期でないともう高額ソフト関係は買えないよと上司に言われましたもので・・・
ミラーリングは魅力ですよね。でも自分のスキルで出来るとは思えませんが(笑
またよろしくお願いします。
ミラーリングならハードレベルですればいいんじゃね?
HDDを適度にRAID1とか5とかにすればいいだけ。
どっちにしても定期的なバックアップはいるけどな。
717 :
NAME IS NULL:2011/02/27(日) 00:46:34.31 ID:/q8lqrSS
>>717 その言い方はおかしい
RAID1はディスクのミラーリングだからな
>>716 DBのミラーリングと、ディスクのRAIDやミラーリングは全く違う
何を言いたいのか分からない。
どっちも可用性を上げるためなんだが。
つまりディスクのミラーリングやRAIDならEXPRESSでもできるってことだ
RAID-0なマシン2台でDBミラーが一番いい。
そもそも 40台程度のクライアントが繋がってるマシンなら
RAID ぐらいにはなってると思いたいが...。
まあ、DB ミラーリングの代わりに RAID を薦める
>>716 は、
サーバー自体の障害とか経験したことないような人なのであ
まり構わないようにしたほうがいいかと。
723 :
NAME IS NULL:2011/02/27(日) 09:48:11.35 ID:625cBq0T
>>722 馬鹿かおまえ。頓珍漢なレスして逆ギレかよw
DBミラーリングも witness を独立させるとそこが単一胡椒店になるからな
うまく構成しないと面倒なことになる
>>723 >>722 のどこをどう見たら逆切れに見えるのかよくわからんけど、
まずは、どこが頓珍漢かぐらい指摘したらどうよ。
まあ、まともな指摘が来るとはとても思えないけど。
お前ら全員バカだろ?
2008R2Expressが10Gいけるのか・・・
勉強になった
(~)
. γ´⌒`ヽ
. ___ {i:i:i:i:i:i:i:i:} あたためますか?
|[\_398]|\ ( ´・ω・)
| ̄ ̄ ̄| | (:::::::::::::)
|___l./ ̄ ̄ ̄ ̄ ̄■/| lヽ,,lヽ
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|. | (ω・ ) おながい
| .|. | し i します
|__________|./ しーJ
. ___
|[\1398]|\ (~)
| ̄ ̄ ̄| | γ´⌒`ヽ
|___l./ ̄ ̄ ̄ ̄ ̄■/| {i:i:i:i:i:i:i:i:}lヽ,,lヽ
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|. | ( ´-ω)ω- )
| .|. | (:::::::`つ⊂´ i
|__________|./ し─J.し─J
この情景をSQLで表現したら
with you (warm, price)
as (
select warm, price + 1000
from customer
where said like 'thank you%'
)
insert into hug select * from you;
SqlServer2005のStandardエディションってWindowsXPのHomeにはインストール出来ないですけど、
Windows7のHome Premiumにはインストールできるんでしょうか?
どなたかご存知なら教えて下さい。
インストールできたとしても、クライアントOSをサーバーとして使うのはNGだったような。
Developper と Express 以外は無理だったはず
736 :
NAME IS NULL:2011/03/08(火) 14:32:16.98 ID:iP4MoVM9
外部からのODBC接続を許可したいのですが、
いくつかのアカウントがID=パスワードというBADなものなので、
特定のアカウントだけ外部接続を許可したいです。
どこで設定すればいいんでしょうか?
Analysis Servicesについて確認したいことがあります。
作成したキューブのデータを参照した場合、
内部的にはキューブ作成時にデータソースに指定したデータベースを参照している(キューブ自体にデータはいない)
という認識で合っていますか?
パスワードのポリシー設定とかできないのかな
740 :
NAME IS NULL:2011/03/09(水) 00:31:22.96 ID:1mfyiYSh
>>737 両方できるはず。
データを持たせることもできるし、ビューみたいに使うこともできる。
>>740 両方できるのですね。ありがとうございます。
>データを持たせることもできるし、ビューみたいに使うこともできる。
どこか設定するところがあるのでしょうか?
サンプルDBのAdventure Worksでキューブを作成しましたが、そのような設定はなかった気がします…
742 :
NAME IS NULL:2011/03/14(月) 22:16:00.13 ID:KSK9ouKI
テキストデータを取り込んだ
グローバル一時テーブルからbcpを利用して
テーブルにデータを取り込むことは可能なのでしょうか?
その場合の書式なども教えていただきたいです。
よろしくおねがいします。
無理。
744 :
NAME IS NULL:2011/03/14(月) 23:11:43.41 ID:KSK9ouKI
無理ですか。。。
そうですか。
違う方法で明日またチャレンジします。
>743
bcpは、テーブルからファイル、ファイルからテーブルにデータを移すときに使う奴。
いったんテーブルにデータが突っ込んであるなら、普通にSQLでやればいい。
素人質問で申し訳ないんだけど、負荷・速度を考えたときどっちの条件指定のほうがいいかな?
joinは使ってないけど、レコードが数十万あるテーブルの場合
[末尾判断をしたい]
A:
where ○○ like '%00' or ○○ like '%10' or ○○ like '%20' or ○○ like '%30' or
○○ like '%40' or ○○ like '%50'
B:
where ○○ like '_____________00' or ○○ like '_____________10' or ○○ like '_____________20' or
○○ like '_____________30' or ○○ like '_____________40' or ○○ like '_____________50'
※「 _ 」は13個固定
文字列をリバースした column をもう一つつくって
インデックスつけて前方一致検索
知らね。せっかくツールがあるんだから、実行計画見て確認しろよ。
ごめん、本当に素人なんだ…
>>747 System Center Configuration Manager 2007 R3 ってMS製品が自動で作る
テーブルに対してクエリしなきゃならないのだけど、テーブル拡張すると
サポート対象外になるんだ
>>748 実行計画ってなんのことでしょうか…
だったら一度別DBにデータコピーすればよい
ありがとう、試してみます
数十万ってことは100万はないってことか?
テーブルいじれないってことはインデックス追加もできないんだろ
どっちでも大差無い気がするぜ
754 :
NAME IS NULL:2011/03/23(水) 02:01:16.31 ID:tEHsIovK
SQL Server2005 Express で、通常
クライアントで入力→サーバーにINSERT
としている処理を
サーバーダウンしている間だけ
サーバーダウン→ノートPCで入力(バッテリ駆動)→サーバー復帰→サーバーにINSERT
とする良い方法はないでしょうか?
計画停電の影響です
SQL Server の機能で実現できれば良いのですが Express では無理ですかね
いまはアプリ側に独自処理を実装する方法を検討中です
>>754 ようわからんけど、
ノートPCに SQL Server2005 Express をインストールして ノートPCに
データ保存すればいいでないかい?
後の話は、サーバー復旧してから考えろ。
入力するのにリアルタイムでサーバ参照する必要があるなら難しいだろうけど
>>755 レスありがとうございます
おっしゃる通り、ノートPCで SQL Server2005 Express をローカルDBとして持つ予定です
またマスター系もローカルDBに持つ予定なので都度サーバー参照は行いません
1〜2回の限定的な停電であれば、提案して頂いた運用で良いんですが
計画停電が続く間、週に数回この運用を行わなければならないので悩んでいます
ニュースでは最低でも今夏は計画停電が行われるとの事で、数ヶ月は想定しています
当初、追加データのみをXMLで記録、復帰後サーバーにインサートする予定でしたが
最終的に、トリガーで追加・変更行を記録、復帰後に記録データでサーバー更新
という処理にしました
EXPRESSでも、ミラーリングが使えれば良かったんですけどね
EXPRESSでもレプリケーションの子にはなれたと思う
まあ親としてEXPRESSじゃないSQL SERVERいるけど
レプリケーションも Standard 以上だと思ってたら Workgroup 以上で使えたんですね
3年後のXP終了バージョンアップの時は DB を Workgroup 以上にしておきます
Workgroup のライセンス料なら顧客にも納得してもらえると思います
さすがに3年後は計画停電は解消していると思いますが…今回の様に何が起こるか分かりませんからね
トランザクションを張らずにinsertを1000回するのと、
トランザクションを張って1000回insertしてからcommitするのと
どっちが速いですか?
やってみれ。
結構差があるんですね。
763 :
NAME IS NULL:2011/03/29(火) 00:02:33.94 ID:MUdYkG4X
>>762 どうだった?
1000回やってからコミットしたほうが速いんですよね?
DB板で聞いてみれば?
>>763 わんくまの誰かが実行速度試してたけど個々にcommitするより一気にするほうが速かったよ。
当たり前だろ。
じゃあ答えてやれよw
そうか。それには気づかなかった。
トランザクションログが磁気テープにある場合はその限りではない
それでも同じじゃない?
771 :
NAME IS NULL:2011/03/30(水) 07:29:23.27 ID:8JKcxO+l
ネタだろ普通に
バックアップはまだ磁気テープ使ってるだろ。
774 :
NAME IS NULL:2011/03/30(水) 11:59:15.31 ID:xLdSoiyB
助けてください!
SQL Server 2000 を利用しているのですが、データベースが壊れたのか、
Enterprise Manager で見ると、データベース名の所が、灰色になり"(未確認)"と
なってしまいました。
中身を見ると"(アイテム無し)"と表示されます。
復旧を試みようと思うのですがデタッチからうまく行かず、既存のデータベース情報も
削除できない状況です。
デタッチをしてみようと思っても、以下メッセージが出て出来ません。
> タイトル:Microsoft SQL-DMO (ODBC SQLState: 42000)
> エラー 15010: データベース 'DB名' は存在しません。sp_helpdb を使用して、
> 使用できるデータベースを表示してください。
削除しようとすると以下のメッセージが出てきます。
> タイトル:Microsoft SQL-DMO (ODBC SQLState: 42S02)
> エラー 3701: データベース 'DB名' がシステム カタログに存在しないので、
> 削除 できません。
復旧する手立てを教えてもらえたらと思います。
775 :
774:2011/03/30(水) 18:47:06.57 ID:???
何度か、SQL Serverのサービスを再起動させたり、Enterprise Managerを停止、接続を繰り返したりをしているうちに
該当のDBが削除されました。
(削除されたというより消えた?)
その後は、アタッチする事が出来る様になりましたので、そのまま復旧です。
やー、焦った。。
つまんね
なにこいつ
いまだ!777ヌルヌルマンコォォォォ!!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
⊂(゚ー゚*)≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
ジャリジャリしてそうな音がしているが、大丈夫か?
780 :
709:2011/04/06(水) 19:02:01.52 ID:???
以前お世話になった>>709です。
その節はありがとうございました。
そこで新たにくだらない質問ですがいいでしょうか。
SQLServer2005Expressを立てたXP端末(以前お話した例のヤツです)のDBを
今回買ったWindowsServer2008R2のSQLServer2008Expressにコピーしたいのですが上手くいきません。
ネットワーク上でXP端末の2005のインスタンスを見つけ、そこからウィザードでインポートしたのですが
ビューがテーブルの所に入ってきてしまったり、列の型が勝手に変わってキャストエラーが出たりで
わけが判りません。
XPのDBをデタッチしてmdfをコピー。その後WindowsServer2008にアタッチするのが正規の方法なのでしょうか?
今、XPのDBは稼働中なのでデタッチは出来る限りしたくありません。
どなたかいい案かサイトをご存知でしたらご教示願います。
781 :
NAME IS NULL:2011/04/06(水) 19:25:32.93 ID:vjm8sWD5
>>780 Expressでバックアップとって、2008で復元とかではダメですか。
>>781 拡張子.bakファイルですよね?
それもやってはみたのですが上手くいかなくて・・・とういかどうやったらいいのか解りません。
よかったら教えていただけませんか?
mdfファイルとldfファイルをコピペしてアタッチするだけでできないか?
>>783 mdfファイルってデタッチしないとコピーできませんよね?
というか私は出来ませんでした・・・
785 :
NAME IS NULL:2011/04/06(水) 20:02:11.01 ID:vjm8sWD5
サービスも止めれないのにExpressで運用してて、
しかも止めずに移行したいっていうのか。
>>785 ありがとうございます!参考にします。
>>786 やっぱり
> XPのDBをデタッチしてmdfをコピー。その後WindowsServer2008にアタッチするのが正規の方法なのでしょうか?
が正規なのでしょうか。
> サービスも止めれないのにExpressで運用して
。。。すみません。自分用に作ったDBがいつの間にか基幹になるほど肥大してしまいまして。。。
素人が調子に乗った結果です。。
788 :
780:2011/04/07(木) 20:00:48.20 ID:???
本日.bakファイルにて復元しました所、成功しました!!
みなさんありがとうございました。
そこでもう一つくだらない質問ですが2008ExpressのDBサイズ10G縛りですが
これって.mdfファイルの大きさが10Gまでという認識で間違っていませんか?
お願いします。
10GBって相当でかいよな。ふつうに。
そのデータが飛んだときのことを考えると、Expressでやってて良いのかどうか。
みなさんTimeが立って使います?
使う場合どんな使い道ですか?
うぉぉ・・・誤字
time型て使います?
使う場合どんな使い道ですか?
今一歩使い道が見えません・・・
時間を条件に抽出したいが、キャストするコストが惜しい場合とか?でもインデックス張ればよさそうだし。
datetimeかdatetime2でいいんじゃない?
>>789 データの堅牢性に、SQLのバージョン関係ないだろw
大いに関係あるだろ
エンジンは変わらないんじゃないのか?
何か機能制限はされているのかも知れないが。
運用ツール側の制限の方が関係ありそう。
エンジンは一緒だから堅牢性は問題ないけど
> そのデータが飛んだときのことを考えると、Expressでやってて良いのかどうか。
これは運用面でExpressが心配って事でしょ
そりゃエディションによってデータが飛びやすいとかは無いよ
つ 復旧モデル
compactスレってないのな
需要ほとんどなさそうだけど
799 :
NAME IS NULL:2011/04/15(金) 02:16:04.97 ID:auwxOD0d
>>798 ユーザーがどれくらいいるのかね
用途的にWinユーザーはmdb慣れてるし
他OSユーザーはSQLite使うし
SSMSEのインストール極悪だし
今のバージョンはVisualStudioのIDEで扱うもんだと思う
ネットワーク経由で繋げたらMDB余裕で捨てるわ
昔開発していたけど、今は使う側。
SQL-ServerをDBとするVBの社内アプリで、ログイン時にID,PASS入れるんだけど
既にsaのパスワードが割れている場合、セキュリティもクソもないよな?
sa無効にしてしまうとか
社内クラサバ系は基本Windows認証だよね?
saなら何でもできちゃうからねぇ。
うちは一つのパソコンを数人で使いまわすとこもあるのでSQLServer認証。
DBのログも全部保管して、誰がいつログインしてどんなクエリを投げたか
わかるようにしてる。
そもそもなぜsaのパスワードばれたし。さっさとパスワード変えろ
たしって何やねん
807 :
NAME IS NULL:2011/04/22(金) 20:24:15.02 ID:vSCe3VDi
SQL Server2000でのインデックス管理についてです。
インデックス管理で新規追加する時に、インデックを付けるフィールドにチェックを付けると思いますが、
こちら、各フィールド毎に新規作成するのと、纏めてチェックするのでは違いがあるのでしょうか?
違いがある場合、それはどのような意味合いになるのでしょうか?
おまえは何を言ってるんだ
810 :
NAME IS NULL:2011/04/25(月) 12:40:41.63 ID:3QaeGquW
どなたか教えてください。
SQLSERVER2000 の インポートおよびエクスポート ウィザード
にあった SQL SERVER データベース間の オブジェクトのコピー
というのが、最近始めた SQLServer2008R2 のそれには
なくなってしまっているようです。
単純に、同SQLSERVER内で、主キーも含めたテーブル
またはストアドなど、オブジェクトの全コピーを
行いたいのですが、どのようにすれば良いのでしょうか?
宜しくお願いします。
811 :
NAME IS NULL:2011/04/25(月) 19:22:57.45 ID:0NF4ycIs
>>810 スクリプトの作成・・・みたいなところからCREATE文作成ではだめでしょうか?
質問です。
Accessのリレーションシップにおける「参照整合性」、「フィールドの連鎖更新」などの項目が
SQLServer2008 Management Studio上ではないように思えるのですが設定箇所が別にあるのでしょうか?
質問です。
非sysadminユーザにて、xp_cmdshellを実行させたいのですが、うまくいきません
何かアドバイス頂けないでしょうか
やったこと
-------------------------------------------------------------------------
--xp_cmdshellの有効化
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO
--※この時点でsysadminユーザがxp_cmdshellを実行できることを確認しました。
--確認クエリ exec xp_cmdshell 'whoami'
--publicへxp_cmdshellの実行権限を追加
use [master]
grant EXECUTE ON xp_cmdshell to public
--sp_xp_cmdshell_proxy_accountを実行
exec sp_xp_cmdshell_proxy_account 'client-pc\DB_PROXY_USER' , 'TEST'
--------------------------------------------------------------------------
ここまでのコマンドで、WindowsVistaではsysadmin以外のユーザでも
xp_cmdshellが使用できるようになったのですが、Windows7ではうまくいきません。。。
現象としては、
クエリ「exec xp_cmdshell 'whoami'」を発行すると、応答が帰ってこない、
実行の取り消しボタンを押しても無反応、タブから「閉じる」を行い、強制的に停止させないと
いつまでも実行中の状態になる。
です。
Vista(sa、非sa両方)では、すぐに結果が帰り、win7(sa)でもすぐに結果が帰ります。
しかし、win7(非sa)では実行中の状態がいつまでも続きます。
Vistaで問題なく動作し、7で応答が帰ってこないというのには何か理由があるのでしょうか?
よろしくお願いします
815 :
NAME IS NULL:2011/04/27(水) 07:24:49.82 ID:4h/fk8k0
>>813 Management Studioがわるいのか切り分けのためにコマンドから実行して問題が発生するかどうか試してはどうでしょうか。
sqlcmdコマンドです。
816 :
813:2011/04/27(水) 16:25:52.01 ID:LuVFZ08f
>>815 返答ありがとうございます
つい先程sqlcmdからの動作確認を行いました
携帯からなので簡潔に報告しますが
結果はsaユーザは問題なくクエリを実行出来、リダイレクト先に結果が格納されました
非saユーザは実行中の状態で応答が帰って来ず、マネジメントスタジオと同じ結果となりました
よって、マネジメントスタジオの障害ではなさそうです
他にも何かアドバイス等ありましたらよろしくお願いします
追記
書き忘れていましたがsqlserverは2008R2です
817 :
NAME IS NULL:2011/04/27(水) 17:20:37.76 ID:4/8QBVdB
教えてくだされ。
SQL Server 2005 (x86)を動かしてたPCがお亡くなりになってしまいました。
HDDは生きていたのでMDFとLDFはコピーできましたが、新しいPCに入れる
SQL Serverのバージョンを迷ってます。
SQL Server 2008でも復元できますか?
SQL Server 2005(x64)でも可能ですかね?
>>817 2005のデータを2008で復元したことはある。
R2とかx64は知らんけど、2005同士でできない理由は無いと思う。
>>816 とりあえず
DB_PROXY_USERでログインしてコマンドプロンプトから該当のコマンド実行する
UAC切ってAdministratorで実行する
とか試してみたら
>>817 2000(32bit) のデータを 2008R2(64bit)にアタッチで復元
できたので出来ないとおかしい
>>819 返信ありがとうございます
>>DB_PROXY_USERでログインしてコマンドプロンプトから該当のコマンド実行する
こちらについては実施済みで、DOSからのコマンド[whoami]は問題なく実行されました
同時に、DB_PROXY_USERでログイン中に、Management Studioからxp_cmdshellの実行も試しましたが、
現象は改善されませんでした。
なお、UACを切り、DB_PROXY_USERの所属グループにAdministratorを追加しても同様に駄目でした。
他に確認事項などありませんでしょうか
|| sysadmin 固定サーバー ロールのメンバー以外のユーザーが xp_cmdshell を呼び出した場合は、
|| ##xp_cmdshell_proxy_account## という資格情報に格納されているアカウント名とパスワードによって、
|| Windows への接続が行われます。このプロキシ資格情報が存在しない場合、xp_cmdshell は失敗します。
この辺の話かなぁ。とりあえず、whoami以外のコマンドではどうなるのか、とか試してみた?
823 :
813:2011/04/28(木) 00:52:45.23 ID:???
>>822 はい、「whoami」「dir」「hostname」「echo test」のコマンドを試しましたが、どれも同じ反応(win7@非saでは応答が帰ってこない)でした。
vistaでは問題なく実行できたということは、
win7ではプロキシ資格情報を取得する際に何か弊害があるのかもしれませんね。
なかなか情報を見つけられずに苦戦しております。
ちなみに−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
「exec sp_xp_cmdshell_proxy_account NULL」を実行して権限を削除すると、
「xp_cmdshell プロキシ アカウント情報を取得できないか、または無効です。
'##xp_cmdshell_proxy_account##' 資格情報が存在していること、
および有効な情報が含まれていることを確認してください。」
とエラーメッセージがすぐに帰ってきます。
notepadのようなGUIを持ったアプリケーションを起動すると、同じような現象が発生するようですが、
こちらはGUIではなく、CUIのコマンドのため、関係性は薄そうです。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
なかなか答えにたどり着けない・・・
うーん。なんだろね?
そもそも、SQL Server認証で使うべきもんじゃなさげ、って言ってしまうと身も蓋もないけど。
825 :
817:2011/04/28(木) 01:07:39.75 ID:???
>>818 >>820 返事が遅くなってすまんです。
2008でも復元できるなら、新しい方が良いのかな。
とりあえず2008を入れてやってみます。
ありがとうございました。
2000に比べて2008(R2)の外部結合が異常に遅いのですが、パッチで直るなどの話題はないでしょうか?
>>826 前提も無ければ異常ってのがどの程度の話なのかもわからんので答えの出しようがありませんが、
単純に同じハードウェア上で動かした場合、2000よりも2008の方が重いのは確かです。
やったことありますが、できましたよ
>>814 レス遅くなり申し訳ありません。
探してみたのですがやはり見つかりません
現状起きている問題が
親テーブルでレコードが追加された場合、子テーブルにも親と同一キーのレコードを追加するという流れなのですが、
MDB→MDBで動作していたのが、MDB→SQLServerに移行してから動かない状態です。
>>823 資格情報の取得に失敗してるんじゃなくて、コマンドの実行で
なんらかのエラーか待ち状態になってるんじゃないかと思うんだが
このパターンで多いのはUACなんだが切ってもだめだったんだよな
>DB_PROXY_USERの所属グループにAdministratorを追加しても
Administratorsグループに該当ユーザを入れたんだよな?
バッチジョブとしてログオンする権限ないとはねられたりするけど
Administratorsなら普通は許可されてるはずだが
直接は関係ないけど、xpで動かしてたアプリをwin7に移植したときに
特定のapi呼び出しで反応が返ってこない時があった。
それもUACが原因だった。エラーを返さず、処理も返さない、最悪の仕様だ。
移植失敗してるじゃん
833 :
NAME IS NULL:2011/04/28(木) 20:32:11.36 ID:ksHYGoyV
>>823 うちの環境(Windows7 64ビット Express2008 UAC無効)で試した
まずsp_xp_cmdshell_proxy_accountが失敗する。原因不明
そこで
create credential で 直接 ##xp_cmdshell_proxy_account## を作成
その状態でexec xp_cmdshell 'whoami'を実行
エラー コード '1385' で失敗しました。とすぐにエラーが帰る
該当OSユーザをAdministratorsに追加すると成功する
エラー出さないのはやっぱりコマンドが待ち状態なんじゃね
カラム名の命名規則ってどうするのが一般的なのかね。
毎回悩んでハゲそう。
昔からの癖で
・英数半角8文字以内
・先頭1文字でカラム型
・続く3文字でTABLE名略称
・残った4文字(あるいは3文字+連番)で項目名
でやってるが困ったことは一度もない(キリッ
正直命名規則よりER図なり項目表なりを如何にメンテするかが重要だと思われ。
>>830 >>833 返信ありがとうございます
こちらではsp_xp_cmdshell_proxy_accountは問題なく実行できます
Expressのバグでしょうか
皆様からご意見を頂きましたが、どうにも解決できそうな気がしないです。
今日、上司に相談し、MSに質問メールを投げることに決定しました。
(とはいえ、私自身は異動ですが・・・)
ご意見ありがとうございました。
>>835 >残った4文字(あるいは3文字+連番)で項目名
コボラー発見!!
日本語カラム名にして、ダイヤグラム作っとけばER図も項目表もメンテしなくていいのに
>>838 日本語
SQLが打ちにくい、英数が出て来たとき全角は結構違和感ある
前「名称_1」みたいに全半混在なやつをメンテしたときは面倒臭かった
コボルまで行かなくてもシステムごとに通用する1?4文字程度の略語を使って
項目名の長さを揃えるのが一番楽な気がする
>>827 2000は32bit、2008R2は64bitで別マシンですが、WHEREや内部結合は2008R2の方が微妙に速い程度のスペック差です。
なのに、外部結合だけ2倍ぐらい時間かかるようです。
>>838 賛成。
英名でもタイピングミス怖いのでコピペするし、そもそもExcelのブロックコピペ駆使して高速大量コーディングするし、
タイピングのし易さ関係ないです。
それより、数百や数千項目の英名考えるのに何日かかるんですかとか、
「英名和名対応表」なる大量資料作って、本当に必要なI/O定義が一切ない業者がいたりするのが気になります。
「英名和名対応表」の分、工数的にもスキル的にも欧米より損してるんじゃないですかと。
システム的なフィールドは英数字
それ以外は漢字( ×入り数 ○入数 のようにカナは外して)
このあたりは項目名の文字コードではまった経験があるかどうかで意見分かれるなw
なるほど、参考になるわ。
昔、Accessのカラム名やVBの変数名が日本語になってるのを見て、
「文字コード気にしないの?怖すぎる!」って言ったら、
同僚の反応は「いつの時代の話だよ?今は全然問題ないっす」だった。
項目名の2バイトでは苦しんだことはないが、格納データの2バイトでは相当苦めらるた。
長音が数字として扱われたり、並び替えが仕様とは違っていたり。
SQL Serverで項目名の文字コードではまったやつなんているのか?
いたら具体例を聞いてみたい
わしももう日本語にしてる。2008だけど。だって扱う業務の対象が日本語なんだもん。
ルールはアスキー文字は全て半角にすること。JIS第一第二水準文字だけ使うこと。
あと2000のころは日本語フィールドはVisualStudioで自動コード生成したら、
ぐちゃぐちゃだった。
>>846 項目名で全角のスラッシュを見たことある。トラップすぎる
Oracleから来ると
SQL Serverはソート順とか大文字小文字同一視とかではまることが多い
MSの日本ローカライズ担当がアホなだけですよ。
そういうことじゃないだろ・・・
世界中阿保ばっかりだわっ!
テーブル名にピリオドとかスラッシュとか使われててビックリしのは良い思い出
ngいまくってるケースは見たなあ
854 :
675:2011/05/09(月) 08:10:22.98 ID:???
全角半角スペースが混じってる時は殺意を覚えたw
どこの675だよw
READPAST の動作を確認するために
別プロセスでトランザクションを開始し、適当な行を1行更新かけた状態で
Commit も Rollback もせずに放置させて
select count(*) from [テーブル] with (nolock)
select count(*) from [テーブル] with (readpast)
この差がロックされた行だと思いました。
nolock のほうは即座に行数が出てくるのですが、
readpast を書いた側がタイムアウトしちゃいます。
なんででしょ
ロック行を読み飛ばすんじゃなかったでしたっけ?
ちなみに
select * from [テーブル] with (readpast) where [更新かけた行を特定する条件]
は即座に戻ってきます。(0レコードで)
READ COMMITTED では、なぜだかタイムアウト
REPEATABLE READ だと成功
READPAST は READ COMMITTED でも効くはずでしたよね・・・?
少なくともうちの 2008 Developer Edition では期待通り動いてる
SQLSERVERは仕様として明記されてないロック動作が多いからなぁ。
862 :
NAME IS NULL:2011/05/24(火) 22:32:24.37 ID:1fhwQ9aF
sql server 2008 express r2 ですが
現在のシーケンス番号って取得できないの?
postgresqlでいうcurrvalのようになんだけど。
863 :
NAME IS NULL:2011/05/24(火) 22:40:49.23 ID:9dtiO0L7
MAXじゃだめなの?
SELECT MAX(NO) FROM TABLEとか
IDENT_CURRENT
866 :
862:2011/05/25(水) 22:07:07.31 ID:???
インストール先の環境は極秘事項?
圧縮するな
>>867 リンク先の
>詳細な技術情報については、MSDN ブログの
>「SQL Server 2005 と 2008 セットアップ エラー (圧縮された DATA ディレクトリ)」
>を参照してください。
を見ましたか?
トランザクション処理が施されたストアドを VB.NET から呼び出して使いたいのですが、
VB.NET でもトランザクション張ってるため、ストアドの中で ROLLBACK するとエラーになってしまいます。
http://techbank.jp/Community/blogs/poohkid/archive/2009/12/09/23075.aspx を参考にしようと思いましたが
ストアド側でトランザクションがネストされていたときは、ROLLBACK したいときでもストアド的には COMMIT にして
外側(VB.NET)で ROLLBACK かける、という風に解釈しました。
SqlTran = SqlConn.BeginTransaction
SqlCommand1.Transaction = SqlTran
SqlCommand1.ExecuteNonQuery
SqlCommand2.Transaction = SqlTran
SqlCommand2.ExecuteNonQuery
SqlCommand3.Transaction = SqlTran
SqlCommand3.ExecuteNonQuery
SqlTran.Commit / SqlTran.Rollback
という風なのだろうと思いますが、これだと、SqlCommand1〜3 すべてがワンセットのトランザクションになってしまいます。
SqlCommand2 で実行されるストアドの中で Rollback したいことが発生した場合に
SqlCommand1 と SqlCommand3 の分だけはコミット、ってことができないように思いますが
私の理解が間違えてますでしょうか?
SqlCommand1-3が同一のトランザクションでセーブポイントもないのに
そのうちの一部だけコミットとかロールバックとかあり得ない
質問です。
下記のようなエラーが出てDBにアクセスできません。
System.Web.HttpException: SQL Server データベースに接続できません。
---> System.Data.SqlClient.SqlException:
サーバーへの接続を確立しているときにエラーが発生しました。
SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、
SQL Server の既定の設定がリモート接続を許可しないようになっていることが
エラーの原因である可能性があります。
VisualStudioのサーバーエクスプローラーからはDBの中身が見れるのですが
プログラムからSqlConnectionなどでつなげようとするとまったくDBにつながりません
色々検索して調べてリモート接続を有効にしたりポート1433がどうとかまで設定してみたりしたのですが
まったく繋がる気配はありません
なにかこれをやれば・・・的なチェック項目とかないでしょうか?
プログラムで使ってる接続文字列はソリューションエクスプローラーでDBを選択したときに
プロパティ画面に表示されるものを使用しています。
>>873 > System.Web.HttpException: SQL Server データベースに接続できません。
そのままググっただけでも何十件もの情報がでてくる。
どれに当てはまるかは、あなたしだい。
>>874 全部ダメでしたってのが今の状態なわけですw
じゃ。無理。あきらめろ。
>>876 マジでそんな選択しかないのですか?w
せめて、現在の状態(あと、何をやる必要がある等)を確認する手段などないのでしょうか?
リモートかどうか、プロトコルは何を使ってるか、そんなのも書かないやつに
アドバイスのしようもない。
やりたいことはSqlConnection関数使ってデータベースにつなげたいだけなんですよ
入門書にのってるサンプルプログラムを打って動作させたいとかそんなレベルです
できればぶっちゃけなんでもいいんです。
会社ではSqlServer2008Express
家ではSqlServer2005Express
をダウンロードしてきたのですがまったく同じエラーがでます
別にどっかのPCにつなげているわけではなくて1つのPCで作業をしてる状態です
リモートとかプロトコルって設定の話でしょうか?
それともなにか別に確認する項目はあるのでしょうか?
なんかあまりにも複雑で本当に入門書やるのにこの設定が必要なのか?って感じでビビってるんですが・・・
ちなみにVSは会社では2005、家では2010を使っています
いやさ、その入門書で作ったクライアントプログラムがTCP:1433で接続しに来てるのか
どうかくらいはわかっててくれよ。あと入門書の手順何かすっ飛ばしてないか?
あと「全部ダメでした」じゃこっちに状況全く伝わらん。何をして、どうダメだったのか。
localhost1台で構築してるって話も今ようやく出てきたわけでな。洗いざらい吐け。
わからんなら出し惜しみするな。必要な情報かどうかはこっちが判断する話だ。
それ以前に「プログラム」って具体的に何よ。
VC? C#? VB?
ググってでてきたことを全部試してダメだったんだから、根本的なところを疑わないとだめなんじゃない?
SQLServerに見せかけた別のソフト、、があるならググってでてきそうだから、
もしかしたら見ているgoogleが別なのかもしれない
Newしてないとか、プログラムのかなり根本的なレベルじゃね?
>>873 問題を切り分けろ。
単純にvbsでoledbとかで接続を試してみろ。コードにして数行だ。
それでokなら、お前のプログラムミスだ。
単に接続文字列が間違ってるだけな気がするが
とりあえずその入門書のタイトルと
お前が作ったプログラムのソース全部さらせ
>プログラムで使ってる接続文字列はソリューションエクスプローラーでDBを選択したときに
>プロパティ画面に表示されるものを使用しています。
そのままコピペしたらだめだったはず。
(^ω^)⊃
_,,..,,,,_⊂ミ⊃ ) プルルン
./ ,' 3 `∩ηっ
l ⊃ ⌒_つ
`'ー---‐'''''
/⌒ヽ
( 人 )
| | ボゥッ!!!!!!
| ノ(|
|.⌒| (^ω^;)
_,,..,,,_| | (つ ⊂)
/ ,' 3 | |ーっ
l ⊃ ⌒_つ
`'ー---‐'''''"
スイマセン、ヒントください
Windows 2008 Server R2/SQL Server 2008の環境で、DTSをコマンド実行してます。
処理自体は動いているのですが、開始・終了がイベントビューアに表示されません。
2003 server
2003なのか2008なのか
そもそも、イベントビューアに記録されるんだっけ?
OS 2003 Server
アンド 記号を入れると、それ以下が来れるんですね^^;
2003 ServerとSQL 2005の組み合わせでは、イベントビューアに表示されています
ユーザー定義型を戻り値とするユーザー定義関数って作れないんでしょうか
create function の書き方がよく分かりません。。
あともうひとつ、
ユーザー定義型を引数で受け取るユーザー定義関数を作ったのですけど、
そのユーザー定義関数を呼び出す際に、Empty(行数ゼロ) を渡したいのですが、何かいい方法ないですか。
そのユーザー定義型を declare で変数つくって呼ぶしかないですか?
ユーザー定義型を引数とするユーザー定義関数をビューの中から呼び出したいのですけど
897 :
NAME IS NULL:2011/06/03(金) 12:30:06.18 ID:HTJtVMpG
SQLは金出して買うもんじゃないし
まあ宣伝乙にマジレスすると、ネットで探したKeygeneratorで生成したプロダクトキー送ってくるだけでしょ。
ぼろ儲けっすねw
SQLでキーなんて入れたっけ?
>>899 マジレスするのもなんだけど、MSDNのキー売ってるんじゃないの?
これは通報したら相当な賠償金が発生するなw
blogなくなってんね。
あっさりばれたから?
魚拓とったから、暇な時にMSに送っておく
907 :
905:2011/06/05(日) 09:32:36.55 ID:???
やっぱりめんどくさいから止めた
代わりに俺が送っておく
911 :
NAME IS NULL:2011/06/05(日) 23:45:52.44 ID:J7j3ey3A
.net側からSqlCommandを使ってSQL文実行させたいのですが"GO"が入ってると怒られます。
USE db名 Go
の1文でもダメなのですが原因わかる方いらっしゃいますか?
go はSQLじゃないから。
ヒロミだね
Transact SQLだからダメって事なのかな…。
業務で使ってる SQL Server で SSD 使ってる人いますか?
データベースミラーリング(別筐体でミラーリングするあれ)を施した上で運用する前提です。
書き込み上限に達して、SSD があぼーんしたとても
別筐体の SQL Server が業務を引き継いでくれれば構いません。
前提)
・SSDは消耗品と割り切る
・フェールオーバーに伴うセッション断は許容する
データベースサイズが 20GB ほどのデータベース規模のところに適用させたいと思ってます。
どんな具合でしょ?
trim対応のSSDと2008R2なら特に問題を感じない、という話は聞いた。
でもDBのファイルスペースの配置とかでコツがあるみたい。教えてくれなかったけど。
みんな、そこまでシビアにチューニングすんのか。
脱帽。
今、ASP(CLASSIC)+VBS+ADO+SQL2000のシステム担当してるが
SQL2000以上でもADO使えるの?
>>919 2008にExcel2003から繋いでるよ
>>922 ADO OLEDBだけどODBCでもいけると思うよ
>>923 サンクス。時間できたら評価版拾って試してみる
ただ、評価版インストするPCがないんだよなぁ・・・
さすがにSQL2000入ってる本番サーバーへのインストは無理だし
なにその後半のぼやき
どうしたらいいか知りたいわけでもなさそうだからがんばってね
サーバーにインストールする必要なんてないけどな。
SQLってQRACLE理解できないバカが仕方なしに使うDBだよね?
両方使ってみてSQLがいかに糞かがよ〜くわかったwww
よくわかんないけど、SQLが糞なら使わなきゃいいんじゃない?
>>927 SQLって略す馬鹿も同レベルだろw
まあ、MSが悪いんだが。
LAMP>>>>>>>>>>>>>>>WISA
LinuxでもMicrosoftのSQL Serverって動くのけ?
933 :
NAME IS NULL:2011/06/20(月) 17:14:48.74 ID:RhnGwl8S
どなたか教えてください。
SQLServer 2008 をつかっています。
今までXpだと問題なく使えていましたが
Windows7 XpモードとWindows2003ですと
クラスはオートメーションまたは予測したインターフェースをサポートしていません。というエラーが
でます。
MDACかなとおもいますが確信がもてません。
頑張ってください。
陰ながら応援しております。
>>933 サーバーの話? クライアントの話?
「使えていた」って何の話?
MDACって思った理由は?
>>933 釣られてみる
MDACっていっておられるので、クライアント側からサーバーに繋がらないという
現象に見える。
基本 Windows7 も Windows2003 SQL Server につながる MDACは入っていたので、
XP で参照設定していた ADOもしくはDAO の一致するバージョンが Windows7 と Windows2003
に入ってなかったりして.
ぜんぜん違う。COMのエラーが出てるんだから、使ってるコンポーネントが
インストールされてるか確認。
せめて、コードくらい晒せよ。
938 :
NAME IS NULL:2011/06/21(火) 16:16:43.56 ID:NZSpDwiB
933です。
Windows7 XPモードとwindowsXPではインストールしているTOOLは同一。
もともと、vb6でSQLServerをRDOを使っていたプログラムです。
なお、dbを検索した結果のレコードセットが一件のときは発生しません。
参照設定も同一ですので・・・違いはMDAC程度です。なお、Windows2003でも
同様のエラーが出ています。
MDACかたっぱしから入れてみ?
>>938 1. rdOpenForwardOnly だったら rdOpenKeySet に変えてみる
2. ADOに変えてみる
RDOのランタイムはちゃんと配布してんの?
どのみち、RDOは現在非サポートだからどうしようもないけど。
SQL2005鯖の更新を検討中なんです。
2008R2の新機能を使う予定はなく、単にリプレースとなりますが
同じマシンスペックのサーバーに入れた場合、どっちの方が速く動作すると思われますか?
SQL2005 はプロセッサライセンスで買ってるおり
速度の面で効果が見込まなければ 2008R2 のライセンスに100万近く投じる価値なしということで
引き続き SQL2005 を使い続ける予定です。
OS は 2008R2 に上げる予定ですが。
944 :
NAME IS NULL:2011/06/22(水) 13:04:04.73 ID:cMP/kGwo
933です。
dOpenKeySetを使っています。
RDOのランタイムは開発TOOL入れてますんで入っています。
ADOは、
10年ほど前のお客さんの環境もおんなじなんで、何かにかこつけて
作りましょうよ・・・で予算をもらいますわ。
Window2008+SQL2005(互換レベル2k)+XP+vb6です。
2005ならあと3年は持たせろ
946 :
945:2011/06/22(水) 15:08:20.41 ID:???
947 :
NAME IS NULL:2011/06/22(水) 23:15:21.27 ID:IfODt5wb
>>942 圧縮機能で速くなるかもしれないが、CPUを結構使う。
データ次第
a
レン鯖でバックアップ取りたいと言ったらリンクサーバー使え言われました
リンクサーバーってリンクしてる方は素通しでデータ残らないと思っていましたが違うのでしょうか?
?
引数がデータ戻し型(output)のストアドって
最終レコードが取れるまで値を戻さないんだな
何気にイラってくる仕様だが、みんな我慢してるのか
最初に値セットしておけ!って感じなんだが
?
おまえは一体何を言ってるんだ?
最終レコードが取れるまで値を返さないってのは
SQL Server 側の問題じゃなくて、System.Data.SqlClient.SqlCommand の仕様なのか?
SQLの問題。
返却されるレコードセットの書式をパラメータによって可変にしたいとき
まずは output パラメータに、これから戻されるレコードセットの種類を先に教えたいんだよな
もっとシンプルなところでレコード件数を先に返しておくとか、
先に select 〜 でoutput パラメータを列挙して、1行のレコードセット返すしかないのかね
まずは、とか、最初に、とか、一体何の話なんだと思うが
1回のストアドの呼び出しの話じゃないのかね
ストアドの中で
select 〜
select 〜
select 〜
って3つレコードセット返す風にすると
System.Data.SqlClient.SqlDataReader で NextResult を最後まで引っ張って
最後のレコードセットの最後のレコードまで読まないと output パラメータが戻ってこないんだけど
つまりSELECTできたものから準々に返せよってこと?
よくわからんけどストアド分けたらだめなん?
てかそれ呼び出し後の処理どうなってんだよ。
準々に返されてもあとの処理どう書くんだ
あほうの考えることはよう解らんのう
SSRSの話はここでいいのでしょうか
パラメータでデータソース変えられるレポート作っており、ひとまずデータソース変えるのはうまく行きました
問題はここからで、そのレポートはデータソースの選択以外のパラメータもあるのですが
データソースの指定後に他のパラメータを変える度に読み込みが入ってしまいます
この読み込みを何とか防げないでしょうか?
さすがに鬱陶しいです…
>>958 検証してないから不確かだけど、それはSqlDataReaderの仕様の問題だと思うが
まあレコードセット三つも返す上にoutput パラメータってどんな設計だとは思うが
>>958 当然だ。さっきからおまえは自分で何を言ってるか分かっているのか。
ねえねえ
みんな専門学校とか大学とか会社の研修とかでSQL習うの?
グーグル先生とトライアンドエラーでやっとセレクト句は書けるようになったけど
文系だから学校で習うかは知らんが、普通に本読んだ後に実務で覚えた。
しかし、セレクト文とかで躓いてるようじゃシスアドも取れないぞ。
HELPがあればどうにかなる
Oracleのバグとの戦いにHelpなど糞の役にも立たない。
>>958 >最後のレコードセットの最後のレコードまで読まないと output パラメータが戻ってこない
SqlDataReaderをCloseすれば別にレコード読まなくても戻ってきますが
何故にここでOracle?
Oracle 使ってる俺ってすごい?
って言うちんけなアピールだろ。
ちょっとした会社だと普通に使ってるだろうし、
個人でも XE とかあるから、今時自慢にもならないが。
オラ、狂う・・
ボラクル
Management Studio 2008 で、
あるデータベースの、全てのテーブルのデータを、INSERT文として一括でSQLファイルに保存する方法はありますでしょうか?
個々のテーブルのデータをCSVファイルに保存するやり方は見つかったのですが、INSERT文を出力する方法が分かりませんでした。
よろしくお願いいたします。
974 :
NAME IS NULL:2011/07/11(月) 19:01:24.79 ID:6LrhJY3M
>>973 データベース選択して右クリック、タスクから、DDLの一括エクスポートだったかな
976 :
NAME IS NULL:2011/07/11(月) 19:52:17.77 ID:yxrx500r
977 :
NAME IS NULL:2011/07/12(火) 21:52:17.38 ID:MGCS7YLo
SQL Server 2008を購入したのですが、COAラベルについてアドバイス願いたいです。
今回、購入品のCOAラベルのセキュリティースレッドに「OUR PASSION」「Microsoft」の印字が確認できないのです。
非正規品の可能性が高いでしょうか?
以前に購入したSQL Server 2008のCOAでは2語の印字が確認できました。
パッケージの完成度は高いです。超微細な文字がCOAに印刷されているのは確認できました。
数カ月前までは、HowToTellのサイトで正規COAラベルが多種類公開されていましたが、公開されなったのでしょうか?
よろしくお願いいたします。
978 :
977:2011/07/12(火) 22:02:39.36 ID:MGCS7YLo
SQL Server 2008 R2のパッケージ版です。
979 :
977:2011/07/12(火) 22:27:09.78 ID:+wecPeA+
×公開されなったでしょうか?
○公開されなくなったのでしょうか?
SPでるほどバグがあったのか。
>>981 全部で5点ほどの新機能と80点ほどの修正。
サービスパックで提供してくれるだけまだマシだと思うわ。Oracleはサポート入らないとほんとに何にもしてくれないし、
どう考えてもバグとしか言えないのにまるで修正プログラムを提供する気配のない製品すらあるし。
Intel の開発製品は新規購入時に一年間のサポート契約が付いてくるけど
それ切れた後契約更新しなかったらその後のアップデート利用できないな。
ほかにも似たような方式の会社でてきてるから
今後はそういうのが増えちゃうのかな。
他と比べてはじめてサポートはMSが最強といえる。
自動翻訳のイミフなKBを読み解く能力は必須
英語が読めると楽だね