Microsoft SQL Server 総合スレ 9

このエントリーをはてなブックマークに追加
1NAME IS NULL
Microsoft SQL Server 総合スレ 9

Microsoft SQL Server (Transact-SQL) の総合スレッドです。

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


・過去スレ
Microsoft SQL Server 総合スレ 8
http://hibari.2ch.net/test/read.cgi/db/1259409678/

Microsoft SQL Server 総合スレ 7
http://pc11.2ch.net/test/read.cgi/db/1231665917/

Microsoft SQL Server 総合スレ 6
http://pc11.2ch.net/test/read.cgi/db/1207377114/l50

Microsoft SQL Server 総合スレ 5
http://pc11.2ch.net/test/read.cgi/db/1175091880/l50

Microsoft SQL Server 総合スレ 4
http://pc11.2ch.net/test/read.cgi/db/1142315583/l50

Microsoft SQL Server 総合スレ3【MS SQL】
http://pc11.2ch.net/test/read.cgi/db/1123981539/l50

MS SQL Server 総合スレ2
http://pc11.2ch.net/test/read.cgi/db/1093012583/l50

2NAME IS NULL:2011/07/14(木) 21:13:57.54 ID:???
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < Oracle RAC と同等の機能まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  愛媛みかん |/
3NAME IS NULL:2011/07/15(金) 00:09:41.00 ID:???
429 名前:名無し~3.EXE [sage] 2011/07/14(木) 16:20:31.65 ID:RGYguD+t
マイクロソフト、何かあったんか?
ttp://www.microsoft.com/business/smb/ja-jp/campaign/sqlserver/default.mspx
4NAME IS NULL:2011/07/15(金) 14:10:07.78 ID:???
くそわろたw
5NAME IS NULL:2011/07/17(日) 10:26:43.88 ID:???
6NAME IS NULL:2011/07/18(月) 16:16:58.81 ID:???
Microsoft がもっとサーバー製品を売るための画期的な方法を発明
ttp://nanapho.jp/archives/2011/07/microsoft-running-to-wrong-direction-full-blast/
7NAME IS NULL:2011/07/21(木) 02:30:59.34 ID:???
SSRSの人もういないかな
8NAME IS NULL:2011/08/03(水) 01:14:32.51 ID:???
ドスケベ
9NAME IS NULL:2011/08/03(水) 21:52:41.38 ID:???
だれもいない
10NAME IS NULL:2011/08/03(水) 21:56:56.76 ID:???
DROPするなら
11NAME IS NULL:2011/08/06(土) 18:08:37.69 ID:???
いまのうち
12NAME IS NULL:2011/08/12(金) 16:32:13.45 ID:CJ9o/udu
データベースの容量を制限したいのですがどうやったらできますか?
ManagementStudioのデータベースプロパティで自動拡張というのを
さわっていますがファイルの最大サイズというのが今は無制限になっています。
これをたとえば1GBとしたら制限されますか?
されるとして容量MAXになったら古いデータから削除されますか?それとも
空きを作るまで追加不可になるのでしょうか?

環境:
Windows7
SQL Server 2008 R2
13NAME IS NULL:2011/08/12(金) 19:56:12.63 ID:???
空きを作るまで追加不可
篩データから削除したいんならトリガあたりで仕込め
14NAME IS NULL:2011/08/13(土) 15:58:29.65 ID:???
下のサイトに従ってMSDE2000Aをインストールしたのですが、
データーベースに接続しても初期にインストールされているmasterなどのテーブルを見ることができません。
サーバー自体は正常に動作しているようなのですが、
VSで見てもコマンドプロントでSQL文を打ってもログインは出来るのですがテーブルが存在しない状況です。
環境はVS6.0、VS2003、VS2010とインストールしただけなのですが何が問題なのでしょうか?
ConfigSamples.exeも実行したのですがPUBSなどのDBが登録されません、どなたかご協力お願いします。


http://www.atmarkit.co.jp/fdotnet/basics/adonet_index/index.html
15NAME IS NULL:2011/08/13(土) 16:07:06.32 ID:???
>>14
ログインはなにでやっているのか、SQLサーバ認証か、Windows認証か
ログオンに初期データベースが関連付けられるから
違うとこにに繋がっていたら
USE master
などとやって接続先をかえてやる必要がある。
存在しないのか、見えていないだけなのか切り分けろ

SSMSEとかで接続してみたか?
1614:2011/08/13(土) 17:23:03.69 ID:???
ログインはVisualStudioとサイトに載っているコマンドプロントでのWindows認証です。
SQL Server 2005 express でも同様の症状がでました、SSMSEでも同様の症状です。
2008ではインストール中にエラーがで時もありました。
別のPCでSQL Server 2005 expressをインストールしたところ正常に動作したので環境問題だと思われます。
とりあえず初期化後最小構成で動かしてみます。
返信ありがとうございました。
17NAME IS NULL:2011/08/13(土) 17:42:43.66 ID:???
masterが無ければ正常に動作しないはずだし
それ単に接続できてない気がする
セキュリティ関連のソフト全部切ってためしてみたら?
18NAME IS NULL:2011/08/15(月) 19:37:38.52 ID:BrXKZFY2
SQL Server CompactはここでOKでしょうか?

まったく新しいプロダクトを立ち上げるので、新しい方がいいと思って4.0にしたのですが、これってSQL Server 2008 Management Studioから覗けないのですね。
これ、せめてODBCは無いのでしょうか? Visual Studio 2010のツールだけでは流石に辛過ぎます・・・。
19NAME IS NULL:2011/08/16(火) 05:47:32.44 ID:???
>>18
http://msdn.microsoft.com/ja-jp/library/cc645984(v=sql.100).aspx を見ると
>スマート デバイスまたはデスクトップ コンピュータに格納されている SQL Server Compact データベースには、
>SQL Server の SQL Server Management Studio を使ってアクセスできます

って書いてあるが?
2018:2011/08/16(火) 09:37:27.76 ID:???
>>19
見れるのは3.5までです。4.0は見れないんですよ・・・。
21NAME IS NULL:2011/08/16(火) 09:40:15.34 ID:???
接続ダイアログの「サーバーの種類」を見ろ
あそこはコンボボックスだ。
押せ!
22NAME IS NULL:2011/08/16(火) 09:43:25.59 ID:???
>>20 を読まずに書き込んじまったぜ

4.0 は知らん!
23NAME IS NULL:2011/08/16(火) 13:27:46.29 ID:???
24NAME IS NULL:2011/08/16(火) 13:29:06.73 ID:???
25NAME IS NULL:2011/08/16(火) 13:33:48.09 ID:???

SQL Server 2000 自習書シリーズ
http://technet.microsoft.com/ja-jp/library/cc748707.aspx
26NAME IS NULL:2011/08/16(火) 13:35:23.07 ID:???
27NAME IS NULL:2011/08/16(火) 13:36:01.84 ID:???
28NAME IS NULL:2011/08/16(火) 13:37:36.26 ID:???

Microsoft SQL Server 2005 Compact Edition Developer Software Development Kit - 日本語
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=e9aa3f8d-363d-49f3-ae89-64e1d149e09b
http://download.microsoft.com/download/e/3/9/e39bb4ac-5998-4352-b082-c90d513b92fd/SSCE31SDK-JPN.msi

Microsoft SQL Server 2005 Compact Edition - 日本語
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=85E0C3CE-3FA1-453A-8CE9-AF6CA20946C3
http://download.microsoft.com/download/4/b/0/4b003e92-8fc0-43c7-ab74-5522ef81a091/SQLServerCE31-JA.msi

SQL Server 2005 Compact Edition Books Online
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=e6bc81e8-175b-46ea-86a0-c9dacaa84c85&displaylang=ja-nec
http://download.microsoft.com/download/d/7/7/d77b10ec-cb37-42cd-948e-cf8fc7882ab7/ReadmeSSCE2005.htm
http://download.microsoft.com/download/d/7/7/d77b10ec-cb37-42cd-948e-cf8fc7882ab7/SSCE31BOL-JPN.msi

Microsoft SQL Server 2005 Compact Edition Server Tools - 日本語
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=4E45F676-E69A-4F7F-A016-C1585ACF4310
http://download.microsoft.com/download/8/6/7/8673fd70-3fa5-42d3-92a5-a7f586eca368/Sqlce30setupja.msi

Microsoft SQL Server 2005 Compact Edition Tools for Visual Studio 2005 Service Pack 1 - 日本語
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=877C0ADC-0347-4A47-B842-58FB71D159AC
http://download.microsoft.com/download/a/2/8/a28010f1-ad30-4b31-b233-bcb54ea82a63/License_file_JPN.rtf
http://download.microsoft.com/download/a/2/8/a28010f1-ad30-4b31-b233-bcb54ea82a63/SSCE31VSTools-JPN.exe

29NAME IS NULL:2011/08/16(火) 13:49:50.20 ID:???

Microsoft SQL Server 2008 ホーム
http://www.microsoft.com/japan/sqlserver/2008/default.mspx

Microsoft® SQL Server® 2008 Express with Advanced Services
http://www.microsoft.com/downloads/details.aspx?familyid=B5D1B8C3-FDA5-4508-B0D0-1311D670E336&displaylang=ja
http://download.microsoft.com/download/5/5/5/55596bc0-7fed-4d23-a373-75dab5d42de0/SQLEXPRADV_x64_JPN.exe
http://download.microsoft.com/download/5/5/5/55596bc0-7fed-4d23-a373-75dab5d42de0/SQLEXPRADV_x86_JPN.exe

Microsoft SQL Server 2008 Service Pack 2
http://www.microsoft.com/downloads/details.aspx?familyid=8FBFC1DE-D25E-4790-88B5-7DDA1F1D4E17&displaylang=ja
http://download.microsoft.com/download/A/F/5/AF57791D-6550-4018-B1E6-FB4A9DD4DCBE/Microsoft%20SQL%20Server%202008%20SP2%20Readme_JPN.htm
http://download.microsoft.com/download/A/F/5/AF57791D-6550-4018-B1E6-FB4A9DD4DCBE/SQLServer2008SP2-KB2285068-x64-JPN.exe
http://download.microsoft.com/download/A/F/5/AF57791D-6550-4018-B1E6-FB4A9DD4DCBE/SQLServer2008SP2-KB2285068-x86-JPN.exe

Microsoft SQL Server 2008 オンライン ブック (2009 年 10 月)
http://www.microsoft.com/downloads/details.aspx?familyid=765433F7-0983-4D7A-B628-0A98145BCB97&displaylang=ja
http://download.microsoft.com/download/6/1/A/61A671FC-9554-41AA-B9F7-BFFCCD2200D6/SQLServer2008_BOL_Jun2010_JPN.msi

SQL Server 2008 - ダウンロード、サポート、コミュニティ | TechNet
http://technet.microsoft.com/ja-jp/sqlserver/bb671410

SQL Server 2008 のダウンロード、サービス パック、ツール | TechNet
http://technet.microsoft.com/ja-jp/sqlserver/bb671408

SQL Server 2008 自習書シリーズ | TechNet
http://technet.microsoft.com/ja-jp/sqlserver/dd610200

SQL Server 2008 自習書シリーズ
http://msdn.microsoft.com/ja-jp/sqlserver/cc720685
30NAME IS NULL:2011/08/16(火) 13:50:38.58 ID:???

☆SQL Server Express with Advance Services をインストールする前にインストールしておくもの


Microsoft .NET Framework 3.5 Service pack 1 (Full Package) - 日本語
http://www.microsoft.com/downloads/details.aspx?FamilyID=d0e5dea7-ac26-4ad7-b68c-fe5076bba986&displayLang=ja
http://download.microsoft.com/download/2/0/E/20E90413-712F-438C-988E-FDAA79A8AC3D/dotnetfx35.exe

Microsoft .NET Framework 3.5 SP1 日本語 Language Pack
http://www.microsoft.com/downloads/details.aspx?familyid=8489ED13-B831-4855-96F7-DD35E4C02A20&displaylang=ja
http://download.microsoft.com/download/f/a/2/fa24f36b-cdcb-415c-8acf-11e33a21a358/dotnetfx35langpack_x64ja.exe
http://download.microsoft.com/download/f/a/2/fa24f36b-cdcb-415c-8acf-11e33a21a358/dotnetfx35langpack_x86ja.exe

Windows Installer 4.5 Redistributable - 日本語
http://www.microsoft.com/downloads/details.aspx?FamilyID=5A58B56F-60B6-4412-95B9-54D056D6F9F4&displayLang=ja
http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x64.msu
http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x86.msu

Windows Vista x64 Edition 用 Windows PowerShell 1.0 インストール パッケージ (KB928439)
http://www.microsoft.com/downloads/details.aspx?FamilyID=af37d87d-5de6-4af1-80f4-740f625cd084&displayLang=ja
http://download.microsoft.com/download/c/d/f/cdfb3b08-f9bc-48c2-92fa-214b5e684cff/Windows6.0-KB928439-x64.msu

Windows Vista 用 Windows PowerShell 1.0 インストール パッケージ (KB928439)
http://www.microsoft.com/downloads/details.aspx?familyid=C6EF4735-C7DE-46A2-997A-EA58FDFCBA63&displaylang=ja
http://download.microsoft.com/download/4/b/8/4b8e4fac-bf73-49d0-8b98-ce1f58ba26b8/Windows6.0-KB928439-x86.msu
31NAME IS NULL:2011/08/16(火) 14:35:16.42 ID:???

SQL Server Compact
http://msdn.microsoft.com/ja-jp/library/cc645984(v=sql.100).aspx

SQL Server Compact フォーラム
http://social.msdn.microsoft.com/forums/ja-jp/sqlce/threads/

Windows デスクトップ用 Microsoft SQL Server Compact 3.5 Service Pack 2
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=e497988a-c93a-404c-b161-3a0b323dce24
http://download.microsoft.com/download/1/C/E/1CED21B7-2D13-4506-B140-505568DF6538/SSCERuntime-JPN.exe

Windows モバイル用 Microsoft SQL Server Compact 3.5 Service Pack 2
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=5544C638-C532-48E3-871C-58B49C5D855C
http://download.microsoft.com/download/2/F/4/2F40AEF1-323E-46BE-A8F5-77CBAF2E2312/SSCEDeviceRuntime-JPN.msi

Microsoft SQL Server Compact 3.5 Service Pack 2 サーバー ツール
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=5DEEC9D5-C216-446E-A003-5D6026AD19B3
http://download.microsoft.com/download/3/D/C/3DC33650-5C3F-4F14-8C76-86143E0B7C52/SSCEServerTools_x64-JPN.msi
http://download.microsoft.com/download/3/D/C/3DC33650-5C3F-4F14-8C76-86143E0B7C52/SSCEServerTools_x86-JPN.msi

Microsoft SQL Server Compact 3.5 Service Pack 2 オンライン ブック
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=746c3a6e-ffb1-4c92-93fa-b3ba41fde681&displaylang=ja-nec
http://download.microsoft.com/download/A/6/1/A61E9229-B083-4315-9095-C2BC3F354F9D/ReadMeSQLCE35SP2_JPN.htm
http://download.microsoft.com/download/A/6/1/A61E9229-B083-4315-9095-C2BC3F354F9D/SSCEBOL-JPN.msi

32NAME IS NULL:2011/08/16(火) 14:53:22.40 ID:???
33NAME IS NULL:2011/08/16(火) 16:23:09.08 ID:???

最新バージョン:Microsoft SQL Server 2008 R2 ホーム
http://www.microsoft.com/japan/sqlserver/2008/r2/default.mspx

Microsoft SQL Server2008 R2 RTM - Express with Advanced Services
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=E08766CE-FC9D-448F-9E98-FE84AD61F135
http://download.microsoft.com/download/3/2/6/32679906-B8E9-429F-BD37-BFC729119BA1/SQLEXPRADV_x64_JPN.exe
http://download.microsoft.com/download/3/2/6/32679906-B8E9-429F-BD37-BFC729119BA1/SQLEXPRADV_x86_JPN.exe
Microsoft® SQL Server® 2008 R2 リリース ノート
http://download.microsoft.com/download/4/3/1/431933D6-50EE-4E08-AAB6-8D89E09B40D0/SQLServer2008R2ReleaseNotes_JPN.htm
Microsoft® SQL Server® 2008 R2 Readme
http://download.microsoft.com/download/2/6/4/264EC458-3E89-42F8-8CE0-0D78C5EA2CBE/Microsoft_SQL_Server_2008_R2_Readme_JPN.htm

SQL Server 2008 R2 オンライン ブック
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyId=c18bad82-0e5f-4e82-812b-5b23e5d52b9c&displaylang=ja
http://download.microsoft.com/download/9/3/C/93C828A8-C148-4BCB-973A-18122C0B0A58/SQLServer2008R2_BOL_JPN.msi

Microsoft® SQL Server® 2008 R2 Service Pack 1
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=b9aa2dba-7f20-4c0c-9afd-1eebee5a94ea
http://download.microsoft.com/download/0/1/C/01C875EC-5D4F-4287-8BC9-C79521EC82DE/SQLServer2008R2SP1-KB2528583-x64-JPN.exe
http://download.microsoft.com/download/0/1/C/01C875EC-5D4F-4287-8BC9-C79521EC82DE/SQLServer2008R2SP1-KB2528583-x86-JPN.exe

ダウンロード | SQL Server 2008 R2
http://www.microsoft.com/japan/sqlserver/2008/r2/downloads/default.mspx

自習書シリーズ | SQL Server 2008 R2
http://www.microsoft.com/japan/sqlserver/2008/r2/technology/self-learning.mspx

SQL Server 2008 R2 自習書シリーズ
http://technet.microsoft.com/ja-jp/sqlserver/ff519259
34NAME IS NULL:2011/08/16(火) 16:23:44.32 ID:???
3518:2011/08/16(火) 20:11:42.04 ID:eUDu+q20
すいません、お騒がせしました

http://msdn.microsoft.com/ja-jp/library/ms171951(v=sql.110).aspx
Windows デスクトップ (Visual Basic または Visual C#) プロジェクト システムの次のデザイナーは、SQL Server Compact 4.0 では使用できません。
・データセットを構成するために使用されるデータ ソース構成ウィザード。
・Sync Framework を使用して、データとスキーマを SQL Server と同期するために使用されるデータ構成の構成ウィザード。
・SQL Server Compact データベースからエンティティを生成するために使用される Entity Data Model ウィザード。

ということで、Web以外ではSQL Server Compact 4.0はまだ使い物にならないようです。
わざわざこの為にSP1を入れたのになぁ・・・。
36NAME IS NULL:2011/08/16(火) 22:18:41.11 ID:???
37NAME IS NULL:2011/08/22(月) 06:12:34.73 ID:???
>>32
法律の話は裁判所の中で
38NAME IS NULL:2011/08/24(水) 11:00:00.98 ID:???
SQL SERVER 2008R2で質問です。

現在ストアドを作成しており
あと1テーブルから複数の結果を変数に取り込みたいと考えています。
MySQLとかであれば
SELECT〜INTO〜FROM
で複数の結果を1回のSELECTで変数にセットできたように思いますが
このようなことはSQL SERVERではどのようにすればよいのでしょうか?

DECLARE @a int,@b int
SET @a = SELECT A FROM TABLE
SET @b = SELECT B FROM TABLE

こんな感じに書くのはスマートではないのかな?と思いました。
記憶違い等ありましたらご指摘いただけると助かります。
どうかよろしくお願いします。
39NAME IS NULL:2011/08/24(水) 11:27:50.31 ID:???
SELECT @a=A,@b=B FROM TABLE
40NAME IS NULL:2011/08/24(水) 11:33:42.79 ID:???
>>39
ご指摘の方法で確認できました!
ありがとうございました。
41NAME IS NULL:2011/08/24(水) 11:34:32.81 ID:???
文頭 ご提示 ですね
スレ汚し失礼しました。
42NAME IS NULL:2011/08/25(木) 23:17:38.27 ID:???
SQL SERVER 2008について質問です。

SQLサーバーの暗号化機能にSSL接続というのがあるのですが、
SSLが有効になっているかどうかの確認ってどうすればいいですか?

構成は
DBサーバー

クライアントの構成で、接続はODBCを使っています。

このときDBサーバー側で証明書を発行し、クライアント側では
証明書がインストールされていない常態にもかかわらず、
DBサーバー、クライアント間で接続ができてしまっています。

DBサーバー側では構成マネージャより強制的に暗号化フラグを
オンに、証明書はIISマネージャより発行された自己証明を使っています。

43NAME IS NULL:2011/08/26(金) 19:27:10.90 ID:???
sys.dm_exec_connections の encrypt_option で解るんじゃないかな
44NAME IS NULL:2011/08/27(土) 01:01:47.52 ID:UV7uXGYj
SQL SERVER 2008 R2 CAL について教えて下さい。
サーバ入替え(Windows Server)により、SQL SERVER 2008 R2への切り替えが必要
です。
現サーバ下で、SQL SERVER 2000 CAL を必要個数分保持していますが、
サーバ入替え後、SQL SERVER 2008 R2を入れた場合、
SQL SERVER 2000 CALは無効となり、SQL SERVER 2008 R2 CALを新たに購入要ですよね。

基本的な質問で大変申し訳ありません。ご教授ください。    
45NAME IS NULL:2011/08/27(土) 16:45:02.18 ID:???
SAを買い続けてないかぎりそうなります
46NAME IS NULL:2011/09/02(金) 12:38:50.43 ID:???
すみませんが質問お願いいたします。

現在、数万点ある画像ファイルを、パスで追って検索していますが、
SQLサーバーを使って検索性をあげたいと考えています。

そこで質問ですが。。

・varbinary(max)型でDocuworksって入れれますか?
・ファイルを直に置くのに比較してvarbinary(max)だとサイズダウンできますか?

です。宜しくお願い致します。
47NAME IS NULL:2011/09/02(金) 13:00:54.35 ID:???
バイナリファイルなんだから圧縮しないとサイズは基本かわないんじゃ・・・
多少クラスタサイズとかの関係で変わってくるとは思うけど所詮そのていどじゃないかな?
48NAME IS NULL:2011/09/02(金) 13:20:32.22 ID:???
>>47
そうですか。ありがとうございました。

SQLServerを使って何かメリットが出せる事はないかなぁ。。
49NAME IS NULL:2011/09/02(金) 13:53:13.47 ID:???
自分は画像とかファイルをSQLServerに入れたい派だな

環境移行では、SQLのDBコピーすれば済むし
ファイルサーバーへのアクセス権を別管理しなくていいし。

ファイル合計が数TBになるような場合は知らん。
50NAME IS NULL:2011/09/02(金) 14:51:07.83 ID:???
>>49
なるほど。そういうメリットもあるのですね。ありがとうございました。

スレチですがDocuworksをサムネイル表示するのって難しいですよね?
51NAME IS NULL:2011/09/02(金) 23:36:33.03 ID:???
スレチすぎるw
52NAME IS NULL:2011/09/06(火) 23:23:11.28 ID:???
質問お願いします。もうわからねぇ。

サーバ:SQL SERVER 2008R2
バッチ実行環境:winXP、クエリアナライザはSQL SERVER2000のをインスト

バッチを使って、VIEWをCreateしているんだが、構文エラーになる。
でも、コピってクエリアナライザで実行しても、正常終了する。

>バッチファイル
isql -Sインスタンス -Uユーザー -Pパス -i%CD%\viecreate.sql

>create文
USE DB名;
GO
CREATE VIEW dbo.VIEW名
AS
SELECT XXXXX FROM TABLE WHERE GGGG = 0 ORDER BY DDD
GO

>エラーMSG
1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> Msg 102, Level 15, State 1, Server インスタンス名, Line 1
'�' 付近に不適切な構文があります。
※ちなみに、'�' は文字化けしているっぽい。

よろしくお願いします。
53NAME IS NULL:2011/09/06(火) 23:34:59.06 ID:???
viecreate.sql

の文字コードを変えてみたらどうじゃろう?

ascii なら unicode に
unicode なら ascii に
54NAME IS NULL:2011/09/07(水) 05:41:18.50 ID:???
どっかに全角スペースが隠れてないか
55NAME IS NULL:2011/09/07(水) 14:25:26.13 ID:sJB0W6LI
SQL Server 2008 R2を使ってます。
ある市販のSCADAソフトの機能でSQL Serverのデータベースに
データを書き込んでますが無制限にかいてしまいます。
データベース側で1年経過したデータはデータベースから削除したいんですが
これをSQL Server Management Studioで出来ないでしょうか?
色々調べて管理のメンテナンスプランの作成で出来るのではないかと思い
見ていましたがデータベースの圧縮やバックアップはあるのですが
データベース内の古いデータの削除などはみつかりませんでした
そもそもやり方が違うのかもわかりません。
宜しくお願いします。
5652:2011/09/07(水) 15:20:49.64 ID:???
>>53
SHIFT-JISに変えてみたら、USE DB名の前に変なのが入ってた。
開発端末クラッシュしたためorz、まだテストしてないけど、いけると思う。
ありがとう!

>>54
確認したら、全角スペースはなかった。
ありがとうなー
5755:2011/09/07(水) 15:44:59.69 ID:sJB0W6LI
自己解決
58NAME IS NULL:2011/09/07(水) 23:45:07.21 ID:???
>>57
死ね
59NAME IS NULL:2011/09/08(木) 05:48:51.40 ID:???
>>57
イ`
60NAME IS NULL:2011/09/13(火) 11:30:31.43 ID:???
UTF-8の文字列どうしてる?
UTF-8にしかない漢字結構あると思うんだけど
61NAME IS NULL:2011/09/13(火) 20:33:22.37 ID:k1WnuJyu
SQLServer2005同士をリンクサーバーでつなげているんですが、
同一サーバーでやったときと比較して、動作が大変重くて困っています。
SQL文の見直しはやっていますが、他に有効な対応方法はないでしょうか?
62NAME IS NULL:2011/09/13(火) 20:38:09.11 ID:???
使用頻度の高いテーブルをレプリケーションする
63NAME IS NULL:2011/09/13(火) 21:20:14.00 ID:???
>>61
リンク元のDBでジョインしたビューやストアド作って、それ経由でデータへアクセス汁。
64NAME IS NULL:2011/09/15(木) 20:27:39.52 ID:???
SQL Server 2008 Expressに接続して、
begin trans hoge
ってやると
「MARS バッチで開始されたトランザクションが、バッチの終了時に依然としてアクティブです。トランザクションはロールバックされます。」
と怒られるんですが意味すらわかりません。
誰か解決方法を教えて下さい。
6564:2011/09/16(金) 23:53:25.07 ID:???
解決しました。
おまえら役立たずでつね。
66NAME IS NULL:2011/09/23(金) 19:08:55.39 ID:???
sqlserverce4.0 つかって COLLATE  Japanese_BIN したい場合、同様の結果を得るにはどうしたらいいですか
67NAME IS NULL:2011/09/23(金) 19:42:05.34 ID:???
コンパクトエディション?
68NAME IS NULL:2011/09/24(土) 09:30:16.49 ID:???
>>67
はい
69NAME IS NULL:2011/09/29(木) 18:43:30.34 ID:???
SQL Serverいいね!
70NAME IS NULL:2011/09/29(木) 22:05:14.72 ID:???
SQL Server 2008 workgroupを購入したいんだけど、Win 7にインストールしても問題ない?
Win Serverにインストールとかしないといけないとかありますか?
71NAME IS NULL:2011/09/29(木) 22:09:11.16 ID:???
システム要件確認しろ
72NAME IS NULL:2011/09/29(木) 23:27:03.14 ID:???
おせーて♪
73NAME IS NULL:2011/09/30(金) 06:03:00.72 ID:???
入らないよ
74NAME IS NULL:2011/09/30(金) 06:12:25.20 ID:???
75NAME IS NULL:2011/09/30(金) 19:58:50.93 ID:???
嘘つけ、ボケがっ!!
76NAME IS NULL:2011/09/30(金) 21:55:35.45 ID:???
74
多謝
77NAME IS NULL:2011/10/01(土) 01:47:05.95 ID:npB/CmXv
ログによく「リソースプール Internal システム メモリーが不足です。」
みたいなメッセージが頻繁に出力されるのですが、
出力されないようにする方法はありますか?

32bitOSを使用していて、SQLServer全体が使用できる領域は
約2GBだと思うので、バッファーキャッシュの上限「max server memory」を
2GB以下(1.2〜1.3GB?)にして、残りをバッファーキャッシュ以外で
使用できるようにしてあげればエラーは減ると思っていますが、
その他によい方法はありますか。

素人ですいませんが、宜しくお願いします。

78NAME IS NULL:2011/10/01(土) 07:04:44.57 ID:???
何も考えずメモリ4GB積んどけ
話はそれからだ
79NAME IS NULL:2011/10/01(土) 07:26:42.34 ID:???
32ビットなら AWE を有効にする

sys.dm_exec_requests を見て granted_query_memory に大きなものがあるようなら
dm_db_missing_index_* を見てインデックスを設置することを検討する
8077です。:2011/10/01(土) 15:32:32.75 ID:HkAFZW6R
78さん、79さん
ありがとうございます!
81NAME IS NULL:2011/10/06(木) 21:21:54.68 ID:???
SQLServer2005での質問です。
大量のデータを持つテーブル同士を結合しているビューがあるんだけど、
そのビューに条件を追加したSQL文を実行すると、
ハッシュ結合だったのがループ結合に変わって、しかもテーブルスプールが発生して、データの取得までの時間がものすごく長くなります。
結合ヒントをハッシュに指定すれば回避できるんだけど、勝手にループ結合に変わったり、テーブルスプールが発生するのはなぞのままです。
何か理由があるのでしょうか?
分かる人がいたら、よろしくお願いします。
82NAME IS NULL:2011/10/06(木) 21:54:28.93 ID:???
そりゃビューだからな。
83NAME IS NULL:2011/10/06(木) 22:14:36.63 ID:???
SQLServer の 自動最適化 が悪い方向に働いた
84NAME IS NULL:2011/10/16(日) 20:39:59.96 ID:???
開発をしている時に、サーバとは別にローカルにSQL Serverを立てるということはよくあると思います
サーバでテーブルが更新されたときに、ローカルのSQL Serverに通知する方法はないでしょうか?
サーバのテーブル定義が変更されると、プログラムが落ちてしまうのでそれを防止したいからです
85NAME IS NULL:2011/10/16(日) 20:59:33.42 ID:???
落ちる時点でどうかと思うけど、レプリケーションとか。
8684:2011/10/16(日) 21:04:47.10 ID:???
>>85
レプリケーションに関して知識が足りないので、教えていただきたいのですが
1.マスタはテーブル定義 & 中身をコピーする
2.その他のテーブルはテーブル定義だけをコピーする
といったことはできるのでしょうか?
87NAME IS NULL:2011/10/16(日) 21:21:23.56 ID:???
できないと思う。
8884:2011/10/16(日) 21:32:21.21 ID:???
>>87
勉強になりました
ありがとうございます
89NAME IS NULL:2011/10/16(日) 22:30:43.60 ID:???
通知するだけなら、リンクサーバー貼って定期的にユーザーテーブル定義比較情報比較のSQL流して、結果をmailで飛ばすとかでできると思う。
どこまでやるかにもよるけど若干の作り込みは必要。
90NAME IS NULL:2011/10/16(日) 22:33:31.28 ID:???
誤:定義比較情報比較
正:定義情報比較
91NAME IS NULL:2011/10/18(火) 09:55:38.45 ID:cycoLoIy
パーティションについて教えてください。
日付項目を月ごとに範囲分割して、違う年でも同じパーティションに格納したいのですが、どのようなパーティション関数を作成すればいいのでしょうか?
よろしくお願いします。
92NAME IS NULL:2011/10/18(火) 19:57:36.80 ID:???
データベーススペシャリストの勉強をしているんだけど、参考書に

>CREATE TABLE文を使ってテーブルを定義する場合、次のような整合性制約
>(以下、制約とする)を同時に定義することができる。
>テーブルを定義する段階で、これらの制約をDBMS上で設定しておくと、
>ここのアプリケーションで、入力チェックなどを記述する必要がなくなるため
>生産性が向上する。

って書いてあるんだけど、制約を使うと入力チェックをしなくてもよくなるのか
SQL Serverを使っていつも開発しているんだけど、そんな便利機能本当にあるの?
93NAME IS NULL:2011/10/18(火) 21:23:38.83 ID:???
そいつの言う生産性の高いアプリケーションはユーザーに冷たくエクセプション返すんだろうな。
データベース屋でアプリ視点で物考えられる奴はほとんどいないし、そんなこと試験でも出ないよ。
94NAME IS NULL:2011/10/18(火) 21:35:34.54 ID:???
その参考書とやらの著者とタイトルと出版社を
95NAME IS NULL:2011/10/18(火) 21:43:49.22 ID:???
情報処理教科書 データベーススペシャリスト 2012年版 情報処理教科書 データベーススペシャリスト 2012年版
三好 康之
181ページ

>>93
だよねー、普通に考えて入力チェックをDBの制約で代用するって変だよね
96NAME IS NULL:2011/10/18(火) 21:57:55.95 ID:???
考えたことあるけど、メンテもしづらいし、
ビジネスロジックでやっちゃうな。
97NAME IS NULL:2011/10/19(水) 12:28:28.44 ID:vMxqBUc2
webからODBC経由で実行したSQLを
Management Studioで拾う事は出来ますか?
そのクエリーをManagement Studio上で再度実行する必要があるのですが
簡単に出来そうな気がするのですがよくわかりません。
98NAME IS NULL:2011/10/19(水) 12:45:47.97 ID:jBkLn4jz
ちょっと前に、SQLServer+vb6でオートメーションエラーを書いたものです。
MDACがくさいと踏んでいましたが、
Power Tools InputMan5.0Jが原因でした。
数字の場合でコントロール配列を使って、SQLServer2003でのみ発生、Xpは発生しない。

結構昔から使っていて、枯れているTOOLとおもっていたのが敗因です。
お騒がせしました。
99NAME IS NULL:2011/10/19(水) 13:07:26.18 ID:???
自己解決
Profilerで拾えました
100NAME IS NULL:2011/10/19(水) 20:00:58.59 ID:???
> SQLServer2003
え?
101NAME IS NULL:2011/10/20(木) 09:07:12.16 ID:BK3xMatR
98です。

すまん、Windows2003でした。
102NAME IS NULL:2011/10/20(木) 23:01:32.37 ID:???
レプリケーション&フェールオーバを勉強したいんだけど、
皆さんはSQL Server Developer Edition使ってますか?
やっぱり、個人でDeveloper Editionを買うって変態かなー
103NAME IS NULL:2011/10/20(木) 23:14:02.46 ID:???
MSDN持ってる。
104NAME IS NULL:2011/10/21(金) 00:38:07.57 ID:???
みんなはもうDENALI試した?
105NAME IS NULL:2011/10/21(金) 02:21:57.04 ID:???
最近SQLServerを使い始めて、ここのサイトみたいに
「1 コアの CPU の環境で 16 個のスケジューラーを起動」
とかやってみたいんですが、どなたかやり方をご存知の方ご教授ください
http://mf1.jp/O9IC6L

色々試してみたいのにさっぱり分からない・・・
106NAME IS NULL:2011/10/25(火) 15:53:13.32 ID:???
【教えて下さい。】
これからインストールするのですが、
一番お勧めの説明本があったら教えて下さい。
お願いしますm(__)m
107NAME IS NULL:2011/10/25(火) 20:11:40.39 ID:???
108NAME IS NULL:2011/10/29(土) 14:33:45.61 ID:???
スカラ変数(@変数名)を用いて.NETプログラム上から値を設定しているSQL文があるのですが、
テストのためにManagement Studio で実行するたびに@変数の部分を値に書き換えてやるのが面倒です。
どこかで設定できないでしょうか?

109NAME IS NULL:2011/10/29(土) 17:22:38.96 ID:???
declearしてやれ
110NAME IS NULL:2011/10/30(日) 21:19:40.57 ID:???
インデックスを付加するとどれくらい、速度が上がるかを実験してみたいです
何かよいデータないでしょうか?
111NAME IS NULL:2011/10/30(日) 21:23:37.07 ID:???
データって?
112110:2011/10/30(日) 21:38:18.95 ID:???
>>111
個人でインデックスの効果が体験できるくらいのデータを作るのは難しいので
インデックスの効果が体感できるようなデータがほしいです
113NAME IS NULL:2011/10/30(日) 21:47:34.49 ID:???
>>112
ループで廻せば、1億レコードぐらいすぐ登録できるだろ。
114110:2011/10/30(日) 22:41:51.58 ID:???
>>113
ありがとうございました
115NAME IS NULL:2011/11/01(火) 11:43:27.24 ID:???
109 113 の辺り、酷え応対の仕方だな  罰があたるぞ
116NAME IS NULL:2011/11/02(水) 00:15:23.05 ID:???
>>115
そう思うならお前が親切丁寧に教えてやれ
俺にはまっとうな回答に思えるが
117NAME IS NULL:2011/11/02(水) 16:41:38.96 ID:4gNY4Qxj
>>116 の辺り、酷え応対の仕方だな  罰があたるぞ
118NAME IS NULL:2011/11/02(水) 20:10:18.58 ID:???
罰とか非科学的ですね。
技術者として恥ずかしいわ
119NAME IS NULL:2011/11/02(水) 21:09:50.86 ID:???
我欲のために passj を潰した人たちに爪の垢でも飲ませたい
120NAME IS NULL:2011/11/08(火) 01:10:16.42 ID:???
Passjの復活頼みます
121NAME IS NULL:2011/11/09(水) 12:01:25.67 ID:IWWdIkGd
Webアプリケーション開発で、ログイン周りで悩んでいます。
ColdFusionというWebフレームワークから、SQL ServerのDBサーバにデータを読み書きという構成です。

WHERE
userid = '#uid#'
AND pwd = '#encrypt_pwd#'
AND del_flg = 0

##で区切られたところは動的に入ってくる変数です。
encrypt_pwdは、ある関数を通して暗号化されたパスワード文字列です。
DB格納形式もこの暗号化パスワードで、SELECT文で比較することで使います。

この暗号化後のパスワードに=などが入ってしまうせいで正しく動作しなくなっています。
文字1個1個をエスケープするならともかく、
動的に入ってくる文字列全体を、個別にエスケープする方法はありませんか?
122NAME IS NULL:2011/11/09(水) 16:19:57.32 ID:???
prepereしないとセキュリティホールになるよ
123NAME IS NULL:2011/11/09(水) 17:05:20.39 ID:???
>>121
その関数が戻す文字列ってちゃんと把握できてるのか?
イコールで誤動作するとか、クオーテーション入ってたらどうする気なんだ?
そのレベルでWEBアプリとかDBアプリとか手を出すなって

解決方法は素直にプリペアするか、
文字列全部検査して必要なら問題のある文字をエスケープする

ColdFusionって個人が使うようなもんじゃなかった気がするが、業務でこのレベルか?
絶対に仕事頼みたくない所だな
124121:2011/11/09(水) 17:42:20.94 ID:IWWdIkGd
業務です・・・
末端のITドカです。
Strutsという話で言ったらいつのまにかColdFusionをやらされていた・・・という具合で。

>>123
それは把握してます。
イコールとか、(とか、#とか、SQLのルールに引っかかったり、ColdFusionのテンプレートのルールに引っかかったりで、
エスケープで苦戦してます。

Prepareっての調べてみます。ありがとうございました。
125121:2011/11/09(水) 17:52:44.71 ID:IWWdIkGd
そもそも他社が作りかけて投げ出したとかいうソースの改修という怪しい業務で、
まだこの現場入って4日・・・
エスケープ云々の問題も、もらった出来損ないソースの問題点ゆえに。
たしかにこのシステム、BtoCのWebシステムですが、サービスインしても自分じゃ使いたくないってのはありますw
126NAME IS NULL:2011/11/09(水) 17:53:58.16 ID:???
そもそもちゃんとクオーテーションに囲まれた文字列中に=があっても、誤動作なんてするはずないんだが?
127NAME IS NULL:2011/11/09(水) 21:36:05.79 ID:???
プレペアというか、パラメータクエリーね。
128NAME IS NULL:2011/11/09(水) 21:41:14.60 ID:???
その辺はホストアプリの言語による
ColdFusionがどんな言語かはしらん
129NAME IS NULL:2011/11/09(水) 21:47:34.39 ID:???
ColdFusion は メジャーなんですか?
130NAME IS NULL:2011/11/09(水) 21:50:24.06 ID:???
本質的に、"プリペア"には事前コンパイル、くらいの意味しかない。
SQLインジェクションを防ぐためには、条件値をパラメータ化して、
エスケープをライブラリにゆだねるのが無難、って話。
131NAME IS NULL:2011/11/10(木) 00:45:08.22 ID:???
コールドフュージョンってセキュリティホール発生装置なAdobeの製品だから、パラメータクエリ用のライブラリが無いとかいうオチなんじゃね?
132NAME IS NULL:2011/11/18(金) 17:29:32.72 ID:UwQaAbal
denali RC0 出たね。だれか人柱キボン。というほど危なくないか
133NAME IS NULL:2011/11/18(金) 19:50:58.36 ID:???
新機能のほとんどは enterprise だからなぁ
ライセンスフィーもCPU単位からコア単位になっちゃうし

SQL2008 sp3 のKBも見当たらないしもうだめかね
ここは
134NAME IS NULL:2011/11/21(月) 22:12:44.04 ID:0605Gewh
2012 RCでたね
135NAME IS NULL:2011/11/22(火) 00:11:33.27 ID:tOo0KjgX
ここで質問OK?

Select * From T_2002年売上
UNION ALL
Select * From T_2003年売上
UNION ALL
Select * From T_2004年売上

初心者すぎる質問。
↑みたいに入れてテーブル同士つなげたいんだけど、From以降ってテーブル名じゃだめなんですかい?
教えてください・・
136NAME IS NULL:2011/11/23(水) 08:51:59.34 ID:CBHWsFzR
>>135
そんなことない
137NAME IS NULL:2011/11/23(水) 09:08:36.76 ID:???
2012プロセッササイセンスがソケット単位からコア単位課金になって、6コア以上のプロセッサを使う場合、実質値上げになるらしいな。
しかもワークグループやWEBなどのstandardより安価なエディションが全て廃止とか…
138NAME IS NULL:2011/11/23(水) 09:13:27.58 ID:???
ちなみに4コア未満のプロセッサでは4コアに価格が切り上げられるというボッタ価格の為、廃止されるワークグループの代わりにはならない。
139NAME IS NULL:2011/11/23(水) 12:53:43.62 ID:???
もうSQL Serverは用済みだな
140NAME IS NULL:2011/11/23(水) 15:38:52.82 ID:???
oracle 使いが安いから SQL Server 無理やり使わされる
ってことがなくなっていいんじゃない?
141NAME IS NULL:2011/11/23(水) 18:50:44.19 ID:???
下のほうのエディションはEXPRESSで良いってことだろ
142NAME IS NULL:2011/11/24(木) 01:22:53.65 ID:???
Expressはメモリ1GB制限がネックだね。
143NAME IS NULL:2011/11/24(木) 08:32:27.22 ID:KM7yt5eD
>>142
今は4GBだったはず
144NAME IS NULL:2011/11/24(木) 08:48:55.96 ID:???
4GBは少し前までのDBサイズ制限でしょ?
ちなみに2008R2からは10GB。
145144:2011/11/24(木) 08:50:06.73 ID:???
146NAME IS NULL:2011/11/24(木) 10:24:57.46 ID:KM7yt5eD
>>144
メモリとDBサイズ間違えた。
DBサイズも増えているのか。
Expressでも結構使える。
147NAME IS NULL:2011/11/24(木) 10:35:38.47 ID:???
メインメモリは2Gは欲しいな
148NAME IS NULL:2011/11/24(木) 11:04:48.99 ID:???
SQL鯖ならメモリ16GBがデフォだな
メモリ安いしケチる必然性がない
149NAME IS NULL:2011/11/24(木) 11:20:54.77 ID:???
16GBのせる程度の規模なら32G〜128Gのせたら快適になるぜ
150NAME IS NULL:2011/11/24(木) 12:57:07.34 ID:???
ディスクは敢えて RAID-0

冗長性はデータベースミラーリングで確保
ライセンスは1つで大丈V
151135:2011/11/24(木) 18:11:43.90 ID:???
すみません、いまだに解決せず誰か教えてくださいまし。
FROM以降を、自分でつけたテーブル名を入れたら、見つかりませんってエラーが出ました。
考えられる間違いってどこですかね?
ちなみにFrom(スペース)(自分で名前変更したテーブル名)で入れてみてダメでした。
152NAME IS NULL:2011/11/24(木) 19:53:41.70 ID:???
まず union しないで select できてるのか?
自分で付けたとか名前変更したとかどうやってやったんだ?
テーブル作ったときのユーザとselectしてるユーザは同じユーザか?
153NAME IS NULL:2011/11/24(木) 19:59:36.89 ID:???
2012 になったらミラーリングは Enterprise 必須なんじゃね?
154NAME IS NULL:2011/11/24(木) 21:18:58.41 ID:???
>>151
Systemデータベースに入ってるんじゃねぇの
155NAME IS NULL:2011/11/24(木) 21:19:28.40 ID:???
>>154
ちがった逆だ
156NAME IS NULL:2011/11/25(金) 09:36:10.55 ID:???
技術情報の交換がなされている。。本来のにちゃんねるらしいね
157NAME IS NULL:2011/11/26(土) 15:47:09.42 ID:???
passj が生きてたころはもっと活気があった
158NAME IS NULL:2011/11/29(火) 23:25:43.36 ID:???
データベスミラーリングを使って、SSD→HDDとするとリードパフォーマンスと安全性を両立出来て良さげな気がするんですがどうでしょうか?

159NAME IS NULL:2011/11/29(火) 23:29:42.94 ID:???
意味なし芳一だな
160NAME IS NULL:2011/11/30(水) 00:41:26.03 ID:iH8GNjbb
>>158
HDD側が書き終わるまで待つから意味ないのでは
161NAME IS NULL:2011/11/30(水) 07:53:46.19 ID:???
体感速度なんて読み込み中心で考えればいい
例えばインデックス減らして書き込み速度を上げるなんてアプローチは無意味だろ?
162NAME IS NULL:2011/11/30(水) 07:56:11.10 ID:???
>>158
たぶん最初は劇的な効果があがるけど、SSDの書き換え寿命が近づいてきたら
リトライ頻発で SSD への書き込みに時間がかかるようになるけど
その時点では、フェールオーバーされない。

目に見えて遅くなってきたら、SSDの寿命が近くて書き込みリトライ頻発してると判断して
フェールオーバーして手動でSSD交換する、という運用じゃないと
163NAME IS NULL:2011/11/30(水) 07:57:55.23 ID:???
連投スマン

ただ、現実的なアプローチとしては、メモリーが積めたら積めるだけ
(データベースサイズを超えることが望ましい)

そんで普通に HDD でいいと思う。
164NAME IS NULL:2011/11/30(水) 12:31:03.04 ID:???
メモリいくら増やしても、OSのパッチ適用とか、ハードの保守で再起動するわけだからそのタイミングでキャッシュなくなるんじゃない?
それならキャッシュを当てにしなくてもパフォーマンスが出る構成ってありじゃない?
定期的にSSDとっかえること前提で。
165NAME IS NULL:2011/11/30(水) 14:04:00.18 ID:???
初歩的な質問ですみません。

Windows Server+SQL Serverが動いている環境で
クライアントを追加する事になり、追加する台数分の
サーバとSQLのCALを購入したのですが、これらの
SQLライセンスを既存のサーバに追加(登録?)する場合は
どうすれば良いのでしょうか。
166NAME IS NULL:2011/12/01(木) 12:02:19.61 ID:???
ライセンス証書を買います。
以上です。
167NAME IS NULL:2011/12/01(木) 12:03:25.23 ID:???
ああ既に証書は買ってあるのか
それならば、あとは何もしなくていいよ
168NAME IS NULL:2011/12/01(木) 21:28:20.67 ID:???
証書を買って…何もしなくていいんですか?
その”証書”のコードか何かをサーバに登録するよう”な事を
行うのかと思っていたのですが…

後出しになって申し訳ないのですがオフライン環境です。
例えばOSのアクティベーションでインターネット認証と電話認証が
あるように、前者を想定しての回答でしたら申し訳ありません
169NAME IS NULL:2011/12/01(木) 23:50:04.61 ID:IPsSFMRf
>>168
なにもない。
証書だけかう。
170NAME IS NULL:2011/12/01(木) 23:52:01.89 ID:???
MSは紳士協定が好きだよな
171NAME IS NULL:2011/12/02(金) 09:34:03.85 ID:???
マジれすしてやるよ

実はマイクロソフトからオンラインで証書をオーダーした瞬間に
過去に WindowsUpdate によって吸い上げられたマシン情報と突合処理され
個人が特定されたうえで自動的にアクティベーション処理される仕組みだ
172NAME IS NULL:2011/12/02(金) 11:40:06.70 ID:???
>>170でアクティベーションのカールチューンが呼び覚まされました。

つまり本来はそんなもん買わなくても繋げられるが、監査入った時に
覚悟しろよこの野郎、ということですね!

よって、ライセンスを買う前でも、ライセンス違反ではあるが接続は可能。
そのためライセンスを買っても何もする必要はなく、それを大事に保管しておいて
ライセンス調査があった時に提示すれば良い!ということですね。

買ったらあとは作業する必要がないとわかり安心しました。ありがとうございました。
173NAME IS NULL:2011/12/02(金) 11:41:09.68 ID:???
何を言ってるのか分らない
174NAME IS NULL:2011/12/02(金) 11:41:50.96 ID:???
誤爆
175NAME IS NULL:2011/12/02(金) 14:51:53.97 ID:???
昔はOSにライセンスマネージャってのがあった気がしたんだが
最近のWindowsじゃなくなったのか?
176NAME IS NULL:2011/12/02(金) 21:37:15.63 ID:kohrfEHA
ライセンス違反よりライセンス管理のが金かかるんだよ
国家レベルのID数もってるわけだからね
177NAME IS NULL:2011/12/03(土) 09:52:35.01 ID:???
>>175
今でもそうなのだと思っているのですがここで話を聞く限りでは
証書さえあればオフライン環境でも問題ないそうですね。

>>176
その理屈で言うと世界中の
 OSのID数>>>>>>>CAL数>SQL CAL数
で、OSはちゃんと管理している(アクティベーションが必要)なのですから、
何とかなりそうな気もします。

あの金に汚いMSが紳士協定で甘んじるというのはどうもしっくりきません…
証書さえあればいいというのは本当なんでしょうか…
178NAME IS NULL:2011/12/03(土) 10:00:50.60 ID:???
「金に汚い」とか思うなら、そこのソフトを使うなよ。
179NAME IS NULL:2011/12/03(土) 15:44:14.46 ID:???
>>177は1回オラクルとか使ってみろ
180NAME IS NULL:2011/12/03(土) 15:47:45.97 ID:???
サポート契約しないと、修正パッチすら入手不可能w
181NAME IS NULL:2011/12/03(土) 16:02:08.32 ID:???
いまだにMSにそういうイメージ持っている人多いよね
あぽーとかラリーのやってることに比べたらまだかわいい方
182NAME IS NULL:2011/12/03(土) 16:32:07.07 ID:???
パッチ入手以前にパッチがあることすら公開禁止
つか不具合であることさえ公開禁止

サービスパックタダで配るMSのなんと寛大な事か
183NAME IS NULL:2011/12/03(土) 17:20:40.68 ID:???
>>182
そうそう!システム障害の原因がOracleDBであってもそれを公表することすら契約違反。
日経コンピュータのシステムトラブル記事でも、原因が未公表の場合、Oracle障害の可能性を指摘してるケースがあったりする。
184NAME IS NULL:2011/12/03(土) 19:59:42.22 ID:???
>>178
漏れは長年ORACLEのソフトは使わないことにしていたんだが
SUNが買収されて困ったことになった
185NAME IS NULL:2011/12/04(日) 12:20:51.66 ID:???
おがわみつぐって何してるんだろ今ごろ
186当日商品を出しました:2011/12/05(月) 12:30:54.43 ID:NhGSykwm
当日商品を出しました
4-7日到着します。
よろしくお願いします
店長:吉田 杏子
0870
http://xua.me/dSB
187NAME IS NULL:2011/12/08(木) 20:03:50.20 ID:???
>>186
kwsk
188NAME IS NULL:2011/12/11(日) 12:21:26.13 ID:55w2N/S/
検索エンジンGoogleで「インターネットテレビ 朝鮮総連 少頭劣一族 マイクロソフト社(又は経済産業省等気になる省やインターネットや原発、地震 波動砲)」を検索。
警察と自衛隊の武器は少頭劣一族が奪い、朝鮮に送ったらしい。知能障害以前の頭が悪い家族達。「工作員」の意味を知らない「工作員」家族。
189NAME IS NULL:2011/12/11(日) 23:55:44.53 ID:rW0pRuCk
今業務で2000⇒2008R2の移行をやっていますが
2000バージョンで運用していたバッチから「DBCC SHRINKDATABASE」をコールすると
実行したところエラーが返されます。
他のストアドプロシージャは特段差異がないのですが・・・。
190NAME IS NULL:2011/12/12(月) 06:21:06.70 ID:???
エラーメッセージ書かないって何様
191NAME IS NULL:2011/12/12(月) 21:10:29.80 ID:???
ユニオンクエリーを実行したとき、2000と2008R2で結果が違ったことがあるかな
まぁ、含めてつくり直すべきだな
俺のように汎用機からしている人間の発想では、設計ありきだったが軟弱なパソコンサーバーになってからは結果ありきで設計も改めないといけない
192NAME IS NULL:2011/12/13(火) 05:10:05.15 ID:???
unionで結果が違うってどういう状況だ?
kwsk
193NAME IS NULL:2011/12/13(火) 10:06:02.66 ID:???
>>191
ソート順とかか?そうじゃなければバグだろう。
194NAME IS NULL:2011/12/13(火) 17:30:11.04 ID:???
195NAME IS NULL:2011/12/13(火) 22:10:39.18 ID:???
ちと調べてみたが

互換性レベル設定 80
可変長列と固定長列に UNION を実行すると、固定長列が生成されます。

互換性レベル設定 90
可変長列と固定長列の UNION によって、可変長列が作成されます

ほかにも、UNION を使用する INSERT .. SELECTはどうたら、とか言う変更もあったみたいだ
http://msdn.microsoft.com/ja-jp/library/bb510680.aspx
196NAME IS NULL:2011/12/14(水) 16:13:41.81 ID:pu476EDH
時々SQL Serverと自作したアプリが切断されてしまいます。
切断された時にイベントを見ると以下があるのですが、どのような原因か分かりますでしょうか?

----
xpstar.dll' バージョン '2000.80.2039' を使用して、拡張ストアド プロシージャ 'sp_MSgetversion' を実行します。
----

sp_MSgetversionの実行というのがどういう事をしているのか分からないのですが、実行が必要なら
これを業務時間外にするなどして対応してみたいのですが、方法が全く分からず。


環境:
WindowsServer2003 * SQL Server 2000 * Access 2003(リンクテーブル)/VB
197189:2011/12/15(木) 00:00:27.43 ID:???
恐れ入ります。189の追伸です。

バッチを起動したとき以下のメッセージが出力されます。
Sqlcmd: エラー: Microsoft SQL Server Native Client 10.0: エラーを特定できません

また、Management Studioのクエリエディタから「DBCC SHRINKDATABASE」を実行すると以下のメッセージが出力されます。
現在のコマンドで重大なエラーが発生しました。結果は破棄しなければなりません。
198NAME IS NULL:2011/12/15(木) 06:40:35.49 ID:???
>>197
DBCC CHECKDB 動かしてみたら?
199NAME IS NULL:2011/12/15(木) 10:19:56.72 ID:???
1万行くらいのデータ(DataTable型に入ってる)を一括して SQL Server のテーブルに INSERT したいです。
For 〜 Next で回しながら INSERT していくと、1万行の挿入に数分かかっちゃってます。

DataTable 型の中身をファイルに落として、Bulk Insert 〜 したら解決しそうに思いましたが、
SQL Server にファイル受け渡し用の共有フォルダを掘りたくありません。

Bulk Insert の引数に image型 なり FileStream型なり
SQL Server との通信ソケットの中にテキストファイルを入れてサーバーに送信して、
サーバーで Bulk Insert したいのですが、そんなこと出来ませんでしょうか?
200NAME IS NULL:2011/12/15(木) 12:18:41.54 ID:???
ループの中で毎回commitしてるんだろ
201NAME IS NULL:2011/12/15(木) 14:20:16.59 ID:???
途中で Insert が失敗しても Rollback する必要ないほどの機能なので
Transaction で囲ってないんですが、そうすると毎回コミットになるんですか?

202NAME IS NULL:2011/12/15(木) 16:42:38.37 ID:???
なる
203NAME IS NULL:2011/12/15(木) 18:53:09.72 ID:???
SQL Serverの2000、2005、2008で動作するソフトの社内担当になりました。
これから勉強していかねばなりませんが、とりあえずこの3種類の違いから
解説しているようなSQL Serverの基礎本でおすすめはありませんか?
204NAME IS NULL:2011/12/15(木) 20:27:58.24 ID:???
>>199
まず一時テーブルにブチ込んで、一時テーブルからselect intoで一括インサートしてみたら?
205NAME IS NULL:2011/12/15(木) 21:07:07.70 ID:???
206NAME IS NULL:2011/12/16(金) 09:04:48.57 ID:???
>>202
Transaction で括ったら5倍くらい速くなりました。
とはいえ、1万件に1分ほどかかってます・・・

bulk insert の from の中で image型 の引数を渡すことはできないんですねー


>>204
その一時テーブルにぶち込むのに時間がかかってたんですよ
207NAME IS NULL:2011/12/16(金) 10:03:14.13 ID:???
>>206
主キーでソートしてからインサートしてみ。
一時テーブルにぶち込むなら一時テーブルは別ボリュームに配置すること。
208NAME IS NULL:2011/12/16(金) 10:33:43.27 ID:???
主キーは newid() で自動割り振りです。。
209NAME IS NULL:2011/12/16(金) 12:49:46.48 ID:???
>>206
insertのsqlをunionでつなげて100〜1000件単位で纏めてしまうのはどう?
210NAME IS NULL:2011/12/16(金) 18:27:17.68 ID:???
newidは重いから identityかrandで代用
211NAME IS NULL:2011/12/16(金) 21:47:28.78 ID:???
まず1万件のレコード長と回線速度をはっきりしてくれ
212NAME IS NULL:2011/12/16(金) 23:22:28.34 ID:???
2012のAllwaysOnは、実用に耐えるのかな。
次のシステム導入でOracleにするか悩む。

社内サーバで2台冗長化、
1台は外部クラウドでバックアップ兼DR対策に
しようと思うんだが。
すべて仮想サーバ上に構築予定。

Oracle高いんだよなぁ…
213NAME IS NULL:2011/12/17(土) 02:06:58.76 ID:???
あんまり新機能に期待しすぎない方が…
214NAME IS NULL:2011/12/17(土) 11:29:53.29 ID:???
>>205
遅くなりましたがどうもありがとうございます。
じっくり読んでみます。
215NAME IS NULL:2011/12/17(土) 16:51:46.56 ID:???
alwaysOn はミラーリングがベースとなっていると認識しているので
数ミリ秒のディレイが出ると思う。
OLTPシステムではそこが問題になりそう。
あとはフェールオーバーが .NET ありきでなくなったかどうか。

DRはクラウドがどこにあるかを把握していないとやられる。

IIJ GIO のブログで「関西にあるから安心です」(キリッ
には唖然とした。

気休めでいいならバックアップ1拠点でもいいかもしれないが
だったらストレージだけ用意してバックアップファイルを置いておけば
いい話で、インスタンスを上げておく必要はない。
どうせ回線が切れる。
216NAME IS NULL:2011/12/17(土) 23:58:12.04 ID:???
ふーむ。
やはり様子見が無難か。
217NAME IS NULL:2011/12/18(日) 00:19:28.89 ID:???
なんかMySQLにクリソツだなぁ
218NAME IS NULL:2011/12/18(日) 16:46:47.57 ID:???
DBスペシャリストの勉強しているんでけど、ロールって何に使うんですか?
開発しているときはずーっとsaなので、何使うかわかりません
219NAME IS NULL:2011/12/18(日) 17:16:03.78 ID:???
>>218
ヾ(゜Д゜ )ォィォィ
220NAME IS NULL:2011/12/18(日) 18:05:04.90 ID:???
public ロールのアカウント作ってそれで繋いでなにができるか試してみろ
話はそれからだ
221NAME IS NULL:2011/12/21(水) 03:57:56.27 ID:2Ke02uSJ
質問です。

現在、要件定義フェーズで、ハードは事前に購入しようとなっています。
ここで、ウザいユーザが
「今想定しているCPUで大丈夫」と聞いてきました(涙)

今回の開発で、以下の様な処理があります。処理時間を教えてもらえますか?
もちろん、さまざまな理由で変動要素があるので、かなり幅を持った値(数倍〜10倍)
でユーザには提案します。

OSはWindows Server 2008の64bit、DBMSは SQL Server 2008。

なお、各テーブルの件数は、最大で50万件程度。レコード長も普通以下のシステムです。
条件は厳しくないです。


@10万件のCSVファイルのデータをSQL Server にロード。

→ストアドでやるか、VB.NET(最新のVS)でやるかも、迷ってます。
 ストアドって、ファイルは読めなかった???
 

Aストアドで、5000件程度を処理(テーブルを読んで、チェックしたり、更新したり。
 今は要件定義なので、詳しいロジックはまだ不明)


よろしくお願いいたします!

222NAME IS NULL:2011/12/21(水) 04:34:41.63 ID:???
>>221
想定してるCPU書いてないし、ロジックも不明だしわけわからんが
その辺の空いてるマシンで試せよ。自分の端末でもExpressなら入れられるだろ

SQL ServerつかうならDTS使うんじゃないの?
ストアドとかbcpはCSVに弱いぞ

まあその件数なら今時のハードならでデスクトップでも瞬時だし
どっちかっつうどディスクI/Oの問題だろ
223NAME IS NULL:2011/12/21(水) 06:37:12.58 ID:???
OPENROWSET
224NAME IS NULL:2011/12/21(水) 08:19:35.99 ID:???
>>221
インポートするだけのシステムでCPUの心配とか
役所案件かw

税金無駄遣いの典型だな
225NAME IS NULL:2011/12/21(水) 13:31:26.72 ID:FCz33SUq
>>222

221です。

CPUは、Intel XeonR プロセッサ E3-1220L(2.2GHz,2コア)
です。

まあ、
@は5分〜20分
Aは5分以下
で、ユーザに説明します。システムテストで実機検証し、
相談するかもとの条件を付けてみます。
226NAME IS NULL:2011/12/21(水) 13:34:11.36 ID:FCz33SUq
>>224

221です。

役所じゃ無いけど、大企業。ちなみに大阪市役所から徒歩3分くらい。

インポートするだけのシステムじゃないけど、近いw
227NAME IS NULL:2011/12/21(水) 13:54:18.90 ID:???
郵便番号データを毎月全件インポートするバッチを走らせてるけど
bcp 使ってインポートとその後の加工(基幹DBへの登録)を含めて5分もかからんぞ
確か10万件くらいはあったはず

どんなSQL文を書くのか知らんが、5000件なんて3秒以下だろ
ちなみに鯖のスペックは、HP G6(9800円)+16GB+SAS2本をRAID-0
(冗長化はデータベースミラーで確保)
228NAME IS NULL:2011/12/21(水) 13:56:30.38 ID:???
業務時間内にやっても差し支えないので
手動でジョブ走らせて、郵便番号の取り込みで実測してみた。

CSVのダウソ(自動化済み)から基幹DBへの最終登録まで含めて、全部で20秒ほどだった。
229NAME IS NULL:2011/12/21(水) 13:59:10.26 ID:???
連投すまん

>5000件なんて3秒以下だろ

売上から請求明細を起こすストアドの実績値ね
(消費税の丸めを、行ごとか伝票ごとかトータルか、取引先に応じて判定して丸めつつ)
230NAME IS NULL:2011/12/21(水) 18:58:15.91 ID:FCz33SUq
221です。

みんなの温かい支援、ありがとうございます。

今時10万件くらい、気にするような件数では無い…思ってましたが、
自信がありませんでした。

もちろん、vbで、レコードを1件読んで、odbc経由でsqlサーバに接続
して、insertして、comittして、また次のレコード読んで…のような
ループ処理にすると遅くなるのはワカッてます。
231NAME IS NULL:2011/12/21(水) 20:11:39.40 ID:???
>>230
>vbで、レコードを1件読んで、odbc経由でsqlサーバに接続
>して、insertして、comittして、また次のレコード読んで

バッチ処理なんだろ?
vbがどうとか置いといて、
もはやこの順序が間違ってるぞ。
10万件処理したら遅いかもな。
ハードウェアの問題でなく
設計が問題だろう
232NAME IS NULL:2011/12/21(水) 20:15:14.47 ID:???
というか要件定義じゃなくて設計レベルの話でしょ。
自社のエンジニア同伴させたほうが早いと思う。
233NAME IS NULL:2011/12/26(月) 08:07:56.98 ID:???
sqlserverのテーブルをエクスポートしようと
transferdatabaseを利用したのですが、
エクスポートしたテーブルの主キーが設定されてない状態になっていました。

VBAを利用して主キーを引き継いだ状態で
エクスポートする方法は無いのでしょうか?
234NAME IS NULL:2012/01/08(日) 21:18:24.82 ID:???
oracleだと変数の長さを指定するときに、
M_TABLENAME.COLUMN_NAME%TYPE を使えます
sql serverではできないんですか?
235NAME IS NULL:2012/01/09(月) 03:33:20.28 ID:???
出来ません。
変更があってもいいように項目長を長めにとるか、一時テーブルSELECT INTOで作るぐらいしかない。
236NAME IS NULL:2012/01/17(火) 12:12:39.12 ID:yr/5Pc50
Enterprise Managerのプロセス情報((サーバー名→管理→現在の利用状況→プロセス情報))にて表示される
「ホスト」の欄は、PC名が表示されるようなのですが、実際にはアクセスしているPC名では無く作成者のPC名が表示されています。

これをアクセスしているPCに変更する事は可能なんでしょうか?

アプリケーション欄を見ると Microsoft Office 2003と表示されています。実際にはAccess2003のリンクテーブルにて接続になります。
237NAME IS NULL:2012/01/17(火) 20:47:07.88 ID:???
接続文字列で指定すればいい。
238NAME IS NULL:2012/01/21(土) 14:05:58.27 ID:???
2008R2なのですが、time型で格納されたデータの合計時間をSUM()のように計算する関数はないのでしょうか?
結果は文字列でいいのですが…
239NAME IS NULL:2012/01/21(土) 22:19:01.73 ID:CIHc6oLM

サービスパックを統合したインストールディスクの作り方調べてたら、
こんなページ↓発見したわ


SQL Server 2008 RTM + Service Pack 1 を含む統合 (スリップ ストリーム) ドロップを作成
http://blogs.msdn.com/b/petersad/archive/2009/02/25/sql-server-2008-creating-a-merged-slisptream-drop.aspx


一回でサービスパック適用済みでインスコできるようになるなら、楽でいいな
240NAME IS NULL:2012/01/22(日) 12:11:58.62 ID:???
MSSQL使っててパフォーマンスに不満とかある?
Oracle使ってるけどMSSQLに乗り換えようか検討中なんだ
241NAME IS NULL:2012/01/22(日) 12:36:23.24 ID:???
パフォーマンスというか、原因不明なデッドロックとかに悩まされる事は多いな。

242NAME IS NULL:2012/01/22(日) 15:44:40.82 ID:???
乗り換え理由が知りたい
243NAME IS NULL:2012/01/22(日) 15:48:57.28 ID:???
>>240
分析関数が比較にならないほど弱いね。
あと意味不明なバグは結構遭遇する。
244NAME IS NULL:2012/01/22(日) 17:05:43.16 ID:???
イミフなバグに遭遇するのはORACLEも一緒。
バグの無いDBMSなんて無いから…
245NAME IS NULL:2012/01/23(月) 02:22:12.24 ID:???
オラクルは曲がりなりにもパッチが(MSにくらべて)早くでてくるからな
246NAME IS NULL:2012/01/23(月) 02:25:50.93 ID:???
そういうときのMSKKの対応の丁寧さは特筆に値する。
けどUSのDevチームに橋渡しするだけだったりする。
パッチが出来あがるまではかなり時間がかかると思ったほうがいい。
247NAME IS NULL:2012/01/23(月) 09:00:01.29 ID:???
パッチが出ようが、一度バグでハマる事には変わりない。
実運用環境でトラブル起きてからでないと問題解決しないのは、どの製品も同じ。
膨大な日本語にもなってないバグ情報常にチェックし続けるのは現実不可能だし、少なくとも最初の一人にとっては、バグ情報は無意味。
248NAME IS NULL:2012/01/23(月) 09:22:58.14 ID:???
>>247
>実運用環境でトラブル起きてからでないと問題解決しないのは、どの製品も同じ。
オラクルもバグ多く低て開発段階でも発覚するし、それでもMSよりは対応早い。
そもそも実運用に入る前にテストするだろ。
249NAME IS NULL:2012/01/23(月) 10:11:59.03 ID:???
実運用前に全ての障害が取り除けると思ってる時期が俺にもありました。
250NAME IS NULL:2012/01/23(月) 10:21:12.35 ID:???
既知のバグ抱えたまま実運用はいるのかね?
そもそも開発に支障をきたすだろが。
251NAME IS NULL:2012/01/23(月) 13:09:32.56 ID:???
ブロッキングが発生したら、一定時間で自動的に強制解放する方法とかって無いんでしょうか?
252NAME IS NULL:2012/01/23(月) 20:37:07.95 ID:???
MSのサポート契約は何よ?
253NAME IS NULL:2012/01/23(月) 23:35:09.03 ID:???
プレミアサポートだったかな?
254NAME IS NULL:2012/01/25(水) 15:29:49.66 ID:???
先週だかに WindowsUpdate してから、異様に重くなったんだけど
みんなの大丈夫?

テーブル値を返すストアドを使うと半端なく遅い。
ストアドの中の SQL 文を単発で実行すると速攻で動くので
SQL文がゴミってことはないはずなんでが

てか、WindowsUpdate まではサクサクじゃった。
255NAME IS NULL:2012/01/25(水) 21:07:01.26 ID:???
tempdb が腐ったとか
テーブル型を宣言して insert, select してどうなるか
256254:2012/01/27(金) 10:37:48.31 ID:???
劇遅になったストアドの、どの部分が遅いのか特定できた。
カーソル作って回してるんだけど、初発の FETCH NEXT で数十秒かかってる。

カーソルの SELECT定義は、超シンプルで
そこの部分だけコピペして単独で動かす分には1秒かからない。

クレームの嵐で最悪だ
257NAME IS NULL:2012/01/27(金) 10:44:20.87 ID:???
連投ですみません。
SELECT TOP 99999 とか書いたら直りました。

カーソル定義のところ、数行しか抜けて来ないので、ずっと省略してましたが・・
99999 って書いても実際に抜けてくるのは数件なんですが・・・

TOP 999999999 でも大丈夫(速攻で戻ってくる)

つまりは TOP 〜 を省略しただけで劇重
しかも、同じようなカーソル回してやってるところ
(FROM が違うだけで構造は全く一緒)
は TOP 省略でも影響なし


意味不明
258NAME IS NULL:2012/01/27(金) 10:51:04.02 ID:???
バグっぽいな
259NAME IS NULL:2012/01/27(金) 20:28:08.86 ID:???
カーソルでオープンしたときの実行計画ってみれないんだろうか?
とりまクラスターインデックスと普通のインデックス作り直してみたら?
260NAME IS NULL:2012/01/28(土) 00:44:11.05 ID:???
ストアドは作成時のプランからかわらないんだっけ?
>>257のtop句はあまり関係なくて
dropcreateして新しい統計情報を元にしたプランに変わったんでね?
261NAME IS NULL:2012/01/28(土) 03:00:08.21 ID:???
>>257
でかいテーブルは直接カーソルフェッチせずに、
まずSQLで必要な部分だけテーブル変数にブチ込んで、
テーブル変数をカーソルフェッチしてやるのが吉。
262NAME IS NULL:2012/02/01(水) 04:50:22.62 ID:???
>>261
それだと元テーブルのロックが保持できないと思うんだが
263NAME IS NULL:2012/02/01(水) 21:25:20.26 ID:???
でかいテーブルを長時間ロックすることが必要なロジックって・・・
264NAME IS NULL:2012/02/01(水) 21:42:22.40 ID:???
べつにでかいテーブルを長時間ロックしろとは言ってないが
すくなくともカーソル回してる間ぐらいロックしときたい、って事はあるんじゃないかと思った

具体的にどんな時といわれても思い当たらないが
265261:2012/02/02(木) 23:00:43.11 ID:???
>>263
その場合は、テーブル変数にブチ込むデータを抜き出す時、同時に
ロック(UPDLOCKとか)してやればいいだけだよ。

処理したデータにフラグを立てるような処理なら、
最初にUPDATEして、OUTPUT句でテーブル変数に入れるってことも可能。

266261:2012/02/02(木) 23:02:36.49 ID:KmwPy6IR
間違えた
× >>263
○ >>262
267NAME IS NULL:2012/02/03(金) 06:29:56.64 ID:???
テーブル変数も primary key があるかないかで処理速度が全然違うぞ
268NAME IS NULL:2012/02/04(土) 00:05:34.38 ID:???
PKっつうかクラスタードインデックスじゃね?
269NAME IS NULL:2012/02/04(土) 15:19:07.38 ID:???
テーブル変数の場合例外なくPK=クラスタードインデックスだよ。
テーブル変数には非クラスタインデックスは作れないから、キーの選び方にコツがある。

本来インデックスにしたい項目だけで一意にならない場合、ダミーの連番項目を追加して複合キーにしてみたり、

やたらと変数を定義したくない場合、キーをダミーの連番のみにして、
番号アクセスできる配列のようにしてみたり。
270NAME IS NULL:2012/02/08(水) 17:49:33.45 ID:dJl7HmCl
SQL Server2000です。

日付だけを保持したい場合、データの型はどっちを使うべきなんだろう。
Datetime or nvercher
271NAME IS NULL:2012/02/08(水) 18:04:02.08 ID:???
大量に保持したい場合(バイト数が少なくて済むので)
 Datetime
 秒まで保持する必要がない場合は SmallDatetime

少ない場合は
 varchar

でいいと思う
272NAME IS NULL:2012/02/08(水) 18:16:17.60 ID:???
varchar は論外だろ
dateadd とか使えなくなるし
273NAME IS NULL:2012/02/08(水) 18:27:26.66 ID:???
dateadd を使う必要があるかによって決めればいい

目的が保持なので

t


274NAME IS NULL:2012/02/08(水) 18:54:43.56 ID:???
秒まで入る Datetime って8バイトでしょ
smalldatetime は4バイト
varchar で秒まで入れたら何バイトよ

いみふ
275NAME IS NULL:2012/02/08(水) 20:27:27.68 ID:???
>>274

気分の問題だが ↓

ttp://ap.atmarkit.co.jp/bbs/core/fdb/19919


俺はDB製品に依存した型は使わないほうが

安心できる派なんで


276NAME IS NULL:2012/02/08(水) 22:24:08.24 ID:???
今日は 2012/02/08 ? 02/08/2012? 08/02/2012?
DBの型に依存せずに言語に依存したいんですね
277NAME IS NULL:2012/02/08(水) 22:25:46.55 ID:???
むしろデータベースに依存せずに、OSの標準レコード管理を使って方がよくね w
278NAME IS NULL:2012/02/10(金) 12:21:13.68 ID:???
sqlcmdでDBのストアドをファイル出力するコマンドってある?
279NAME IS NULL:2012/02/10(金) 15:35:04.58 ID:6Q/y9q0T
2005 EXPRESSなんですけど、メモリ最大値が1Gで、cpuは一個までサポートしています。

複数インスタンスを作成した場合、各インスタンスでメモリ1Gやcpu1個を占有できるんでしょうか。
それとも、全てのインスタンスで1Gのメモリ、1個のCPUを共有するのでしょうか。

わかりやすいページがあったらおしえてください。
280NAME IS NULL:2012/02/10(金) 16:30:21.85 ID:???
>>279

こことかどうかな?
ttp://www.atmarkit.co.jp/fwin2k/tutor/sqlexplmt/sqlexplmt_02.html

今から新規なら、2008R2 EXPRESS のがよくない?
281NAME IS NULL:2012/02/10(金) 16:53:19.84 ID:???
>>280
レスありがとうございます!

>Expressの場合、同時利用可能な物理プロセッサの最大数が1基のみ、
>また利用可能なメモリ容量(SQL Serverのプロセスが利用するメモリ・サイズ)が最大1Gbytesに制限される
>(いくら物理メモリに余裕があっても、Expressのプロセスはこれ以上は使用しない)。

「Expressのプロセスはこれ以上は使用しない」ということは、複数インスタンスを作成した場合、
全てのインスタンスでメモリ1Gを共有するということになるのでしょうか。

2008 R2というのがあったんですね。
ACCESSから接続できたら試してみたいと思います。
2005からはそのままアタッチできるのかな。

しかし、1cpuに複数コア搭載している場合は、それらを使うことができるとはいい話だなあ。

282NAME IS NULL:2012/02/10(金) 17:04:29.84 ID:???
>>281
> 「Expressのプロセスはこれ以上は使用しない」ということは、複数インスタンスを作成した場合、
> 全てのインスタンスでメモリ1Gを共有するということになるのでしょうか。

そういう事っぽい。

> ACCESSから接続できたら試してみたいと思います。
> 2005からはそのままアタッチできるのかな。
つなぎ方は同じ。
2005からのアタッチもそのまま可能
283NAME IS NULL:2012/02/10(金) 17:21:35.54 ID:???
>>282
>そういう事っぽい。
そうですか。残念です。複数の物理サーバーを立てます。(仮想環境で)

>つなぎ方は同じ。2005からのアタッチもそのまま可能
ありがとうございます。安心しました。
一度、2008 R2のexpressをダウンロードして使ってみます。
284NAME IS NULL:2012/02/10(金) 23:06:05.46 ID:???
SQLServerのインスタンスって、名前付きインスタンスだよな
インスタンス複数つくったら、プロセスも複数できてないのか?
そして複数インスタンスでメモリ共有するような仕組み持ってるのか?
285NAME IS NULL:2012/02/10(金) 23:12:36.97 ID:???
>>284
そうです。名前付きインスタンスのことです。
各々の名前付きインスタンスが、1GBのメモリ、1CPUを確保してくれれば言うことはないんですが。
286NAME IS NULL:2012/02/11(土) 00:30:36.05 ID:???
サービス見ると 

各インスタンス毎に出来てるから、メモリ共有はないと思うが、やってみて教えてくれ
287NAME IS NULL:2012/02/11(土) 01:54:05.37 ID:???
メモリや容量の制限を気にするなら、
PostgreSQLも検討してみたら。
288NAME IS NULL:2012/02/11(土) 13:24:28.63 ID:???
>>286
どんな風にして調べられるでしょうか。
各インスタンスのプロセスが占有しているメモリの合計が1Gを超えているかで判断していいですか。

>>287
そうですね。制限の気にならない環境に移行したいですね。
ただ今使っているストアドプロシジャなどを変更するのが大変ですね。
289NAME IS NULL:2012/02/11(土) 14:43:05.13 ID:???
インスタンスごとにsys.dm_os_memory_nodesで判るんじゃね
290NAME IS NULL:2012/02/11(土) 14:47:47.55 ID:???
>>289
参考になります。ぐぐってみます。
291弖十=帝徒=繪璃奈=啓北商業の野島(横濱):2012/02/12(日) 21:31:33.21 ID:XoCydM4h
嘩喃人が奪い、中国に送った警察と自衛隊の銃は アジア大陸の七百万人の命を奪った。嘩喃人の立て籠りの2年間に何人が犠牲になったかアジアに確認を。

嘩喃人の河馬兄弟が諦めず、止めない。
人質を捕り、立て籠りを続けながらハッキングをしつこく続けている。

皆、大正生まれの戦犯。原爆投下と枯葉剤を作った人間だ。

今も犠牲者が増えるばかりの 2-Hndred Yars' Wrの最中である事を日本人だけが知らない。
292NAME IS NULL:2012/02/15(水) 09:13:22.35 ID:???

次世代 SQL Server 2012 先得早割キャンペーン
https://bbss.smartmarketing.jp/cc/?c_d=1lHBrC9p4mUcX-7068%26p_e%3D25461
新しいのがでるのか。大して機能も変わらんが、まだ2000使っているから、そろそろリプレースを考えるか
293NAME IS NULL:2012/02/15(水) 20:23:01.51 ID:???
Express が出たら、2008 R2 から移行する。
294NAME IS NULL:2012/02/15(水) 20:51:35.13 ID:MptXRuL+
>>292
2000からだと簡単に移行できないよ
295NAME IS NULL:2012/02/15(水) 22:12:17.18 ID:???
>>294
うちもまだ2000使ってるぞ
その情報はどっから?
296NAME IS NULL:2012/02/15(水) 22:23:06.54 ID:???
2000ってバグあるでしょ。
それに、システム寄りのレコード番号なんかも使えない。
297NAME IS NULL:2012/02/15(水) 22:50:46.43 ID:???
2000 から 2008R2 x64 に移行したわ

自動アップグレードができないんで、

2000 の データベースを 新規インストールした 2008R2に 

1個ずつアタッチしたら動く状態にはなった


298NAME IS NULL:2012/02/16(木) 19:33:56.85 ID:???
>>294の言う簡単に移行 って、どのレベルで言ってるんだろう
デタッチ/アタッチやバックアップ/リストアで行けるならまあ問題ないが
2000から2012だとそれもできないってんならちょっと考えないといかん
299NAME IS NULL:2012/02/16(木) 21:03:16.72 ID:lVkjlb1s
>>298
どっちもできない
300NAME IS NULL:2012/02/16(木) 21:47:51.15 ID:???
>>299
ソースは?
301NAME IS NULL:2012/02/17(金) 06:35:15.67 ID:???
オタフク
302NAME IS NULL:2012/02/17(金) 21:48:57.88 ID:???
SQLSERVER2008+VB.netです。

トリガーの中でエラーが発生するとそこまでのトランザクション全体がロールバックしてしまいますが、トリガーの元のSQL文だけが失敗するようにしたいです。どうしたらいいですか?
303NAME IS NULL:2012/02/17(金) 21:50:16.01 ID:???
エラーを握りつぶす。
304302:2012/02/17(金) 22:07:02.55 ID:???
ありがとうございます。

トリガーの中は、

BEGIN TRY
処理
END TRY
BEGIN CATCH
END CATCH

としてしいますが、ロールバックされてしまいます。CATCHに何か書く必要ありますか?
305NAME IS NULL:2012/02/23(木) 19:50:05.18 ID:???
306NAME IS NULL:2012/02/23(木) 20:01:16.27 ID:???
なんで 2000?
307NAME IS NULL:2012/02/23(木) 20:04:44.09 ID:???
MSDE2000をGUIで使いたかった
だから Enterprise Manager目的で評価版が欲しかったのです
308NAME IS NULL:2012/02/23(木) 20:21:21.84 ID:???

教えて頂きたいのですが、SQLserver 2005 Standardにて下記機能は制約なく利用可能でしょうか?

・レプリケーション
 スナップショット
・シノニム
・リンクサーバー

SQL Server 2005 エディション別機能比較表を見ても書いてないのです・・・・
309NAME IS NULL:2012/02/23(木) 20:34:37.87 ID:???
SQLServer2008とアクセスのadpなのですが、データシートのレコードソースにSELECT文にヒント句
ROWLOCKを指定して編集可能にした場合、エスカレーションロックが発生するのかどなたかご存知ありませんか?
310NAME IS NULL:2012/02/23(木) 20:41:12.64 ID:???
>>2008 ExpressのGUI じゃだめなの?
311NAME IS NULL:2012/02/23(木) 20:56:21.62 ID:???
>>308

制約なくが どのくらいのことを示すのかわからんが

基本できる
312NAME IS NULL:2012/02/23(木) 21:34:20.28 ID:???
>>309
ROWLOCKを指定してもロックエスカレーションは防げなかったと記憶してるが
313NAME IS NULL:2012/02/23(木) 22:49:21.09 ID:???
うーん、テーブルに対して、
LOCK_ESCALATION = DISABLE
オプションかければいいのでしょうか。

accessのrecordsourceのselect文の働きがよくわからない。
314NAME IS NULL:2012/02/24(金) 04:33:25.45 ID:???
powerview
315NAME IS NULL:2012/02/24(金) 08:55:14.86 ID:???
>>310
ありがとう。
エンタープライズと比べて機能制限がある=制約という意味でした。
316NAME IS NULL:2012/02/24(金) 22:22:48.15 ID:4Ms3DnS1
Windows Server 2008 R2 + SQL Server 2008 R2 Express

データベースを定期的にバックアップしたいと思います。
今はローカルにしてるので動いてます。
こんな感じです。

BACKUP DATABASE AdventureWorks2008R2
TO DISK = 'E:\Backup\Data.Bak';
GO

これをネットワーク共有フォルダ(Terastation or 別のWindows Server 2008 R2)に変更しました。
TO DISK = '\\Terastation\Backup\Data.Bak';
TO DISK = '\\Server2\Backup\Data.Bak';
しかしどちらもエラー(確かアクセス権だったような。今実機ないので)でバックアップできません。
ちゃんとエクスプローラからその共有フォルダにアクセス出来て、ファイルが作成できるのは確認してます。
アクセス権は問題ないと思うのですが、理由分かる人いるでしょうか?
317NAME IS NULL:2012/02/24(金) 23:02:31.16 ID:???
>>316

ネットワークドライブにしたらどうなることやら
318NAME IS NULL:2012/02/24(金) 23:45:14.40 ID:feqB0lbh
>>316
SQL Server サービスのアカウントでアクセス権があるかどうかだろ
319NAME IS NULL:2012/02/25(土) 00:02:20.26 ID:???
>>317
> ネットワークドライブにしたらどうなることやら
ttp://social.msdn.microsoft.com/forums/ja-JP/sqlserverja/thread/d81f3dbc-9235-45e4-9743-2f854e5647d9/
ここに「文字通りの network drive (dirive letter への割り当て) では NG です。」ってあったので試してはないんです。

>>318
> SQL Server サービスのアカウントでアクセス権があるかどうかだろ
上のURLの
SQL Server サービスの実行アカウント(SQL Server 構成マネージャからプロパティ→ログオンで変更できる)を
ネットワーク ドライブに対して書き込み権限があるアカウントに変更
って奴だと思うんですが、画面の「SQL Server 構成マネージャ」右クリックしてもプロパティ自体なくて今日は諦めました。
もしかしたらSQL Server (SQLEXPRESS)かSQL Server Browserだったのかも。

来週二人に教えてもらった情報を元にまたチャレンジしてみます。
320319:2012/02/27(月) 22:47:45.29 ID:???
やっぱりSQL Server (SQLEXPRESS)のプロパティでした。
そこを共有フォルダに権限与えたアカウントにしたらいけました!
321NAME IS NULL:2012/02/28(火) 01:54:26.80 ID:VGSyzWma
SQL Serverでは、PRIMARY KEY制約、UNIQUE制約とも16項目までですが、
それを越える項目につけたい場合、どのようにすればよいのでしょうか?
322NAME IS NULL:2012/02/28(火) 02:07:35.71 ID:???
16列でユニークにならないのか?
代理キー付けとけよ
323NAME IS NULL:2012/02/28(火) 02:16:19.37 ID:???
>>322
22列でユニークになります。。。
非クラスタ化インデックスとか読んでたんですがよく分かりません。。。
324NAME IS NULL:2012/02/28(火) 06:27:33.94 ID:???
全部連結した一項目つくってそこに張る
325NAME IS NULL:2012/02/28(火) 06:28:22.90 ID:???
>>321
全部を横並びでくっつけたCHAR列を作って回避
326NAME IS NULL:2012/02/28(火) 08:56:30.20 ID:???
>>324
>>325
おお!
やってみます。
327NAME IS NULL:2012/02/28(火) 10:40:54.18 ID:???
primarykey を考えるのに疲れたので、最近はほとんど newid() だな
328NAME IS NULL:2012/02/28(火) 20:24:25.69 ID:???
newid() は結構コスト高い
329NAME IS NULL:2012/02/28(火) 22:58:24.55 ID:???
>>321ですが、結論は、制約をつけない(データ作成のストアドで一意を保証する)ということになりました。。。
いろいろ教えてくださった皆さん、ありがとうございました。
330NAME IS NULL:2012/02/28(火) 23:58:00.28 ID:nVh7GjfS
>>323
非クラスタ化インデックスはユニークである必要はないです。
331NAME IS NULL:2012/02/29(水) 23:59:10.37 ID:???
今の出向先で列数が多いんだけど
カーソル使って変数に取り出すとき、ほとんどのサンプルが
FETCH NEXT FROM [カーソル名] INTO [変数リスト]

WHILE @@FETCH_STATUS = 0
BEGIN
  [処理内容]

  FETCH NEXT FROM [カーソル名] INTO [変数リスト]
END
この書き方だけどこれだと変数が100とかある時、大変・・
下記のような書き方は邪道なんかな・・・

WHILE 1 = 1
BEGIN

  FETCH NEXT FROM [カーソル名] INTO [変数リスト]

IF @@FETCH_STATUS <> 0
BREAK;

  [処理内容]

END

もっとスマートな書き方がないのかな・・・
332NAME IS NULL:2012/03/01(木) 05:36:26.05 ID:???
スマートじゃないのは同意するが、どうせ1回書いたらコピペするだけだろ
基本的にはパターンだと思って上の書き方でやってる
333NAME IS NULL:2012/03/01(木) 07:51:36.50 ID:???
>>332
やっぱそうなのか・・・
確かにコピペで済むのでわざわざ一般的な書き方を崩してまで
書く価値は無いので結局、定石通りの書き方をしてるけど・・
334NAME IS NULL:2012/03/03(土) 04:46:08.77 ID:???
>>333
同じこと2回書きたくないから>>331の下の書き方してる。
335NAME IS NULL:2012/03/03(土) 14:25:03.45 ID:???
SELECT処理実行で、同時にINSERT処理を自動で発生させる動きを
実装させたいんですが、DMLトリガー的な技術で実現できないのでしょうか。
336NAME IS NULL:2012/03/03(土) 16:26:59.24 ID:???
無理。
監査みたいなことしたいのなら C2監査を利用するか
select 用の procedure か function を用意して
ユーザーはそれだけしか利用できないようにする。
337NAME IS NULL:2012/03/04(日) 15:23:43.51 ID:???
jdbc で、選択列に sql_variant 型を含む select 文を実行すると、
例外が発生する上に接続が切断されてしまいます。
ツール的なものであるため、実行される SQL 文は任意です。
例外はともかく、接続が切断されてしまうのは回避したいです。

回避方法を教えてください

338NAME IS NULL:2012/03/04(日) 16:29:26.11 ID:4LzHnfZx
>>337
エラーコードとかないんですか?
339NAME IS NULL:2012/03/04(日) 23:03:25.44 ID:???
SQLサーバーのプロシージャを
c#で呼んでWSDL作ってんだけど
自動でWSDL作る方法ない?
340NAME IS NULL:2012/03/05(月) 22:37:17.88 ID:???
sirane
341NAME IS NULL:2012/03/06(火) 00:24:09.33 ID:???
    
顕正新聞 平成24年2月5日号「原発全廃特集号」

原発は日本を滅ぼす、即時全廃せよ
人のDNAを破壊、国土を居住不能にする
代替は天然ガス・コンバインドサイクルで十分
惨禍もたらすを知って推進するは犯罪

ttp://d.hatena.ne.jp/kensho01/20120208/1328718592
342NAME IS NULL:2012/03/07(水) 03:49:57.38 ID:???
WSDLなんて手動で作ったことないが
343NAME IS NULL:2012/03/07(水) 07:16:31.08 ID:???
>>342
詳細よろ
344NAME IS NULL:2012/03/07(水) 14:04:48.67 ID:???
>>343
まずお前が詳細かけよ
SQLサーバーのプロシージャを直接公開してるのか?
C#でASP.NETのWEBサービス作って公開してるのか?
345NAME IS NULL:2012/03/07(水) 18:47:42.63 ID:???
コードを最適化するのがプログラミングの醍醐味ですね
最適化しすぎると保守性がわるくなる
その辺りのさじ加減がプロとしてのこだわりになってくる
346NAME IS NULL:2012/03/07(水) 20:11:16.84 ID:???
「何のための」や「誰のための」が抜け落ちてる最適化は迷惑だけど
そこらへんを心得てるコードに出会うとプログラムに芸術すら感じるね
347NAME IS NULL:2012/03/08(木) 10:29:19.94 ID:???
2012きたな
348NAME IS NULL:2012/03/10(土) 22:14:44.93 ID:???
2012のPower Viewがめちゃくちゃ良かったんだが、
あれだけ別売りしてくれないのかな?
349NAME IS NULL:2012/03/10(土) 23:42:34.17 ID:???
>>331

自前で配列作るイメージで、
カーソル使わなければ、変数だらけにはならないよ。
こんな感じ。

declare @テーブル変数 table
(
i int identity(1,1)
, 実際の列1
, 実際の列2
, …
, primary key (SEQ_NO)
)
insert into @テーブル変数
select 〜 ※カーソル用のSQL(ロックの制御が必要ならここでやる)

declare @i int
set @i = 0

while @i < (select count(*) from @テーブル変数)
begin
set @i = @i + 1

--必要に応じて呼び出す。
select 〜 from @テーブル変数 where i = @i

end


また、カーソル側に個別の値の更新が必要なら、更新用データ格納項目を
テーブル変数にダミーで作っておいて、
最期に一括で戻す感じで大抵うまくいく。

350349:2012/03/10(土) 23:43:54.70 ID:???
訂正
SEQ_NO⇒i
351NAME IS NULL:2012/03/11(日) 18:35:01.88 ID:???
SQL Server 2008 R2でシステム運用しています。
今現在、非クラスタインデックスが5000位あるのですが、
この全ての非クラスタインデックスのファイルグループを変更したいと考えています。
一つ一つ変更する方法は分かるのですが、
数が多すぎるのでこの方法で全て変更するのは現実的ではなく
なんとかSQLで一括変更出来ないかと調べてるのですが、見つけられません。
SQLで一括で変更出来る方法あれば教えてください2ちゃんの先生。
352NAME IS NULL:2012/03/11(日) 18:45:54.32 ID:???
alter index
353351:2012/03/13(火) 00:42:34.31 ID:???
>>352
alter index でどうやって…
データベース内のindexの定義文字列を全て取得する方法とかないでしょうか?
あればdorop⇒createで別のファイルグループに作るように書き換えて
index数分ループでいけるかなと思うんですが。
354NAME IS NULL:2012/03/13(火) 01:05:54.95 ID:???
>>353
ここら辺で探してみたら?
http://blog.sqlauthority.com/
355NAME IS NULL:2012/03/13(火) 06:11:31.66 ID:???
sys.indexes で名前と細かい設定が大体とれる
sys.index_columns で項目名とその設定が取れる

あとは頑張って構文する
356NAME IS NULL:2012/03/13(火) 22:53:35.84 ID:???
更新中のテーブルに対して、BCPコマンドでデータを
エクスポートすることはできないのでしょうか。。。
357NAME IS NULL:2012/03/14(水) 03:47:12.58 ID:???
更新"中"のテーブルのどんなデータが欲しいんだか
358NAME IS NULL:2012/03/14(水) 16:32:45.75 ID:???
>>356
夜間バッチ実行中にバックアップも取ろうとしてるのか?
まぁ、そんな更新中のデータをバックアップしても意味ないな
359NAME IS NULL:2012/03/15(木) 23:07:40.53 ID:???
プロシージャ内で「xp_cmdshell」を使用するのですが、
「xp_cmdshell」を使用できるようにする再定義処理も
プロシージャ内に記述しています。
そのためプロシージャがコールされる度に再定義処理される
のですが、これは問題無いのでしょうか?
---- ▼ プロシージャ内部
--「xp_cmdshell」を使用できるようにする再定義処理
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE

EXEC master..xp_cmdshell '<コマンド>〜'
----
360NAME IS NULL:2012/03/16(金) 21:22:18.65 ID:???
再定義処理ってなんなんだよw
361NAME IS NULL:2012/03/17(土) 22:00:28.25 ID:???
MSSQL上のテーブルAのデータをSELECTして動作する
既存プログラム(VB6、バイナリのみ配布)があって、
テーブルAをPostgres上に移して、MSSQLからリンクサーバで
PostgresのテーブルAにアクセスするような変更を検討しています。

PostgresにOPENQUERYを投げるViewを作成し、
Management Studio上ではSELECT/INSERT/UPDATE/DELETEできることを
確認したのですが、既存プログラム上からテーブルAにSELECTするような動作をすると
プロファイラ上で以下のようなログが出てしまいます。

declare @p1 int
set @p1=0
declare @p3 int
set @p3=557064
declare @p4 int
set @p4=98305
declare @p5 int
set @p5=0
exec sp_cursoropen @p1 output,N'SELECT UserID FROM テーブルA WHERE Key = 30',@p3 output,@p4 output,@p5 output
select @p1, @p3, @p4, @p5

p1、p3、p4の初期値が、他の正常に動作する時のログとかなり違う値になってます。

実際に上記をManagement Sdudio上で実行した結果は、
p1〜p5に正しい値が入っているっぽいのですが、
このp1〜p5に格納される初期値はどうやって決定されているのでしょうか?
362NAME IS NULL:2012/03/23(金) 23:26:18.76 ID:???
363NAME IS NULL:2012/03/25(日) 23:19:16.90 ID:???
SQL Server Compact3.5からSQL Azureにデータを移行させたいのですが
一番早い方法って何がありますか?

単純に20万件ぐらいを1レコードずつInsertで送ったら2時間以上かかった・・
364NAME IS NULL:2012/03/26(月) 10:37:37.45 ID:???
もう2008のデータ型追加でベースは完成した感じだな
365NAME IS NULL:2012/03/26(月) 19:35:31.50 ID:???
移行って何?
1回やるだけの移行なら、それでいいんじゃねーの?
.通常運用の一環として毎日1回やるとかいう話?
366NAME IS NULL:2012/03/28(水) 15:52:10.30 ID:TYExMCaj
あるソフト製品の不具合を何とかしたいと思って
製品が作成するSQLServerDBのストアドを解析しようと思ってマネージメントスタジオで
ソースを開いて見ようとしたのですがエラーが発生して開けませんでした。

エラーメッセージは要約すると
(プロバティTextHeaderは使用できません。プロバティが存在しないかアクセス権がないため…)
といったところです。

saユーザで開こうとしたのですがダメでした。
ストアドのプロパティで開いて権限にてpublicロールに全権限を与えたのですがそれもダメでした。

このアクセス権を得るにはどうしたらよいでしょうか。
367NAME IS NULL:2012/03/28(水) 16:24:55.93 ID:sU6EWSwl
あるソフト製品のメーカーに電話する たぶんサポート部門ってとこだと思う
ちゃんとしたユーザーだと認めてもらえたら、そこのおねぃさんが懇切丁寧に教えてくれる
368NAME IS NULL:2012/03/28(水) 17:07:39.74 ID:TYExMCaj
何か誤解をしているようですけど正規ユーザですがサポート契約はないんです。
例え契約があったとしても改変を疑われることになるので教えてくれないでしょうね。
369NAME IS NULL:2012/03/28(水) 19:19:55.62 ID:???
SQLServerのストアドって、ソースを暗号化して格納できるんじゃなかったっけ
370NAME IS NULL:2012/03/28(水) 19:31:01.32 ID:TYExMCaj
そういえばメッセージの最後のちらっと
テキストは暗号化されています。と書いてました。
もう諦めるしかないのですね。
371NAME IS NULL:2012/04/01(日) 23:04:20.96 ID:Raxe05Ul
SqlServer2012の大幅値上げワロタ。

8コアXeon一個だと

SQL Server 2008 Standard プロセッサライセンス 約100万

SQL Server 2012 Standard プロセッサライセンス 約270万

爆上w
372NAME IS NULL:2012/04/09(月) 16:26:51.14 ID:DSyulrqx
質問!
Microsoft SQL Server CE で MAXさいずが256MBのDBを作成したのだが、
容量を拡張することはできますか?
373372:2012/04/09(月) 16:28:47.67 ID:DSyulrqx
"Data Source=●●●●.sdf;max database size=4000" で接続したのに、容量オーバーになってしまいました!
374NAME IS NULL:2012/04/11(水) 14:07:56.29 ID:???
新聞購読を止めて、月3000〜4000円、年間36000〜48000円の節約

その上日本を貶め、国民を虐げる売国新聞の世論工作の影響力が減って一石二鳥

これはもう新聞購読を止めるしかない
375NAME IS NULL:2012/04/12(木) 11:46:38.39 ID:FMovjAWG
1msec周期で収集したデータ(100点くらい)を
SQLServerのデータベースに格納したいのですが
その場合のテーブルってどうなるんでしょうか?
例えば、列をData1,Data2...,Data100として
1msecごとにレコードを増やしてく感じでしょうか?
期間は1年くらい欲しいので単純計算でレコード数が31536000000件にもなります。
あとで取りだす時にすごく大変そうだし時間かかりそうです
そもそもこういうデータはデータベースにしないのが普通でしょうか?
何かいい方法しりませんか?
376NAME IS NULL:2012/04/12(木) 12:36:09.66 ID:???
後で利用するとき1msec単位のデータが欲しいなら、1msごとに1レコード作ったほうが便利だろうな
377NAME IS NULL:2012/04/12(木) 19:00:12.43 ID:???
日もしくは時間 単位でテーブルを作るとか、
取り出しが面倒になるけど
378NAME IS NULL:2012/04/12(木) 20:59:42.14 ID:???
どういう集計をしたいかによるけどSQLServerじゃなくてもいいんじゃね?
データの利用方法によってはテキストで十分だったりする
379NAME IS NULL:2012/04/12(木) 21:40:44.24 ID:???
「将来使うかも」ってレベルのデータなら、バイナリで突っ込んでおくのも手だわな
380NAME IS NULL:2012/04/19(木) 23:11:54.12 ID:???
質問

SQLServer2000とクライアントアプリケーションが同じPCに存在するシステムがあって、
SQLServerへの接続はLPCで行われてるんだけど、SQLServer2005に移行したらTCP/IPで
接続されるようになってしまいました。
今までどおりLPCで接続したいんだけど原因としては何が考えられますか?
プロトコルのSharedMemoryは有効になってます。

言語はC++で、db_commandてやつでストアドを呼び出してます。
381NAME IS NULL:2012/04/20(金) 00:03:34.05 ID:???
>>380
「共有メモリ プロトコルを使用してローカルで接続する」
そのままぐぐってけろ
382NAME IS NULL:2012/04/20(金) 20:50:25.47 ID:???
>381
ありがとうございます。
接続文字列で(local)は指定してありますが、
どうやら2005の場合はMDACのバージョンが2.8だと
LPC接続ができないようですね。
383NAME IS NULL:2012/04/21(土) 05:12:45.17 ID:???
>>382
lpc:(local) 
でダメなの?
384NAME IS NULL:2012/04/23(月) 21:07:55.67 ID:???
>383
ありがとうございます。
lpc:(local)
で試してみましたが、TCP/IPになるようです。
np:(local)
ではNamedPipesになってくれるんですが。。
385NAME IS NULL:2012/04/24(火) 10:28:00.66 ID:???
386NAME IS NULL:2012/04/26(木) 15:46:25.75 ID:wJ/+B45Q
SQLServer 2005 Expressのビルトインアカウントを
バッチ処理にて変更する方法を教えてください。
387NAME IS NULL:2012/04/26(木) 21:22:50.27 ID:???
scコマンド
388NAME IS NULL:2012/04/30(月) 16:28:02.57 ID:???
新SQLSERVERのExpress版って出るのかな?
複数コアCPUの扱いはどうなるんだろ
389NAME IS NULL:2012/04/30(月) 18:20:55.65 ID:???
コアの扱いがどうなろうともメモリ1GBしか使えないから大差ないよ。
390NAME IS NULL:2012/05/02(水) 10:07:21.06 ID:???
そういえば1GBの制限があったか
せめて2コア4GB程度まで使わせて欲しい
391NAME IS NULL:2012/05/07(月) 07:40:41.95 ID:NrZavR/m
開発用サーバにSQLServer2008をインストールするんですけど照合順序はJapanese90_BIN2にしとけば間違いないですか?
392NAME IS NULL:2012/05/07(月) 08:02:15.20 ID:???
何で選択肢が複数あるのか考えろよ
393NAME IS NULL:2012/05/09(水) 11:44:17.16 ID:???
つまらない質問なんですが、
SQL Server 2005のManagement Studio Expressでテーブルの中身を見るとき、
オブジェクトエクスプローラでテーブル名を右クリックして「テーブルを開く」を選択しているのですが、
これがけっこう面倒くさいです。
もっと簡単に開く方法はないでしょうか?
394NAME IS NULL:2012/05/09(水) 21:07:20.56 ID:MXpaljD2
オブジェクトエクスプローラが出なくなってしまいました
どうしたらいいですか?
395NAME IS NULL:2012/05/10(木) 03:38:10.72 ID:???
F8
396NAME IS NULL:2012/05/15(火) 06:30:10.26 ID:bfF6xyzj
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~語気光線( ´Д`)y━・~~
397NAME IS NULL:2012/05/15(火) 19:23:48.59 ID:bfF6xyzj
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
それよりゴキブリ高専卒どもはワシにさっさと謝罪せんか!
398NAME IS NULL:2012/05/26(土) 15:36:11.06 ID:???
>>397
高専卒に勝てないのか
奴らは、優秀だからな お前より
399NAME IS NULL:2012/05/31(木) 18:29:18.19 ID:abZtCBFW
はげ
400NAME IS NULL:2012/05/31(木) 22:09:56.89 ID:???
最近このMicorosoft SQL Server Compact Edition というのを使ったプログラムを導入したんですが、
スタートメニュー - プログラム の中にプログラムへのショートカットが存在してはいるんですが、
実体がどこにあるのか分かりません。
これはネットワーク経由で実行されているプログラムという事でしょうか?
常に監視されているような状態ですか?
401NAME IS NULL:2012/05/31(木) 23:12:01.52 ID:???
実装自体はライブラリ側にある、組み込み型DBじゃろ

accessのmdbファイルを.netとかから使うのをイメージすると良いのでは
402 忍法帖【Lv=40,xxxPT】 :2012/06/01(金) 14:28:16.77 ID:???
システムフォルダかどっかにDLLがゴチャゴチャとあったはず。
403NAME IS NULL:2012/06/02(土) 03:10:27.86 ID:???
今晩は
ご存知でしたら教えてください。
SQL Server 2008 R2 workgroup 5cal付DVDが\100,000で現在動作中。
workgroupライセンスのみ追加で10cal買いたい
都合15calで使いたい。
追加のcalはworkgroup なのでボリュームライセンスのみの提供
しかも6/1現在提供は終わってるので2012のダウンで買わんとだめ。
するとwgエディションは廃止でなおかつ\33,000へ値上がり x10cal=\330,000
ってことはSQL Server 2008 R2 5cal付DVDを新たに2枚買うと\200,000
ついてくる5calx2=10calを使いたい。これってOK?
追加したSQL Server 2008 R2 5calx2枚のサーバライセンスを使用せずに
5calx2=10calのみを利用する目的でってことなんですが。
404NAME IS NULL:2012/06/02(土) 06:03:02.52 ID:???
もうそのままMSにきけよ
405NAME IS NULL:2012/06/02(土) 17:13:04.95 ID:???
まあダメだろうな
406NAME IS NULL:2012/06/13(水) 10:56:00.34 ID:???
円高なのに一方的な値上げとかMSぼろ儲けですな。
407NAME IS NULL:2012/06/16(土) 02:40:10.01 ID:???
無料版がまともにインスコできんくてイラつく!
システム構成チェックで不正フォルダー警告ってなんなんだよ
アンインスコもできねーし

めんでー
408NAME IS NULL:2012/06/22(金) 21:50:56.46 ID:???
sqlを書いて実行してグリッド形式で結果を得るようなフリーのツールってありませんか?
ODBC経由ではなく、native接続出来るものを探しています。
商用で言うところのSI ObjectBrowserみたいなツールです。

OracleならCSEとか知ってるんですが、SQLServerだとNative接続出来るツール
が少なくないですか?
409NAME IS NULL:2012/06/22(金) 22:44:47.39 ID:???
410NAME IS NULL:2012/06/22(金) 23:25:52.60 ID:???
>ODBC経由ではなく、native接続出来るものを探しています。
411NAME IS NULL:2012/06/23(土) 03:54:47.01 ID:???
412NAME IS NULL:2012/06/23(土) 06:49:42.87 ID:???
>>409
それADOだったような

411さんの挙げてる公式ツールをなぜ今まで使わなかったのか不思議
413NAME IS NULL:2012/06/23(土) 15:30:50.67 ID:???
ちょっことSQL書いてデータ見たいだけでこのサイズのインスコはねーよ。
414NAME IS NULL:2012/06/23(土) 17:24:21.83 ID:???
native接続にこだわる理由がしりたい
415NAME IS NULL:2012/06/23(土) 17:29:44.62 ID:???
>>413
今時なに言ってるんだ?
416NAME IS NULL:2012/06/23(土) 17:40:22.21 ID:???
>>413
それならsqlcmdでもODBCツールでもいいじゃん
417NAME IS NULL:2012/06/23(土) 19:51:00.41 ID:???
Microsoft Queryを使って、最強のグリッド表示ソフトEXCELで表示すれば良いんじゃね
418NAME IS NULL:2012/06/25(月) 15:39:43.91 ID:???
>>409
第三者の横レススマソ
これいいね、もっと早く出会いたかった
ノートに会社とおなじ環境入れてるんだが、これは軽くていい
こいつに出会うのに41年かかっちまったぜ
419NAME IS NULL:2012/06/28(木) 11:54:39.66 ID:???
謎の現象の原因がどうにも分からないので質問させてください。
oracleのdual表みたいな感じで以下のような意味のないクエリを書いて、
'12345678901234567890'が1つだとSSMSで0秒で返るのですが、

SELECT
'12345678901234567890'

'12345678901234567890'を29個以上に増やすと極端に遅くなるのですが、
なにか分かりますか?

SELECT
'12345678901234567890',
'12345678901234567890'.
'12345678901234567890',



(29個以上)

1回目:0秒、2回目:2秒、3回目:8秒、4回目:24秒、5回目:60秒・・というように
どんどんレスポンスが遅くなります。ado.netなどからやっても一緒です。
普通にテーブルを指定してフィールドを沢山指定しても一緒です。
見た感じでは、クエリのサイズが影響しているように見えるのですが・・
DBサーバーでは再現しません。何度やっても一瞬で返ります。
420NAME IS NULL:2012/06/28(木) 12:30:18.11 ID:???
select top 1 を指定したらどうなりますか?
421NAME IS NULL:2012/06/28(木) 12:47:34.89 ID:???
>>420
変わらず、同一接続で繰り返す度どんどん遅くなります。
422質問です:2012/06/28(木) 17:24:23.41 ID:???
いまWindows2000 ServewrとSQL Server2000を使って、
さらに自分(開発者)のマシンまでWindows2000という化石状態です。
せめて自分のマシンをVistaにバージョンアップしようとSQL Server2000の
管理ソフト(Enterprise Manager)をインストールしたら、インストーラーに
拒否されました。(Vistaを異物と認識したのか?)
というわけで
Serverは古いままで、新しいクライアントOSから生産性が良く
DBテーブルを変更できる管理ツールは存在するのでしょうか?
(SQL文からではなく、という意味)
いろいろ調べてみたのですが最低でもSQLServer2005ぐらいが必要だという
印象を受けました。
423NAME IS NULL:2012/06/28(木) 17:38:09.27 ID:???
424NAME IS NULL:2012/06/28(木) 19:55:15.11 ID:???
>>421
俺の環境じゃそんなこと起きないよ
425NAME IS NULL:2012/06/28(木) 20:01:03.58 ID:???
ありえないから聞いたのですが・・
426419:2012/06/28(木) 21:00:45.88 ID:???
自己解決しました。

VMwareの仮想マシンにDBがあるのですが、VMwareのバージョンを2.5.5から4.0.4に
上げたら直りました。理屈は分かりませんが・・。前はそんなことは起きなかったので、
バージョンではないとは思います。
427NAME IS NULL:2012/06/28(木) 21:32:18.08 ID:???
全然原因わからんやん
っていうかVM古っ
上げても古っ
428NAME IS NULL:2012/06/29(金) 01:57:21.18 ID:???
sqlserver2k8を最初にインストールする際、windows認証モードでインストール
した場合のsaのパスワードって何が設定されているんですか?
429422です:2012/06/29(金) 13:18:15.11 ID:???
>>423
あの後、ご紹介のサイトからダウンロードを試みました。
何がなんだか分からないくらい、あっちこっち飛ばされてやっと今インストール完了しました。
Management Studio Expressの2008からアップグレードされて2012の最新型が載りました。
ありがとうございました!
430423:2012/06/29(金) 15:28:18.49 ID:???
>>429
あ、2012出てたのか。知らんかった。すまん
おめでとう
431NAME IS NULL:2012/06/30(土) 10:52:41.10 ID:???
超初心者ですが質問させて下さい。
先日会社のパソコンを買いかえて今まで使っていた会計ソフトをインストールしようとしたら
SQL Server7.0はこのWindowsとは互換性がありません。と表示されてセットアップが中断されてしまいます。
この会計ソフト自体10年近く前のものなので古すぎて使えないのでしょうか?
現在のOSがWindows7で以前まで使っていたOSはXPです。

SQL Server7.0をWindows7で使えるようなプログラムがあれば教えて欲しいのです。
スレ違いや見当違いの質問かもしれませんがよろしくお願いします。
432NAME IS NULL:2012/06/30(土) 11:01:31.93 ID:???
>>431
その会計ソフトのメーカーに問い合わせることをお薦めします。
433NAME IS NULL:2012/06/30(土) 11:07:03.99 ID:???
>>432
そうですね。週明けに問い合わせてみます。
迅速な回答ありがとうございました。
434NAME IS NULL:2012/06/30(土) 14:45:56.20 ID:???
>>431
XPMode
435NAME IS NULL:2012/07/02(月) 19:40:29.07 ID:1drmKlaG
>>431
Virtual PCだよ
VMwareでもいいがね
436NAME IS NULL:2012/07/02(月) 20:13:24.41 ID:???
SQL Server使いの皆さんはOracleをどう思いますか?
SQL Server 2000/2005あたりで開発していた自分は、Oracle 11gR2を使ってみてストアドの自由度が高いなと思いました。
けど、Manegement Studioほど便利なツールがないのがOracleの残念なところかなと思います。

SQL Serverにpackageがあればもっと便利になるのに
437NAME IS NULL:2012/07/02(月) 22:04:16.34 ID:???
別にどうもこうもないが、システムインテグレータのObject Browser使えば不便は感じない。
ステマじゃねーよw
438NAME IS NULL:2012/07/02(月) 23:46:00.61 ID:???
>>436
SQL Serverと比較してOracleのダメなところ。
・NULL(空文字とインデックスの扱い)
・共有カーソルのバインドピーク問題をアプリ側で回避できない。
・マルチバイト列名、テーブル名と相性が悪い。
・SQLの文法が厳格すぎて縛りが多い。(単独ではできることを複数組み合わせてもうまく動かない。)
・SELECT系のストアドが気軽に書けない。
・Ora600エラー
439NAME IS NULL:2012/07/02(月) 23:57:49.53 ID:???
Oracleの嫌いなところ

ボラクルってるところ
クライアントのインストールが面倒
標準でついてくるツールが残念
440NAME IS NULL:2012/07/03(火) 02:08:24.03 ID:???
>>436
完全な行ロックはOracleの圧勝

JOINしたSELECT文をUPDATEに書き換えただけで
他テーブルの値を使った更新が出来るのはSQL Serverの利点

逆にOracleやってSQL Server触ったら
TRUNCATEもROLLBACK対象で驚いた

NULLは値が入ってない場合IS NULLで判定できるから便利だけどなあ

バグ情報の公開はMSの圧勝
441NAME IS NULL:2012/07/03(火) 07:11:04.49 ID:???
nullと区別出来ないほうが面倒
他の色んなdbと比べてもoracleだけ違うし
442NAME IS NULL:2012/07/03(火) 07:48:00.14 ID:???
何でオラクルはnullの扱いあんなんなっちゃったんだろ
443NAME IS NULL:2012/07/03(火) 11:41:57.39 ID:???
oracleはもやしっ子。結構すぐ拗ねる。拗ねられるとご機嫌取りが大変。
sqlserverは強い子。拗ねない
444NAME IS NULL:2012/07/03(火) 22:28:26.69 ID:???
本体じゃないけど初期の頃のSSMSは酷かったな
445NAME IS NULL:2012/07/04(水) 06:51:02.39 ID:???
nullの扱いと大文字しか認識しないのは気に入らない。
446NAME IS NULL:2012/07/05(木) 01:39:06.96 ID:???
開発者の立場としては圧倒的にOracleが好き。ていうかSQLServerが糞杉。
しかし管理者の立場としてはSQLServerの方が楽。ていうかOracleがピーキー
過ぎて死ぬ。

ピークの性能はOracleの方が上。しかしその性能を維持するのが結構面倒で、
しかも劣化した時のパフォーマンスの落ち方がマジでハンパ無い。10分で終わ
ってた処理がある日突然4時間になるとかマジで起きる。
SQLServerはそこそこのパフォーマンスをそこそこ維持してくれるのは安心感
がある。あと、純正管理ツールの出来は明らかにSQLServerが上。
しかし金に糸目を付けなければ、開発ツールはOracleの方が使い勝手の良い
サードパーティ製が揃ってる。
447NAME IS NULL:2012/07/05(木) 19:29:01.55 ID:???
保守契約結ばないとパッチももらえないOracleなんて・・・
448NAME IS NULL:2012/07/05(木) 21:32:41.35 ID:???
今仕事でMySQLをDBとして開発してるけど、
OracleとSQLServerって、本当にいいDBなんだなって思う

449NAME IS NULL:2012/07/05(木) 23:06:04.19 ID:???
MySQL使うときはただの入れ物としてだから何も思わんが
450NAME IS NULL:2012/07/06(金) 23:33:59.33 ID:???
MySQLってそんなにウンコちゃんなの?
OracleとSQL Serverしか弄ったことないけども
451NAME IS NULL:2012/07/07(土) 00:10:30.73 ID:???
オフィシャルで日本語のツールが無いのは、オープンソースのお約束としても、
ビューにサブクエリが使えない、ビューに最適化が効かない
とか、その辺かな

設定が難しくて、日本語のカラムを使うとODBCツールが落ちるとか・・・


452NAME IS NULL:2012/07/07(土) 06:16:06.62 ID:???
MySQLはなんで持て囃されてたのか分からんくらい低機能
実際にはSQLiteに似た立ち位置だと思うんだが
453NAME IS NULL:2012/07/07(土) 06:50:39.73 ID:???
その昔は OSS にしては検索系の性能が良かったんだろ。

SQLite も、信じられないぐらい低機能だし。
454NAME IS NULL:2012/07/07(土) 07:52:09.67 ID:???
ossならもうポスグレ一択だわ…
455NAME IS NULL:2012/07/07(土) 08:50:00.36 ID:???
>>452
MySQLってRDBじゃなくて爆速だけが取柄のindexファイル。
456NAME IS NULL:2012/07/07(土) 12:11:11.97 ID:???
>>453
SQLiteはフットプリントが1Mくらいしか無いから、低機能で良いだろ
457NAME IS NULL:2012/07/07(土) 12:28:25.49 ID:???
SQLiteは高機能だろー
あのサイズで全文検索とか
拡張機能とかいろいろあるぞ
458NAME IS NULL:2012/07/07(土) 13:19:20.79 ID:???
>>456
ああ、すまん。
別に低機能だからダメっていってるわけじゃない。
適材適所だよね。

ただ、機能はいいけど型のチェックをちゃんとしてくれる奴誰か作ってくれないかなぁ〜 と思う。

Windows の SQL-Server Compact Edition みたいな奴。
459NAME IS NULL:2012/07/12(木) 12:26:11.20 ID:???
SQL Serverってプロシージャーが結果セットを返せられるらしいんですが、

create procedure TEST(p1 in decimal(10,4))

というプロシージャーがあったとして

select * from TEST(10.3) where 〜

みたいな感じで普通のテーブルとまったく同じように、しかも引数まで付
けてセレクトする事が可能なんでしょうか?
460NAME IS NULL:2012/07/12(木) 18:07:53.23 ID:???
>>459
やってみれ
461NAME IS NULL:2012/07/12(木) 18:16:28.37 ID:???
テーブル型じゃなくて構造体を返すストアド関数って作れないですよねー
462NAME IS NULL:2012/07/12(木) 18:43:13.49 ID:???
まず構造体の定義を教えてくれ
463NAME IS NULL:2012/07/12(木) 21:12:29.86 ID:???
たとえば 

構造体 (
  日付 as date
  単価 as money
)

Create Function F_前回売上をゲット(商品ID as int) (
  declare result as 構造体
  select 〜
  ・・・
  ・・・
  return result
)

という定義があらかじめされてて(T-SQLの文法にあってないのは割愛)


SELECT F_前回売上をゲット(商品.商品ID).日付, F_前回売上をゲット(商品.商品ID).単価
FROM 商品

てな感じのとき、
商品テーブルが1000件だったら、F_前回売上をゲット が1000回だけ動いて値が出てくる感じ
464NAME IS NULL:2012/07/12(木) 21:14:27.21 ID:???
訂正

SELECT F_前回売上をゲット(商品.商品ID).日付, F_前回売上をゲット(商品.商品ID).単価
FROM 商品
WHERE ×××××××


商品の母集団は10万レコード以上あって、WHERE で1000件ぬけてくる条件のときの前提っす
465NAME IS NULL:2012/07/12(木) 21:22:50.16 ID:???
追記

F_前回売上をゲット の処理には1回あたり 0.01秒かかるの仮定

今は構造体が使えないから

Create Function F_前回売上日付をゲット(商品ID as int) (
  declare @result as date
  select @result =日付 from 〜
  return @result
)

Create Function F_前回売上単価をゲット(商品ID as int) (
  declare @result as money
  select @result =単価 from 〜
  return @result
)

ほとんど抽出ロジックが一緒なのだが、2つに分けるとそれぞれを呼び出して使うと
0.01秒×2 の時間がかかるようになってしまう、と
466NAME IS NULL:2012/07/12(木) 21:44:41.54 ID:???
いろいろ無理。
467NAME IS NULL:2012/07/12(木) 21:47:36.59 ID:???
「テーブル変数」でぐぐれ
468NAME IS NULL:2012/07/13(金) 00:28:32.59 ID:???
>>463
だから、お前の言うSQLServerでの構造体って何よ?
お前の例なら、日付と単価を持つテーブルで良いと思うけど

.NET Framework CLRでのクラスや構造体なら、ユーザ定義型で定義できるはずだから
やれば出来なくはないと思うが。やったことないしやる気もないけど
469NAME IS NULL:2012/07/13(金) 01:04:35.53 ID:???
470NAME IS NULL:2012/07/13(金) 01:29:12.93 ID:???
>>460
お前バカだろ?黙ってろ
471459:2012/07/13(金) 03:00:50.29 ID:???
>>460
既にFOOというテーブルがあって、

create procedure test as
begin
 select * from foo;
end;

これでtestと言うprocedureは正常に作成されました(exec testで結果が返って
来る事を確認しました)しかし

select * from dbo.test;

で実行しても「オブジェクト名 'dbo.test' が無効です」と言われてしまいます。
472NAME IS NULL:2012/07/13(金) 06:13:11.02 ID:???
テーブル変数を返すユーザー定義関数にするのが手っ取り早い
473NAME IS NULL:2012/07/13(金) 06:27:25.53 ID:???
474461, 463-465:2012/07/13(金) 10:08:24.25 ID:???
>>468
テーブル型を返すユーザー関数を作ると
それは from の中で使う前提になってしまう。

>>464 の例で言えば
FROM 商品 LEFT JOIN F_前回売上をゲット() AS 前回 ON 前回.商品ID=商品.商品ID
となると思うが、WHERE で抜いてく対象商品以外のものも、いったんは一緒に抜いておかないといけないので無駄過ぎる

select の中で使いつつ、なんども抽出SQL文が走るのは嫌なんだけど・・
475NAME IS NULL:2012/07/13(金) 11:01:03.75 ID:???
もうシランけど、sqlserverとか関係なしに仮にできるとして、
普通の言語で考えれば、ゲット2回してるんだから2回走るんじゃないか・・
476NAME IS NULL:2012/07/13(金) 12:26:12.16 ID:???
たぶん無理だと思うけど

select top 1 日付,単価 from ×××× where ×××××××××××× order by 日付 desc

だと1回の SQL文の発行なので、これを構造体としてセットでもらって使いたいのだが
普通の(構造体じゃない)スカラー関数だと

select top 1 日付 from ×××× where ×××××××××××× order by 日付 desc
select top 1 単価 from ×××× where ×××××××××××× order by 日付 desc

だと2つ作って2回呼ばないといけない。無駄だろ?って話
テーブル型関数だと

select 商品ID,日付,単価 from (
  select 商品ID,日付,単価
    ,row_number() over (partirion by 商品ID order by 日付 desc) AS キー
  from ×××× where ××××××××××××
) where キー=1

こんな風になると思うけど、必要ない商品の分まで抜いてくるのは無駄
477NAME IS NULL:2012/07/13(金) 18:56:20.63 ID:???
けなす訳ではないが、とことん頭がSQLに向いてないな
SQLはロジックで考えるんじゃなくて集合で考えるものだぞ
478NAME IS NULL:2012/07/13(金) 19:23:03.46 ID:???
出来るだけストアドで仕事させようと思うと
当然に出てくる話じゃないですかねー

.NET 側からは、データバインドだけしてオシマイみたいな感じで
479NAME IS NULL:2012/07/13(金) 19:40:07.15 ID:???
普通にカーソル回せよ。
480NAME IS NULL:2012/07/14(土) 01:10:16.20 ID:???
ここまでに出てきてないよく使うパターンだとこんなとこ
@テーブル値ファンクションでcross apply
AINSERT INTO Table変数 EXEC ストアドプロジージャ
BCreate #一時テーブル 〜
 ストアド内で#一時テーブルへインサート

本当にカーソルまわさないとできない処理なんて実は1割もない。
481NAME IS NULL:2012/07/14(土) 02:34:44.82 ID:???
たぶん、普通にSQL書いて日付と単価持ってくるだけで済むと思うんだがな
普通のSQLでそれが出来ないならそもそもテーブル設計が悪い

>select top 1 日付 from ×××× where ×××××××××××× order by 日付 desc
>select top 1 単価 from ×××× where ×××××××××××× order by 日付 desc
>だと2つ作って2回呼ばないといけない。無駄だろ?って話
普通に考えて典型的パターンはこうだろ
select 日付,単価 from ×××× where 日付=××××
まあ、日付でTOP1とる必要があるならそうすれば良いけど
どっちにしろクエリ2回発行する必要なんてない
482NAME IS NULL:2012/07/14(土) 15:30:04.75 ID:???
商品検索画面で条件を入れると商品に一覧(グリッド形式)で出る画面をつくるとします

商品ID 品名 規格  前回売上日  前回売上単価


SELECT 商品.商品ID,商品.品名,商品.規格
   ,(SELECT TOP 1 日付 FROM 売上 WHERE 売上.商品ID=商品.商品ID ORDER BY 日付 DESC) AS 前回売上日
   ,(SELECT TOP 1 単価 FROM 売上 WHERE 売上.商品ID=商品.商品ID ORDER BY 日付 DESC) AS 前回売上単価
FROM 商品
WHERE 画面で入力された条件


これって美しくないでしょ?
483NAME IS NULL:2012/07/14(土) 15:50:49.80 ID:???
SQLの書けない子か。
484NAME IS NULL:2012/07/14(土) 15:51:44.40 ID:???
むしろテーブル設計の出来ない子。
485NAME IS NULL:2012/07/14(土) 16:05:21.53 ID:???
テーブル設計が悪いとみんなに迷惑がかかるんだよね・・
そしてその迷惑はずーっと続く。
486NAME IS NULL:2012/07/14(土) 17:46:21.59 ID:???
>>482
簡単に書けるけど??

WITH CTE AS (
SELECT
商品ID
, 日付
, 単価
, ROW_NUMBER() OVER(PARTITION BY 商品ID ORDER BY 日付 DESC) AS 商品毎の日付逆順
FROM
売上
)
SELECT
CTE.商品ID
, 商品.品名
, 商品.規格
, CTE.日付 AS 前回売上日
, CTE.単価 AS 前回売上単価
FROM
CTE
INNER JOIN 商品
ON CTE.商品ID = 商品.商品ID
AND CTE.商品毎の日付逆順 = 1
WHERE
画面で入力された条件
487NAME IS NULL:2012/07/14(土) 18:11:56.58 ID:???
ウィズ句使うの辞めろ、基地外が!
みんなが迷惑するのが分からないのかよ。
488NAME IS NULL:2012/07/14(土) 18:25:27.22 ID:???
このテーブル設計で俺がやるなら
WITH 商品別最終売上日 AS (
SELECT 商品ID,MAX(日付) AS 日付 FROM 売上 GROUP BY 商品ID
)
SELECT
商品.*,
売上.日付 as 前回売上日,
売上.単価 as 前回売上単価
FROM 商品
JOIN 商品別最終売上日 ON 商品別最終売上日.商品ID=商品.商品ID
JOIN 売上 ON 売上.商品ID=商品別最終売上日.商品ID AND 売上.日付=商品別最終売上日.日付
こうか
WITH 商品別最終売上 AS (
SELECT 売上.商品ID,売上.日付 as 前回売上日,売上.単価 as 前回売上単価
FROM 売上
JOIN (SELECT 商品ID,MAX(日付) AS 日付 FROM 売上 GROUP BY 商品ID) t
ON 売上.商品ID=t.商品ID AND 売上.日付=t.日付
)
SELECT
商品.*,前回売上日,前回売上単価
FROM 商品
JOIN 商品別最終売上 ON 商品別最終売上.商品ID=商品.商品ID
こうだな

いずれにしろCTEじゃなくてビュー作っとく
パフォーマンス気になるならそのビューにインデックス張る
489NAME IS NULL:2012/07/14(土) 18:28:18.00 ID:???
>>487
自分が解らないものを使ってると基地外あつかいする人ですか?
だれにどんな迷惑がかかるんですか?
490NAME IS NULL:2012/07/14(土) 18:29:24.93 ID:???
>>487
みんなって、基本情報レベルのSQLしか理解できない
コボラー上がりのPMとかのことですか?
491NAME IS NULL:2012/07/14(土) 18:30:55.17 ID:???
WITH使わなくても書けるだろ?
492NAME IS NULL:2012/07/14(土) 18:48:20.03 ID:???
>>491
再帰じゃないし再利用するわけでもないからWITHなしでもたしかに書けるが
>>488はビューに切りだすべき所を明確にするためにWITH使ってる

サブクエリにだらだら書くならCTE使う方が綺麗に書けると思う
ここSQL Serverスレだし、使うのに問題ないだろ
CTE使えんぐらい古いバージョンの奴はしらん
493NAME IS NULL:2012/07/14(土) 18:49:31.30 ID:???
>>489-490
自演乙w

ウィズ句の功罪を知らずに不用意に馬鹿がウィズ句使うと処理速度が遅くなって
最適な実行計画がチョイスされなくなる場合があるんだよ。
お前みたいな馬鹿はウィズ句使うとか小賢しい事考えると逆に迷惑。
494NAME IS NULL:2012/07/14(土) 19:02:13.80 ID:???
CTE使わなければ常に最適な実行計画で実行されると信じてるのかねぇ
SQLチューニングはそんな単純な問題じゃないんだが

多少結果が遅かったとして、それでみんなにどんな迷惑がかかるって言うんだか
単に文句言いたいだけか、人を馬鹿にしたいだけの人か
せめて自分でWITH使わないで書きなおしたものアップするぐらいできんのかね
495NAME IS NULL:2012/07/14(土) 19:11:37.71 ID:???
みんなってこのスレとかそんな広い範囲じゃなくて、
開発メンバーとかシステム的にとか顧客とかそういうレベルじゃないのw
496NAME IS NULL:2012/07/14(土) 19:36:55.52 ID:???
いまんところ cte ってメンテできない人多いからな
こういうところでガシガシ使えば慣れる人もでてくるだろw
497NAME IS NULL:2012/07/14(土) 19:37:59.57 ID:???
>多少結果が遅かったとして、それでみんなにどんな迷惑がかかるって言うんだか
お前が趣味でSQL serverを叩いてるだけなら何も言わんけど、SQL書いて金貰ってるんだったら
速攻でIT以外の業界への転職しろ。with云々に関係なく、お前みたいなのがいるとマジ邪魔。
498NAME IS NULL:2012/07/14(土) 19:41:51.07 ID:???
ネットにいるよねえ。
こういう、コードを見ると反射的にレビューしちゃう人。
空気が読めないとはこういう人のことね。
レビューを期待して書かれたコードじゃないし
レビューする場面でもないのにね。
499NAME IS NULL:2012/07/14(土) 19:43:59.44 ID:???
>>469
Oracleだとwith〜なんてとっくの昔からあるんだけど、2005になってようやく
低機能なwithが実現したSQL Serverだと、まだユーザのレベルが追いついてない
んですねw分かりますw
500NAME IS NULL:2012/07/14(土) 19:45:32.80 ID:???
こいつ、保守性とか考えたことないんだろうな
もしくはWITHさえ使わなければオプティマイザ任せでOKな世界しかしらないのか
501NAME IS NULL:2012/07/14(土) 19:58:12.25 ID:???
ID出ない板だと自演し放題だな >500
502NAME IS NULL:2012/07/14(土) 20:53:49.57 ID:???
>>499
Oracle 使いはレス番もまともに書けなくてもいいんですねwわかりますw
503NAME IS NULL:2012/07/14(土) 20:58:30.25 ID:???
>>498, >>500
どうせネットとかで仕入れた知識をひけらかしたいだけだろ。
放置しときなよ。
504NAME IS NULL:2012/07/14(土) 22:09:42.99 ID:???
>>497
オレの職場にもこんな感じで自分の知ってる知識だけで
物事を自分が納得できるレベルに単純化して全て理解した気になってるヤツいるわぁ
(例:一度、自己結合でパフォーマンス悪化したケースを経験し
   自己結合は絶対使ってはいけない機能と思い込むみたいな)
バカの一つ覚えという言葉がぴったりの文系脳筋プロマネの典型だよ

実行計画見せて問題がないって説明しても、実績が無い物は使えないとか
バグがあって上手く動かないケースがあるかも知れないって言って
自分の知識に無いものや、一つでもデメリットを知っている技術を徹底的
に否定するんだよ。
505504:2012/07/14(土) 22:17:16.85 ID:???
誤爆すまん。
訂正
>>487、503
506NAME IS NULL:2012/07/14(土) 22:39:48.39 ID:RNygfzuW
>>482

SELECT
商品.商品ID
, 商品.品名
, 商品.規格
, F.日付 AS 前回売上日
, F.単価 AS 前回売上単価
FROM 商品
CROSS APLLY (
select TOP1 日付,単価
from 売上
WHERE 商品ID = @商品ID
ORDER BY 日付 DESC
) AS F
WHERE
画面で入力された条件
507NAME IS NULL:2012/07/14(土) 22:43:01.77 ID:RNygfzuW
こっちが正解

>>482

SELECT
商品.商品ID
, 商品.品名
, 商品.規格
, F.日付 AS 前回売上日
, F.単価 AS 前回売上単価
FROM 商品
CROSS APLLY(
SELECT TOP1 売上.日付,売上.単価
FROM 売上
WHERE 売上.商品ID = 商品.商品ID
ORDER BY 売上.日付 DESC
) AS F
WHERE
画面で入力された条件
508504:2012/07/14(土) 22:49:10.57 ID:???
一番大事なヤツが抜けてた
>>493 追加
509NAME IS NULL:2012/07/15(日) 07:44:19.54 ID:???
CROSS APLLY句使うの辞めろ、基地外が!
みんなが迷惑するのが分からないのかよ。
510NAME IS NULL:2012/07/15(日) 07:46:38.25 ID:???
あーはいはい
511NAME IS NULL:2012/07/15(日) 13:11:59.76 ID:???
>>509
自分が解らないものを使ってると基地外あつかいする人ですか?
だれにどんな迷惑がかかるんですか?
512482:2012/07/15(日) 15:25:40.17 ID:???
WITH 〜 とか CROSS APLLY 〜 とか
初めてみました。

どんな風に動くのか、ちょっと勉強してみます。
ありがとうございました
513NAME IS NULL:2012/07/16(月) 00:37:04.10 ID:PCqVl3Xo
WITH 〜 とか CROSS APLLY 〜 とか
7年近く前から実装されてる機能なのに、どれだけ広まってないんだよw

JAVA厨がORマッパをゴリ押しで流行らせた影響なのか、ほとんどの人のSQLについて
の知識がSQL-92仕様で止まってる?
514NAME IS NULL:2012/07/16(月) 01:03:08.85 ID:???
もうマッパーとLINQがないと発狂するレベルになりました
515NAME IS NULL:2012/07/16(月) 01:46:02.22 ID:???
LINQは認めるがO/Rマッ裸は認めん。
516NAME IS NULL:2012/07/16(月) 03:56:20.51 ID:???
システム開発って観念で考えると、アプリレベルで使うSQLにWITH使うのはどうだろうとは感じる
必要ならちゃんとビュー作っておくべきじゃないのかと

例外は再帰SQLか。どうしても再帰が必要ならやむをえないかなぁ
そういう場面はあまり多くないとは思うが
517NAME IS NULL:2012/07/16(月) 04:02:49.21 ID:???
特定機能でのみ使うのにグローバルに見えるとこに置きたくないとか
複数で使うならビューにするかな

大抵使うのは火消しで入ったプロジェクトでDB設計がクソなときとかが多いけど
518NAME IS NULL:2012/07/16(月) 08:21:50.10 ID:???
まあ知ってて当然とは思うが、日頃バリバリ使うかと言われるとね。
519NAME IS NULL:2012/07/16(月) 09:19:19.19 ID:???
WITHはバッチ中の一括更新処理や、一覧系の複雑な帳票作るときに
日頃バリバリ使ってるんだが…

まあ、入力系画面作るだけならまったく必要ないけど。

520NAME IS NULL:2012/07/16(月) 11:05:27.48 ID:???
大抵使うのは (...中略...) DB設計がクソなときとかが多いけど
521NAME IS NULL:2012/07/16(月) 11:30:31.31 ID:???
DB 設計が糞かどうかは視点によるだろ。
例えば多数の機能から見たら最適なDB設計であっても、ある一つの機能を作る側から見たら糞設計に見える。
仮に少数の機能にDB最適化したらその他大勢の難易度が何倍にも膨れて開発不能とか。
必要悪な糞設計は必ずあるし、それを完全に排除した、誰が見ても正しい設計なんて、本当に単純なシステム以外ではあり得ないよ。
522NAME IS NULL:2012/07/16(月) 11:42:37.89 ID:???
自分の流儀に合わない設計を見ると
糞とかけなすヤツいるよなあ。
正解なんてない世界なんだから
動けばいいんだよ動けば。
523NAME IS NULL:2012/07/16(月) 11:55:46.49 ID:???
>>521-522
> 誰が見ても正しい設計なんて、本当に単純なシステム以外ではあり得ないよ。

誰が見ても糞設計は、いくらでもあるんだが。

普通に設計すれば不要なのに、with 使ってドヤ顔して奴とか (w
524NAME IS NULL:2012/07/16(月) 12:36:04.92 ID:???
不要っていうのは
なくてもOKってだけのことで
あるとNGってことじゃないんだぜ?
525NAME IS NULL:2012/07/16(月) 12:39:24.52 ID:???
>>524 みたいな奴を「不要」なレスと言う。

なくてもOKだし、もちろんあると「NG」。
526NAME IS NULL:2012/07/16(月) 12:41:35.11 ID:???
ただでさえ暑いのにお前ら熱すぎる
527NAME IS NULL:2012/07/16(月) 13:23:41.13 ID:???
暑さで頭がわいてるだけだろ。中身スカスカの自己主張の羅列ばっかw
大体、今時SQLを書くこと自体が時代遅れな訳で。
時代遅れの技術であーだこーだ言い合ってるジジイうざすw
528NAME IS NULL:2012/07/16(月) 13:26:52.53 ID:???
>>523
誰が見ても糞な設計をターゲットにして議論してもナンセンスなんだが馬鹿なの?
529NAME IS NULL:2012/07/16(月) 13:28:09.95 ID:???
>>527
そうしていつの時代も最後はCOBOL脳に回帰する。
530NAME IS NULL:2012/07/16(月) 14:12:49.96 ID:???
>>528
だから with とか cross apply とかで議論なんてナンセンスと書いてあるんだが、理解力ないのか?

反論したいなら、誰が見ても糞でない設計で with とか cross apply とか使ってる例挙げて議論しなよ。

with は、>>516 の言うように再帰ぐらいしか思いつかない。

そもそも CROSS APLLY に誰も突っ込まない時点で、日頃ドンだけ使ってないかがわかろうと言うもんだ。
531NAME IS NULL:2012/07/16(月) 14:19:55.85 ID:???
>>530
誰が見ても糞でない設計があると思ってた時代が俺にもありましたw
532NAME IS NULL:2012/07/16(月) 14:27:26.92 ID:???
>>514
巷ではそれが普通なのか?
Entity FrameworkもLINQも言葉すら知らないし
TableAdapterを使わせると発狂するPGを相手にしているオレの立場は Orz
533NAME IS NULL:2012/07/16(月) 14:45:26.62 ID:???
さすがに「linq?なにそれ?美味しいの?」て言う技術者は面接でお引取り願うわ。
534NAME IS NULL:2012/07/16(月) 14:50:53.50 ID:???
LINQ to SQL は技術的にはおもしろいけど、仕事で使う物じゃないだろ。
535NAME IS NULL:2012/07/16(月) 15:04:50.36 ID:???
>>533
LINQでぐぐると福岡のご当地B級アイドルグループがトップになるんだが・・
536NAME IS NULL:2012/07/16(月) 15:06:42.09 ID:???
>>534
SQLを直接触れないとチューニングで困る気はするな。
537NAME IS NULL:2012/07/16(月) 15:12:58.64 ID:???
Entity Frameworkを実務で使っている人居るの?
社内プロジェクトとかじゃなくて。
538NAME IS NULL:2012/07/16(月) 15:23:38.88 ID:???
>>530
CROSS APPLYに誰もつっこまないのは、
どう見てもアレで正しいからだろうが。
なんでツッコミが入らない物や、お前が理解出来ない物は低俗って発想になるんだよ。
539NAME IS NULL:2012/07/16(月) 15:31:17.39 ID:???
立っている者は親でも使え
SQL仕様にあるのならCROSS APPLYでも使え
540NAME IS NULL:2012/07/16(月) 15:47:56.18 ID:???
>>538
> CROSS APPLYに誰もつっこまないのは、

注意深くない奴は、マ辞めた方が周囲も本人も幸せだぞ。
541NAME IS NULL:2012/07/16(月) 15:52:34.95 ID:???
プロなら、そこにあってもちゃんと考えてから使うんだよ
保守性、開発効率、実行効率、、、 考えることはいくらでもあるんだ
542NAME IS NULL:2012/07/16(月) 15:56:59.29 ID:???
>>541
先ず存在を知らなきゃ使えない
そして使って見なきゃわからない
それから有用かどうか考えれば良い
543NAME IS NULL:2012/07/16(月) 15:58:05.84 ID:???
以前の仕事で「JOIN使用禁止」って案件があった。
仕事だとそういうもん。
544NAME IS NULL:2012/07/16(月) 15:59:51.09 ID:???
>>542
キミが言ってる事はもっともなんだけど、そういうのは業務時間外でやってね。
仕事前に有用か否かの答えを用意してきてから仕事に臨んでね。
それが社会人の常識ですから。
545NAME IS NULL:2012/07/16(月) 16:10:39.60 ID:???
>>543
以前ってどのくらい昔なんだ?
FROMとWHEREで結合書くのが主流だった頃にその規則があった所はある
546543:2012/07/16(月) 16:17:30.74 ID:???
>>545
2003年。
SQL Server2000の頃。
547543:2012/07/16(月) 16:19:07.71 ID:???
ちなみにJOIN使用禁止ってのは「JOINの代わりにWHEREで結合条件書きなさい」
という意味ではなく、「1つのSQL内に複数テーブルを出現させては駄目」という
意味な。
548NAME IS NULL:2012/07/16(月) 16:36:04.61 ID:???
JOIN禁止でこの話を思い出した
http://d.hatena.ne.jp/iad_otomamay/20100906/1283786846
549NAME IS NULL:2012/07/16(月) 16:39:29.11 ID:???
>>544
そういうDQNな会社で働くのは嫌だな。
社員のスキルアップも業務の一環ですよ。
550NAME IS NULL:2012/07/16(月) 16:44:13.93 ID:???
随分と昔だけど UNION 禁止で UNION ALL だとOKってのがあったな。
551NAME IS NULL:2012/07/16(月) 16:52:11.69 ID:???
>>549
キミよりスキルがあって安い給料で働く奴隷は今のご時勢たくさんいるんで、
別にキミみたいな人間は去ってもらって結構ですよ。
552NAME IS NULL:2012/07/16(月) 16:58:40.77 ID:???
>>551
そういう貴方も奴隷なんでしょ?
あ、社蓄なので奴隷以下の家畜でしたか。

本当に優秀な人はこの業界は選びませんね。
7Kで先がないし。
553NAME IS NULL:2012/07/16(月) 17:06:34.04 ID:???
>>552
社蓄にすらなれない人かわいそう…
554NAME IS NULL:2012/07/16(月) 17:10:13.69 ID:???
>>541
それらの何か一つでもデメリットがあれば、徹底的に騒ぎ立てて、禁止規約を作って、下請にもう正常動作まで確認出来てるソースコード全部作り治させて、本人は仕事した気分になってるヤツいるよね。

デメリットとメリット天秤に掛ける責任追いたくないから、取り合えずなんでも感でも禁止、禁止、禁止イぃぃーー!
555NAME IS NULL:2012/07/16(月) 17:13:39.06 ID:???
ヽ(`Д´)ノ 俺と言う大きな存在を納める器たる会社が無いからあえてニートを選んでんだよ!

552
556NAME IS NULL:2012/07/16(月) 17:18:05.87 ID:???
まあ、最近リスク管理とか言って、何でもかんでも指摘しておけばいいと思ってる、
自称PMが多いからねぇ。
557NAME IS NULL:2012/07/16(月) 18:18:54.83 ID:???
>>553
社ゴキと言ってよ。
会社には不要だけど何処からともなく
沸いて出てくるし駆除もできない。
558NAME IS NULL:2012/07/16(月) 18:20:12.33 ID:???
>>556
それって自分のためのリスク管理ね。
そして部下に責任を押し付ける。
559NAME IS NULL:2012/07/16(月) 19:40:10.55 ID:???
>>557
ゴキ以前かわいそう…
560NAME IS NULL:2012/07/16(月) 20:32:55.04 ID:???
>>559
社ゴキにも分かる日本語で書いておくれ。
561NAME IS NULL:2012/07/16(月) 23:27:39.91 ID:???
>482
>商品検索画面で条件を入れると商品に一覧(グリッド形式)で出る
>画面をつくるとします

>商品ID 品名 規格  前回売上日  前回売上単価

>SELECT 商品.商品ID,商品.品名,商品.規格
>   ,(SELECT TOP 1 日付 FROM 売上 WHERE 売上.商品ID=商品.商品ID ORDER BY 日付 DESC) AS 前回売上日
>   ,(SELECT TOP 1 単価 FROM 売上 WHERE 売上.商品ID=商品.商品ID ORDER BY 日付 DESC) AS 前回売上単価
>FROM 商品
>WHERE 画面で入力された条件


まったく同じ結果をスマートに求めるなら、

SELECT 商品.商品ID, 商品.品名, 商品.規格,
   F.日付 AS 前回売上日, F.単価 AS 前回売上単価
FROM 商品
OUTER APLLY(
 SELECT TOP1 * FROM 売上 WHERE 売上.商品ID = 商品.商品ID ORDER BY 売上.日付 DESC
) AS F
WHERE
画面で入力された条件
562NAME IS NULL:2012/07/17(火) 00:37:53.55 ID:???
OUTER APLLY

新餌さ頂ました〜
563NAME IS NULL:2012/07/17(火) 05:14:57.49 ID:???
>>560
社ゴキだとちゃんとわかるから。
ゴキ以前の奴には無理かもしれんが (w
564NAME IS NULL:2012/07/18(水) 20:39:34.37 ID:3EuiH4GF
× aplly
◯ apply
565NAME IS NULL:2012/07/20(金) 08:09:54.81 ID:???
>>564
おっぱい に見えた・・・・溜まってるな・・漏れ・・
566NAME IS NULL:2012/07/22(日) 12:56:45.44 ID:???
apply使うと、ほとんどカーソル使う必要がなくなるよね。
567NAME IS NULL:2012/07/31(火) 20:36:13.49 ID:???
ブックオフで 7.0の本を見掛けたんだけど、今時7.0なんて使ってるとこはないよね?
568NAME IS NULL:2012/07/31(火) 20:48:24.47 ID:???
ないことを証明するのはむずかしい
7.0の本が役に立つのかという話なら、お前がDBの基礎すらできてなくて、
その本が基礎から解説してるなら役に立つかもしれん
569NAME IS NULL:2012/07/31(火) 20:59:05.58 ID:???
仰るとおりで w
570NAME IS NULL:2012/07/31(火) 22:06:27.75 ID:???
すみません、質問というか知恵を貸していただきたく。

現在都合によりPostgreSQLからSQL Server R2へ移行をしようとしています。
それで移行が簡単な方法を探しています。

今検討している方法は、先にSQL Serverにテーブルを作成し、SQL Server Management Studioのインポート・エクスポート機能を使用して、
移行元のPostgreSQLには".Net Framework Data Provider for Odbc"のデータソースを使用して、データをインポートする。
このとき、1テーブルごとにクエリを発行して、SQL Serverにインポートしようとしています。

一度に一つのスキーマの情報をすべて移行したいのですが、方法がわからず困っています。

上記インポート・エクスポートの機能で、各テーブルのマッピングをして移行しようとも思ったのですが、
「変換元データおよび変換先データの列情報を取得できませんでした。」
のエラーが出て、マッピングの確認ができません。
エラーの内容から「Microsoft.SqlServer.Dts.DtsWizard」の部分でエラーが発生しているようで、
マッピングをきちんと指定できれば利用可能なだとは思うのですが、マッピングの指定の仕方がわからず・・・

マッピングの仕方もしくはもっと簡単なやり方があれば、教えてください。
よろしくお願いいたします。
571NAME IS NULL:2012/07/31(火) 22:28:47.24 ID:???
>>570
ポストグレスのスキーマ移行できるのか?
572NAME IS NULL:2012/07/31(火) 23:22:42.75 ID:???
>>571
ポスグレのスキーマ(現状publicのみですが)をSQL Serverの一つのデータベースとなるように考えています
573NAME IS NULL:2012/08/01(水) 05:40:05.66 ID:???
ポスグレ側でテーブル定義のSQLとれないのか?
それを必要なら修正してSQLServerに空のテーブル作成
データは出来るならリンクテーブル張って引っ張るのが楽な気がする

DTSも解りにくかったがSSISになってさらに解りにくくなった気がするからなぁ
574NAME IS NULL:2012/08/01(水) 09:01:32.81 ID:???
>>572
>>573 氏も言っているようにテーブルくらいは作っておかないと駄目なんじゃないかな。
575570:2012/08/01(水) 22:18:35.77 ID:???
返事が遅くなり、すみません。
携帯は規制で書き込めなかったorz


>>573-574
書き方が足りず、すみません。
テーブルに関しては、文字列や日付の型の関係もあり、事前に作成しています。

インポート機能利用時に、テーブルも一緒に作成できたのですが、データ型の
チェックをするので、先にテーブルを作るようにしました。


リンクテーブルに関しては、正直知らなかったので試してみたらうまくいきそうでした。
通常のinsert into select でなんとかなりそうです。

ありがとうございました。
576NAME IS NULL:2012/08/07(火) 02:36:24.14 ID:???
ストアドの中で「引数が渡されたらそれを検索キーにして検索、引数が渡され
無かったら無条件検索」ってのをしたいだけなんですが

IF @PARAM = ''
 @P = '%'
ELSE
 @P = '@PARAM;

INSERT INTO @TMP
SELECT * FROM TBL WHERE VAL LIKE @P;

こんな感じでやっても全然取得出来ません。引数に空文字を渡すと全件取れる
のと、

SELECT * FROM TBL WHERE VAL LIKE '%' + @P + '%';

ってやると取り合えず期待とは違うけど取得出来るので考え方は間違ってない
と思うんですが、どこがおかしいのでしょうか?
577NAME IS NULL:2012/08/07(火) 02:47:06.00 ID:???
すいません、あいまい検索がしたい訳ではなく、動的にSQLを作りたくなかった
ので '%' を使わないLIKE検索を試みました。
578NAME IS NULL:2012/08/07(火) 03:34:07.95 ID:???
すいません、自己解決しました。
foo(@PARAMS NVARCHAR) って書くと1文字分しか確保してくれないようで。
579NAME IS NULL:2012/08/07(火) 11:43:38.95 ID:???
数GBのデータベース環境を 2008R2→2012 してみたのですが
なんか尋常じゃないほど遅いですが。。

リソースモニタ見てると、ディスク活動「アクティブな時間の最高」が100%で張り付いてます。
CPU負荷はガラガラ。。


ハードはほぼ一緒なのですが、ディスクアクセスが10倍以上遅いような気がします。
SQL2012 試しておられる方いませんか?
580NAME IS NULL:2012/08/07(火) 12:53:42.25 ID:???
>>579
インスタンス名を替えて同じハードに入れてテストしてみれば良いんじゃないですか?
2008, 2008R2, 2012 は2005のマイナーチェンジらしいですけど。
581NAME IS NULL:2012/08/07(火) 19:04:31.94 ID:???
>>576
@PARAMがNULLで@PもNULLになってるってオチだとエスパー

>>578
ほんとに解決したんならいいけど
582NAME IS NULL:2012/08/08(水) 10:53:07.58 ID:???
SQL Server 2008 R2 Standard 日本語版 10CAL付き
これを買おうと思っていますがPCがオフラインなんですけど
ライセンス認証は電話とかでできるんでしょうか?ネットに1度つながないとだめですか?
あと、壊れた時の予備として別PCにこれをインストールする場合は
同じ製品をもう1つ買う必要がありますか?10CALってことだから10台はOKってことですか?
現状は1台のPCにインストールされていて、そのPC内部のクライアント(1ユーザー)から接続してるだけです
583NAME IS NULL:2012/08/08(水) 11:19:51.77 ID:???
>>582
Standardでなきゃ駄目な理由があるのかな?
Expressでも10Gbyteまで行けるし。
584NAME IS NULL:2012/08/08(水) 11:22:42.79 ID:???
>>583
10GBだと足りないです
結構大きなデータで3年分とるんです
あと無料版は客への印象がよくないとか
585NAME IS NULL:2012/08/08(水) 12:21:35.72 ID:???
PCオフラインでもOKですよ。特にアクチ等はないです。
あと、サーバライセンスとCALとごっちゃになってませんか?
MSのサイトとかに詳しく説明があるので一度みたほうがよいですよ。
586NAME IS NULL:2012/08/08(水) 12:51:38.30 ID:???
ありがとうございます
認証ないなら特に気にせず使えますね
サーバーライセンスとCALは調べたので一応理解してるつもりです
サーバーライセンスが1台のPCに1個で無制限ユーザー
CALの方がユーザーにつき1個必要
ユーザーが多い企業とかは前者、
ユーザーが少ない個人は後者という感じですね
今回は1PC、1ユーザーなんで
587NAME IS NULL:2012/08/08(水) 12:57:58.45 ID:???
>>584
無償版と言ってもMS純正でOSSのDBMSでは無いですけどね。
それから、待機系として通常は使用していないのであればライセンスは1つで済んだはずです。
588529:2012/08/08(水) 13:48:48.66 ID:???
原因判明

2012では「SQL Server の優先度を上げる」にすると、劇遅になるぽい
チェック外したら速度が大幅うp
589529:2012/08/08(水) 13:55:46.42 ID:???
一瞬変化があったけど、また遅くなった
「SQL Server の優先度を上げる」は無関係・・

いったい何が起きてるんだ
590NAME IS NULL:2012/08/08(水) 13:56:41.47 ID:???
>>588
そんなアフォな
591NAME IS NULL:2012/08/08(水) 13:58:18.45 ID:???
>>589
動的管理ビュー調査汁よ
592NAME IS NULL:2012/08/08(水) 15:34:05.58 ID:???
>>586
それはCPUライセンスとCALですよ。
サーバライセンスは、サーバ機にSQLServerをインストールできるライセンスです。
インスコされたSQLServerに接続して利用するためには、クライアントライセンスが必要です。
接続クライアントが少数の場合は、CALがお得。
多い場合は、CPUライセンスがお得と。
今回の場合、1台インスコ、1ユーザのみってことなので、1サーバライセンスと1CALが必要です。
>>587
待機系でもライセンス必要ですよ。
2台にインスコするなら、2サーバライセンス必要になります。
593NAME IS NULL:2012/08/08(水) 16:58:56.20 ID:???
>>592
しったか乙
通常電源切ってるなら必要ないですよ
594NAME IS NULL:2012/08/08(水) 17:01:13.28 ID:???
>>592
>待機系でもライセンス必要ですよ。

データベースミラーリングのミラー側はライセンス不要
595NAME IS NULL:2012/08/08(水) 17:32:41.61 ID:???
昔から待機系はライセンス不要だったはずなんだが
気になったんで2008R2の使用許諾読んでみたが、表現が微妙だなぁ

一時的なサポートを行うため(略)パッシブ フェールオーバー インスタンスを同一数まで実行することが可能です

だってよ

常時電源を切ってる必要はなさそうだけど、ミラーリングは
パッシブ フェールオーバーとみなされるかどうかだな
596NAME IS NULL:2012/08/08(水) 17:39:32.98 ID:???
>>589
ディスクIOで待ちになってるってんならメモリ割り当てが足りてない気がするが
ウイルス監視ソフトがデータファイルのIO監視してるとかいうオチじゃないだろうな
597NAME IS NULL:2012/08/08(水) 17:49:07.09 ID:???
>>589
だから同じ鯖にインスタンス替えて入れろと。
違うPCじゃ比較にならん。
598NAME IS NULL:2012/08/08(水) 17:52:34.21 ID:???
>>593
えええええ。そうなんですか?
ショックです。だまされました。
MSに聞いて必要だといわれたんですが・・・。
サーバ移行時等、一時的に複数台にインストールするのはOKですが、それ以外の場合は、ライセンス必要ですって。。。
あいつら買わせたいからってだましやがった。ひどすぎですね。
これは訴えてもいいかも。
599NAME IS NULL:2012/08/08(水) 18:02:55.43 ID:???
>>598
ライセンス購入のポイント

フェールオーバー クラスタリングやデータベース ミラーリング、
ログ配布を利用する場合、Passive 側 (待機サーバー) のライセンスを
購入する必要はありません。

http://www.microsoft.com/ja-jp/sqlserver/2008/howtobuy/system.aspx

良く分からんけど要らないのじゃないかな。
600NAME IS NULL:2012/08/08(水) 18:34:50.22 ID:???
そこの注意書き

フェールオーバー機能において、Passive 側のライセンスが不要になるのは、Passive 側を待機サーバーとしてのみ利用する場合に限られます

つまり、フェイルオーバー用に待機サーバとするときのみライセンス不要
>>582の説明が、予備マシンにインストールする とかだけだった場合
この要件に当てはまらないと判断された可能性はある

あと完全コールドスタンバイで、SQLServerのフェイルオーバー機能をつかわないなら
待機サーバにもライセンス必要と読めなくもない
601NAME IS NULL:2012/08/08(水) 18:40:07.90 ID:???
>>600
待機サーバーが待機サーバーのみとして使われるならライセンス不要でしょう。
602NAME IS NULL:2012/08/08(水) 18:44:14.20 ID:???
>>601
その通りだし、>>600でもそういう話だが
何が言いたいのか解らん
603NAME IS NULL:2012/08/08(水) 18:47:15.97 ID:???
>>602
最後の2行が・・
604NAME IS NULL:2012/08/08(水) 20:29:55.03 ID:???
>>603
2008R2の説明
フェールオーバー クラスタリング、データベース ミラーリング、ログ配布のいずれかのテクノロジーを使用し、
SQL Server 2008 R2 のフェールオーバー機能を利用する場合、Passive 側 (待機サーバー) のライセンスを購入する必要はありません。

つまりフェールオーバー クラスタリング、データベース ミラーリング、ログ配布のどれかを使わないなら、待機サーバとしてでもライセンスが必要
と読めるわけだが
605NAME IS NULL:2012/08/08(水) 20:50:37.74 ID:???
うむ
606NAME IS NULL:2012/08/08(水) 21:46:30.31 ID:???
常識考えられない人たちって。。。
MSの罠にはまりすぎ
607NAME IS NULL:2012/08/08(水) 21:59:45.17 ID:???
GPLトラップから比べると屁のような罠だが
608NAME IS NULL:2012/08/08(水) 23:16:01.92 ID:xfql6zb5
ライセンスの誤購入はMSの隠れた収入源だからな。
意図的に多く買わなきゃいけないようにミスリードさせてる。
609NAME IS NULL:2012/08/09(木) 13:09:46.01 ID:???
なんで営業に確認しないんだろう…
610598:2012/08/09(木) 13:15:13.57 ID:???
>>609
営業に確認した結果ですよ。
今抗議中です。
来週回答がもらえる予定です。また報告します。
611NAME IS NULL:2012/08/09(木) 14:23:43.80 ID:???
>>609
買う前に2chで確認しないのが悪いのだ。
612NAME IS NULL:2012/08/09(木) 20:08:13.50 ID:???
>>610
意志がよく伝わってなかったんじゃないのか。
ケンカ腰にだけはなるなよ。
ケンカしたら、先々決して良い取引関係には
ならないからな。
613NAME IS NULL:2012/08/09(木) 21:02:01.40 ID:???
>>610
そうか、それはすまんかった。
614NAME IS NULL:2012/08/09(木) 21:15:58.25 ID:???
待機サーバにライセンス要らないのはどっちかっていうとMSのサービスだからな
ちゃんとライセンス不要になる条件で見積もり頼まないと、ライセンスいるって言われるにきまってるだろ
615NAME IS NULL:2012/08/09(木) 22:17:59.50 ID:???
日本とアメリカで同じ製品でもライセンスの解釈が違ったりするからなぁ。
616NAME IS NULL:2012/08/10(金) 05:32:11.65 ID:???
>>614
サービスとか馬鹿ですか。

> ちゃんとライセンス不要になる条件

これがどういう条件なのかの話しだよ、ちょっとはスレの流れを読めよ。
617NAME IS NULL:2012/08/10(金) 06:21:52.61 ID:???
>>616
>これがどういう条件なのかの話しだよ
そんな話は終わってて、それが>>610に合致してるか、それを
営業にちゃんと伝えてるかどうかってのが>>610以降の流れなんだが

他人を馬鹿にする前にちゃんと自分が流れ把握したらどうだ
618NAME IS NULL:2012/08/10(金) 06:31:59.67 ID:???
>>617
> そんな話は終わってて

終わってないし。
終わってるというなら、ちゃんとした条件書いてみな。
619NAME IS NULL:2012/08/10(金) 11:26:39.78 ID:???
自分でちゃんとライセンス条件を調べて1本だけ買えば済んだ話。
620NAME IS NULL:2012/08/10(金) 12:14:34.57 ID:???
>>619
> 自分でちゃんとライセンス条件を調べて

ライセンス条項読んだこと無い奴がよく言う台詞だな。
>>614 と同じ匂いがする。
621NAME IS NULL:2012/08/10(金) 12:48:29.71 ID:???
>>620
SQL Serverはライセンスが複雑怪奇なのでMSのサイトに
ライセンスについて解説している資料が沢山あるし
ライセンスFAQもあるし自分で調べりゃ分かるぞ。
622NAME IS NULL:2012/08/10(金) 13:47:58.38 ID:???
>>621
通常電源オフのコールドスタンバイ機のライセンスについて、
どこにどう書いてあるか具体的に示してみて。
623NAME IS NULL:2012/08/10(金) 16:35:40.16 ID:TxC9G7S+
Windowsは電源入れてなくてもインストールするにはライセンスが必要
SQLServerのミラーなどにライセンスが不要なのは特例措置にすぎない
624NAME IS NULL:2012/08/10(金) 21:39:59.51 ID:???
>>622
キミは粘着性人格障害みたいだな。
キチガイの相手をする気はありませんw
625NAME IS NULL:2012/08/10(金) 22:30:39.26 ID:???
>>624
「自分で調べりゃ分かるぞ」と大口叩いて、「具体的に書いてみ」と言われたら、人格攻撃 + 捨て台詞

さすがに、かっちょ悪いね。(w
626NAME IS NULL:2012/08/10(金) 23:39:03.15 ID:???
SQL Serverって単独でCALいるの(Windowsのじゃなくて)?
627NAME IS NULL:2012/08/11(土) 06:32:36.43 ID:???
2008R2までなら
プロセッサライセンスならCAL不要
サーバーライセンスならCAL必要

2012なら
コアベースライセンスならCAL不要
サーバー/CALモデルならCAL必要
628NAME IS NULL:2012/08/12(日) 08:43:55.93 ID:???
へぇ〜サンクス
CALの考え方は、
SQLServerに接続するクライアント数(たとえば、APサーバ台数分?)って意味なのか、
それともユーザ全部なのか(Oracle式)。
Windowsの方は、IIS経由のアクセスは、CALに関係なかったはずだけど。
う〜ん、難しいね。
629NAME IS NULL:2012/08/13(月) 08:41:10.10 ID:???
newid() を PrimaryKey にしてるテーブルがあるんだが
サーバーマシン入れ替でデータベース移動させたら
しばらくして insert で重複エラー出たよ

完全にユニークが保障されてるんじゃなかったっけ?
630NAME IS NULL:2012/08/13(月) 08:48:50.44 ID:???
そうだったらよかったのにね
631NAME IS NULL:2012/08/13(月) 19:09:09.75 ID:???
GUIDってそのマシンのMACアドレスから生成してた気がするんだが
DB中にMACアドレスもってるのかなぁ
かぶったGUIDってMACアドレスどうなってたんだろ
632NAME IS NULL:2012/08/15(水) 18:32:05.14 ID:???
newid() でもぶつかるときはぶつかるから
bigint で identity のマイナス下限で始めれば
633NAME IS NULL:2012/08/21(火) 12:32:16.48 ID:???
EFのスレが見当たらないのでここで質問させてください。
1つのEDMに異なるスキーマのテーブルを混在させることってできますか?
634NAME IS NULL:2012/08/21(火) 19:20:02.13 ID:???
スレ違い。
635NAME IS NULL:2012/08/21(火) 20:09:45.10 ID:???
書いてあることをいちいち書く男の人って・・・スルーしろよ。
636NAME IS NULL:2012/08/21(火) 20:17:36.51 ID:???
スルーしてたら続くだろ。馬鹿?
637NAME IS NULL:2012/08/21(火) 20:25:27.60 ID:viJcbdJr
2011年7月に立ったスレでなにを言ってんだお前。馬鹿?
638NAME IS NULL:2012/08/21(火) 20:28:06.49 ID:???
いつ立ったか、なんて何も関係ないんだが。
639NAME IS NULL:2012/08/25(土) 14:22:52.99 ID:???
話を戻すぞ
SQL SERVER2012のライセンスについてなんだが、コアライセンスとはクアッドコアの場合、4倍の値段がするということでいい
640NAME IS NULL:2012/08/25(土) 15:01:35.46 ID:???
>>639
> コアライセンスとはクアッドコアの場合、4倍の値段がするということでいい

1コアライセンスというものがあれば4倍でいいが、そもそも SQL-Server 2012 は
4コアからしか買えない。

あと AMD だと コア数× 0.75 とかいくつか条件あるので、営業に確認したほうがいい。

http://www.microsoft.com/ja-jp/sqlserver/2012/howtobuy/default.aspx

# favicon のロゴが新しい奴になってる…
641NAME IS NULL:2012/08/25(土) 20:58:30.47 ID:???
>>640
てめぇ、非村抜刀歳か!?
642NAME IS NULL:2012/08/27(月) 01:47:21.34 ID:???
C#でソフトを作成してDBにSQLServer2008を使ってます。
マネージメントスタジオを開いている時だけSQLの結果がすぐ(1秒以内)帰ってきて
マネージメントスタジオを閉じるとSQLの結果に時間が掛かります(40秒前後)

こういう現象って初めてなんだけど何か知りませんか?

DBは1テーブルしかなくてデータは1億件程度で列数は6つくらいです
流してるSQLは日時で該当する1件を取得するってだけなのですが・・・
643NAME IS NULL:2012/08/27(月) 06:45:43.78 ID:???
初回問い合わせのみ遅いんじゃなくて
問い合わせの度に待たされるの?
644NAME IS NULL:2012/08/27(月) 09:03:05.59 ID:???
DB接続とオープンが遅いのか、クエリそのものが遅いのか切り分けを
645NAME IS NULL:2012/08/27(月) 12:05:27.00 ID:???
SBS2003入れたばかりでSQL2000入れて再起動したサーバーのSQL2000 8.00.194 に
SP3a や4当ててる最中に、アップグレード処理のサーバーを初期化中ってところで
タイムアウトしてが充てられないんだけど
SP充てられないSQLサーバやAGENTも停止してるので何にも見当がつかないんだけどなにがいけないんだろうか?
646NAME IS NULL:2012/08/27(月) 12:32:14.60 ID:???
エスパーするとインスタンス指定がまちがってる
647NAME IS NULL:2012/08/27(月) 12:56:56.48 ID:???
エスパーサンクス
インスタンスは既定にチェックでそのまんまの空白だけど
なんか指定して試してみます。
648NAME IS NULL:2012/08/27(月) 18:28:46.11 ID:???
処理1の中でテーブルA,B,Lを更新し、処理2の中でテーブルC,D,Lを更新してる。
どうしても必要があってbegin 〜 end transactionで囲ってるけど、テーブル
L(LOGテーブル)は別に双方から同時に書いても特に問題ないのでこいつだけ
トランザクション制御から外したいんですが可能ですか?

今の実装のままだと、処理1が実行中に処理2が走り始めても、処理1が終わるまで
待たされてしまいます。
649NAME IS NULL:2012/08/27(月) 20:10:15.96 ID:???
>>648
分離レベル何でやってるとか、Lに主キーはあるのかとか、いろいろ考慮点があるが

特定のテーブルだけトランザクションから外すとかありえん
別の接続でトランザクション外でそのテーブルを更新しろ

よくわからんなら分離レベルをREAD UNCOMMITTEDにすればいいんじゃないかな
650642:2012/08/29(水) 00:14:06.44 ID:???
初回のみではなく毎回遅いです

マネージメントスタジオを起動してDBに接続してからクエリを流すとすぐ結果が帰ってきます

DBへはアプリ起動時に接続しているので単純にクエリの結果が帰ってくるのが遅いです

宜しくお願いします!
651NAME IS NULL:2012/08/29(水) 04:37:40.47 ID:???
実際にアプリで実行されてるSQLをサーバ側で確認いしてみろ
652NAME IS NULL:2012/08/31(金) 21:56:02.45 ID:???
>>650
パラメータの型変換とかで、実行計画狂ってない?
653NAME IS NULL:2012/08/31(金) 23:10:32.02 ID:???
ファイアウォール系のソフト全部切ってサーバと直結してためしてみたら?
654NAME IS NULL:2012/09/01(土) 18:20:39.78 ID:???
SQLserverの認定資格取ろうと思うんだけど、すぐにでも2012版の試験が開始されるものですか?
今今はタイミング悪いですかね?
655NAME IS NULL:2012/09/03(月) 21:00:07.51 ID:???
質問ですが、
複数のテーブルをjoin文で結合して、その列名を値として取得したいのですが
どうやったらいいでしょうか?
教えてください
656NAME IS NULL:2012/09/03(月) 22:06:11.65 ID:???
>>655
もうちょっと待ってれば向こうで回答出たんだがな

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
657NAME IS NULL:2012/09/04(火) 07:22:38.89 ID:???
こっちなら、sp_columns でいいな。
http://msdn.microsoft.com/ja-jp/library/ms176077.aspx
658NAME IS NULL:2012/09/04(火) 13:14:44.58 ID:XlOCjIZI
Windows Server のスケジューラで SQL Server を監視し、
SQL Server がダウンしたら、Windows Serverを再起動したいのですが、
何かサンプルがないでしょうか。よろしくお願いします。
659NAME IS NULL:2012/09/04(火) 19:15:10.93 ID:???
2008r2でsprename以外でカラム名変更ってできる?
drop table → create tableってのは無しでお願いします。
660NAME IS NULL:2012/09/04(火) 21:07:35.81 ID:???
それが目的じゃなくて、最終目的のための手段なんでしょ
目的を書けばいいのにねえ
661NAME IS NULL:2012/09/04(火) 21:33:16.78 ID:???
じゃ、ALTER TABLE で。
662NAME IS NULL:2012/09/04(火) 23:32:37.41 ID:???
>>658
ダウンって SQL-Server の異常終了のこと?
だったら、サービスの設定で「コンピュータを再起動する」を指定しておけばいいと思う。
(サービスのプロパティで回復タブにある奴ね。)
663658:2012/09/05(水) 00:28:10.65 ID:NdeyOU/w
>>622
どうもありがとうございます。
Windows Server + SQL-Serverを仮想サーバで使用しているのですが、
同居している他人の仮想サーバの負荷が異常にあがる影響を受けて
SQL-Serverが固まって応答がない状態になるみたいなのです。
そのような場合でもSQL-Serverが異常終了したという
イベントが拾えるでしょうか?
664NAME IS NULL:2012/09/05(水) 01:03:57.06 ID:???
サーバは仮想化されるべきだが、データベースには気をつけろ

ttp://www.publickey1.jp/blog/09/post_60.html
665NAME IS NULL:2012/09/05(水) 06:37:48.16 ID:???
クラスタにしろよ。
666NAME IS NULL:2012/09/05(水) 09:44:02.32 ID:ubycgf9V
>>659です
私自身、OracleやMysqlなどの経験もあるのですが、
とあることがきっかけで大学のSQL講習会に参加しています
そこで出題された課題で
1.テーブル作成
2.1で作成したテーブルのカラムAをカラムBと名称変更しなさい
というのがあり、ALTER TABLE使っても動かず、調べてみるとどうも
SQLServerではALTER TABLEでカラム名変更できないのでは?
と勝手に思っています。
sp_renameを使って提出したのですが違うと言われ、
DROP TABLE → CREATE TABLEも違うと言われ、
「・・・」
となっている状態です。

>>660
以上理由となっており、目的達成ではなく手段が問われているような感じです。
説明不足ですみませんでした。

>>661
できなかったです・・・。私の知識不足かもしれませんが・・・。


ちなみに、この課題は以前Oracleでやっていたそうで今回はじめてSQLServerで講習しているとの事です。
ひょっとしたらできないのかも・・・。
667NAME IS NULL:2012/09/05(水) 12:31:11.84 ID:???
ALTER TABLEでカラム名の変更はできんだろ
新しいカラム追加して、(データコピーして)古いカラム消すぐらい
ツールの多くはそういう動作してたはず。テーブルのドロップ&作成と大差ない

つか大学のSQL講習って、そんなどうでもいいこと講習して何の役に立つんだろうな
668NAME IS NULL:2012/09/05(水) 19:28:39.34 ID:???
sp_renameも内部的にはそういう動作だろうしな。
669NAME IS NULL:2012/09/07(金) 18:46:57.19 ID:A526fkMU
SQL Server 2012を導入予定なんだが、2012はXPに対応していない?
これはサーバーへのインストールだけが対応していないだけで、ネットワークのXPマシンからデータベースを読み込む事は出来るの?
670NAME IS NULL:2012/09/07(金) 19:20:55.51 ID:???
>>669
まずサーバの話なのかクライアントの話なのか
まあ、どっちにしても2012はXPはサポートしてないな
古いクライアントで新しいサーバへの接続はおそらくできるだろうけど保障外

ということで答えは 保障されない だ
671NAME IS NULL:2012/09/07(金) 20:36:21.65 ID:A526fkMU
ふむ…ありがとう
672NAME IS NULL:2012/09/07(金) 21:06:49.12 ID:???
http://msdn.microsoft.com/ja-jp/library/cc280356.aspx

SQL Server Native Client 11.0 (SQL Server 2012)
Microsoft Windows Vista
Microsoft Windows Server 2008
Microsoft Windows 7

だってさ。
673NAME IS NULL:2012/09/08(土) 02:19:31.37 ID:???
マイクロソフトもケツの穴の小さいことをせずに
過去のMS製OS全てとiOS・アンドロ・Linuxまで対象にすりゃ
尊敬されるのになあ。
674NAME IS NULL:2012/09/08(土) 08:47:28.83 ID:???
価格が 10倍になってもいいならやるけど、お前ちゃんと買ってくれるのか?
675NAME IS NULL:2012/09/08(土) 10:11:34.74 ID:???
>>674
何でそんなに高くなるのさ。
Vista以前のOSでは動かないように仕掛けがあるんだろ。
それを外せばよいだけの話。
676NAME IS NULL:2012/09/08(土) 11:22:19.73 ID:???
Vista以降のOSで持ってる機能を利用してたら、それ以前のOSでは動かない。
677NAME IS NULL:2012/09/08(土) 11:29:25.72 ID:???
>>675
売りもんにするならテストというものが必要になるんだよ。

働いたことない奴には理解できないかもしれないが (w
678NAME IS NULL:2012/09/08(土) 11:30:33.19 ID:???
そういうこという奴のアプリは、当然MS-DOSでも使えるんだよな?
679NAME IS NULL:2012/09/08(土) 13:29:39.75 ID:D50/2ldH
>669
2012のクライアントツールはxpにインストール不可
但し、2008R2のSSMS(Express)やAccess2003のapdなどである程度操作できる
SSISなどがExpressの機能に制限されてしまうのが難点
別サーバーのSQL-S2000に SQL OLEDBでリンクサーバーを張ろうとしても
ターゲット側にNativeClientが入ってないと怒られるのでODBC経由になる

2000のEMからSSMSに移った身としては戸惑うことばかり
680NAME IS NULL:2012/09/08(土) 14:44:42.14 ID:???
2012から2000にリンクサーバーで、2000の方にネイティブクライアントが無いって言われるのか?
681NAME IS NULL:2012/09/08(土) 15:35:16.06 ID:???
ODBCでつながるんなら文句ないやろ
682NAME IS NULL:2012/09/08(土) 16:06:38.96 ID:D50/2ldH
2000側にNativeClientが入ってないのがわかっているから
リンクサーバー設定時にわざわざOLE-DBを指定しているのに
ターゲット側にNativeClientが入ってないってエラーが出た

同じやり方で 2008R2から2000はリンクできたので
設定方法を間違ったのではないと思うんだが...
683NAME IS NULL:2012/09/08(土) 16:18:57.60 ID:???
>>682
サーバーにはクライアント入れなくてもいいんだぜ?
ターゲットって2000だろ。ターゲットに接続行くのに、ターゲット側のクライアント関係ないと思うが
2012のネイティブクライアントは2000への接続保証してないからそのせいなんじゃないのか?

あとOLE-DBは非推奨になったはず。OLE-DBでリンクサーバ張れなくなってるのかも

検証したいが2012が無いんだよなぁ。2000はあるのにw
684NAME IS NULL:2012/09/08(土) 17:09:27.71 ID:D50/2ldH
>2012のネイティブクライアントは2000への接続保証してないからそのせいなんじゃないのか?
たぶんそんなこったろうとは思う

>あとOLE-DBは非推奨になったはず。
でもリンクサーバー設定時の選択肢にはでてくるんだよなぁ

ODBCのオーバーヘッドを気にするようなアプリを組んでるわけじゃないけど
いまいちしっくりこないなぁ
685NAME IS NULL:2012/09/09(日) 02:04:15.52 ID:???
>>663
それは多分異常終了とはみなされないから
タイムアウトとリトライ処理付のバッチを別途作ってやって、異常判断用のSQL定期的に流す形になる。
686NAME IS NULL:2012/09/09(日) 21:45:21.05 ID:2/TvaXCv
With テーブル ()で作ったテーブルは、そのストアドプロシージャが続く範囲ではどこからでも参照できて
ストアドプロシージャが終わったら破棄されるのですか?
687NAME IS NULL:2012/09/09(日) 22:26:15.31 ID:???
CTEか?それはテーブルは作られてない
有効なのはそのSQL文だけ
688NAME IS NULL:2012/09/09(日) 22:42:50.42 ID:2/TvaXCv
ありがとうございます

ついでに質問ですが、Withの冒頭に;が必要な場合とそうでないときの違いはなんですか?
689NAME IS NULL:2012/09/10(月) 01:00:09.07 ID:???
http://msdn.microsoft.com/ja-jp/library/ms175972.aspx
バッチの一部となるステートメント内で CTE が使用される場合、この句の前のステートメントの末尾にセミコロンを記述する必要があります
690NAME IS NULL:2012/09/10(月) 08:11:05.72 ID:j8POAroQ
ありがとうございます
つまり頭で使わない限り、;が必要なんですね
691NAME IS NULL:2012/09/10(月) 14:44:23.94 ID:???
頭に必要なんじゃなくて、(前の)文の最後に必要なんだぞ
将来的に全部の文に必要になる予定だからなるべく全部の文に付けとけ
692NAME IS NULL:2012/09/10(月) 22:57:32.84 ID:???
体で使えばいいんだよ
693NAME IS NULL:2012/09/11(火) 06:09:01.93 ID:???
TIMESTAMP列を持つテーブル同士で

insert into TAB1 select * from TAB2

とか出来ないんですが、列名を全部指定する以外の方法でエラーを回避する事は
出来ないでしょうか?
694NAME IS NULL:2012/09/11(火) 19:29:27.79 ID:???
>>642 さんと似たような現象発生

VB.NET (framework 3.5)から、10万件中から20件くらい抜き出すSQL文があって
ManagementStudio では1秒以内でレスポンスあるのに
ExecuteReader すると3秒くらいかかる。

Parameters.Add 〜 に型を明示しても変化なし

どうなってるんだ?
695NAME IS NULL:2012/09/11(火) 19:34:57.21 ID:???
1秒と40秒なら何か問題がありそうだけど
3秒程度じゃconnectionのオーバヘッドじゃないのかな?
696694:2012/09/11(火) 19:48:11.34 ID:???
>>695
642さんとの違いは、元のレコード数だと思います。

で解決!

SELECT 〜 と普通に書いてある箇所に、TOP 値をダミーで付けたら劇早に
たとえば TOP 999999999 とか

サブクエリーとか入れ子にしてあるときは、入れ子の内側も外側も
すべてに TOP 〜 を入れる、と。

原因は分からないが、TOP を消すと元の劇遅に戻り、TOP を追加すると劇早になる
確実な再現性がありました。


ただ、TOP 書かなくても劇遅にならない SQL 文もいっぱいあって
どの条件の場合に「TOP がないと劇遅」になるのかは不明。。

いやだなぁ、この手の怪しい挙動
697NAME IS NULL:2012/09/11(火) 19:50:17.99 ID:???
上のほう見たら
>>256-257 で似た感じの質問が出てました。

ちなみに自分の場合は SQL2008R2 でした。
698NAME IS NULL:2012/09/11(火) 21:53:50.65 ID:???
ExecuteReaderはクライアントカーソル
マネージメントスタディオは非同期フェッチ
TOP 999999999 とかいれるぐらいならクエリヒント入れる方が良いと思うが
まず実行計画チェックしろよ
699NAME IS NULL:2012/09/11(火) 22:13:35.35 ID:HJ9mXy9v
2012のブックスオンラインのオフラインインストールファイルって
どこにあるのか教えてください
700NAME IS NULL:2012/09/11(火) 22:17:08.16 ID:???
前はBOL重宝したけど最近は msdn で事足りるからなぁ
701NAME IS NULL:2012/09/12(水) 11:09:00.32 ID:???
>>696
統計情報を再作成するとまれによく治ることもある
702NAME IS NULL:2012/09/12(水) 21:02:38.53 ID:???
sp_updatestats
703NAME IS NULL:2012/09/13(木) 15:39:45.28 ID:HiVPSN8q
すみません。ちょと教えてください。
地方で三流SEやってます。SQL7の入ったPCがHDDぶっとんでしまいなんとか
必要なSQLのDATAだけ抜けました。これを別PC準備してSQL7環境に復元することは出来ますか?
使っていたソフトはPCA会計2000です。

c:\MSSQL7\ 以下のデータは抜けました。
別のWINDOWS2003serverは作りました。
sqj7.0をインストールしました。PCA会計2000をインストールしました。
初期データベースの状態で動作を確認しました。

data以下を上書きしました。起動できなくなりました。
こんな状態です。一度読めたら必要なデータを印刷し、新しい会計ソフトに乗り換えるつもりです。
だれかボスケテorz
704NAME IS NULL:2012/09/13(木) 16:16:19.71 ID:???
アムロ上書きじゃなくてアタッチでなくて?
705NAME IS NULL:2012/09/13(木) 17:32:20.73 ID:???
インデックス付きビューとやら試してみようと思ったけど
これ、ビューの中で OUTER JOIN してるとダメなんだな

使えん
706NAME IS NULL:2012/09/13(木) 18:14:22.71 ID:???
>>704
YESです。
ファイルとして抜いただけなんで、SAのパスもわからないし、インストール作業したら
SQLデータも、会計ソフトのデータも上書きするしか手がないかなーと思いまして、、、

もうだめぽですかね。。。もしくは、PCAの新しいソフトを買って業者にやらせるかでしょうか。
707NAME IS NULL:2012/09/13(木) 18:28:40.97 ID:???
アタッチしろよ
708NAME IS NULL:2012/09/13(木) 18:31:28.49 ID:???
>>707
了解。やってみます。

あと、会計ユーザが登録されていませんってなるんですが、これはPCA会計側に
WINDOWSログインユーザが登録されてるってことですかね、、
SQL内になければ、レジストリかな、、iniファイルとかだといいんだけども。。
709NAME IS NULL:2012/09/13(木) 19:30:17.05 ID:???
>>703
SQL2000だけど、SPのバージョンを合わせてからdata以下上書きでOKだったことがあったなあ
710NAME IS NULL:2012/09/13(木) 19:33:17.32 ID:???
アタッチできないです。同梱されているEnterprise Managerが古いんでしょうか。。。

>>709
元のSPがなんだかわかりませんが、SP1とSP2やってみますorz
都度、セーフモードで起動しなきゃ上書きでいないので時間がかかる。。。。
711NAME IS NULL:2012/09/13(木) 19:50:38.10 ID:???
>>710
SPと書きましたが、sqlservr.exeのファイルバージョンが一致してればいいと思いますが。

712NAME IS NULL:2012/09/13(木) 20:01:06.65 ID:???
アタッチでキタ━━━━(゚∀゚)━━━━ !!!!

sp_attach_dbつかってアタッチする方法かいてあったのでやってまーす。
SQL7は上書きはだめっぽいです。私より全然専門の方っぽいblogで
上書きは2000から。7はできないって書いてました。
713NAME IS NULL:2012/09/13(木) 22:03:30.15 ID:???
PCAのサポに電話しろよ
そも、そんな安直にデータ引っこ抜けるようじゃセキュリティ意味為さないだろ
三流の猿知恵でなんとか成ると思ってんじゃねーよ 
714NAME IS NULL:2012/09/13(木) 22:15:57.14 ID:???
まだ7使ってる奴いるのか
715NAME IS NULL:2012/09/13(木) 22:18:36.89 ID:???
6.5使ってるところもあるよ。NT4で。
716NAME IS NULL:2012/09/13(木) 23:13:56.11 ID:9JalXwmb
699です
BOLのオフラインファイルようやく見つけました

ttp://www.microsoft.com/ja-jp/download/details.aspx?id=347
2012のホームから直接いけるようにしといてくれればいいのに

2層DVDのisoなんだから200MBちょっとのBOLくらい入れとけよって思ったら
初版なのに6月27日付 発売に間に合わなかったってことか

717712:2012/09/14(金) 09:53:06.69 ID:???
>>713
サポート契約してないんだよ。でも、PCAには電話したけど販売店に電話しろで
販売店に電話したらサポ終了で、そもそもイレギュラーな作業過ぎて無理と。
一応最新のPCAに買換えで話は進めてるけど、10年分の財務データdだままにはできんよ。。

PCA会計はまだできてないけど、商魂は移動できた(`・ω・´)
つか、どうもWINDOWSのログイン認証でソフトが動いてるらしくて、ぶっとんだサーバーの
管理者がいなくてadministratorパスワードもわからんし、同じ環境にせんど、上書きでうごかないっぽい。

はやく営業さん見積りカモン!!ボスケテ!!
718NAME IS NULL:2012/09/14(金) 09:59:15.37 ID:???
決算書とか仕訳帳とかの法定書類は決算期に紙で出してあるんだろうから
過年度の財務会計はトンでも、さほど被害ないでしょ
719NAME IS NULL:2012/09/14(金) 10:08:22.61 ID:???
>>718
そういわれればそうだよね。今年度分だけでももどりゃいいか。
決算が3月末だから、たかが5か月分だもんな。
商塊は、復元できたし、新しいソフトに打ち込みやってもらうか。

あとはPCAの販売店にMDFとLDF渡して、あとよろしくでいいか。
そうだよね。俺なにがんばってんだろ。
720719:2012/09/14(金) 11:23:22.40 ID:???
ワロタ なおったwwwww

アタッチとかいらんかったwwwwwワロスwww
721NAME IS NULL:2012/09/14(金) 23:08:42.40 ID:KXjMKLaA
>>717
作り話してんじゃねーよ いっとくがな、PCAはサボ契約なんか二の次で対応してくれるわ
やましいことあるから質問に答えられなかっただけだろ 答えられない理由があったんだろ
お寒い野郎だぜ、ったく
おまえ、四十代なかばにもなって、そんなことしてて恥ずかしくねーのか? 恥ずかしくねーんだろな、だからぐだぐだ言い訳ばかり書き残してんだ
722NAME IS NULL:2012/09/15(土) 10:10:16.20 ID:???
>>721
うん。やましいことがあったからサポしてもらえなかったんだよ。残念ながら。
箱も説明書も認証コードないんだよ。
「ソフトはなんですか?」 → 「PCA会計と商管って聞きましたが、、、」
「失礼ですが、、」 → 「委託された会社のものです」
「販売店は?」 → 「わかりません」
「製造番号は?」 → 「わかりません」
「・・・・・」 → 「・・・・・」
だよ。逆にどうサポートしろとw

HDDトんだPCの販売店は潰れてるし、ソフトの購入先はわからんし。たぶん導入担当が割れ厨。
会社側はPCAの2クラが100万円超のソフトだって理解してないし、会計と商管で300万だぞ?
予算もなしに即入れ替えてもらえるハズもない。

じゃぁ、とりあえず復元させて、時間稼いでいる間に、スタンドアロン版の最新に買い換える
からってことになっとんよ。
どこが壊れたPCからHDD抜き出して、中古のPC用意して、そこに復旧してくれる?
そんなもんサポートでやるはずがないだろ。じゃぁ、俺がやったろやないかいってことで。

バックアップは外部メディアに過去1度もやってなかったのよ。だから、ソフトインストールしても
データ復元できないし、もともと2003serverの管理者=PCA導入担当だったから、ログインIDもPASS
もわからん状態なわけ。わかってるのはクライアント側が、WINDOWS認証でつかってたっぽいってこと。

無事復元できたので、バックアップを取って、正規の代理店に新規ソフトに移行してもらいます。
上の作業と引き換えに、じぶんちのソフト1000万の契約もらったし、おいしいです(^q^)
723NAME IS NULL:2012/09/15(土) 10:51:03.00 ID:???
スレ違いうぜー
724NAME IS NULL:2012/09/15(土) 23:25:54.29 ID:qmfhKv6U
挙句の果てに犯罪自慢ですか 典型的な確信犯ですねw  PCAよ、こいつが犯人だw
おとなしくお縄頂戴してくださいねー  あ、ついでだからお客さんにもちょっとお話をお聞きしときましょーか
取調べには職業SEとか言わないでくださいねー Sかも知れませんがEじゃ、絶対ありませんからw      晒しage
725NAME IS NULL:2012/09/16(日) 08:27:01.20 ID:???
http://ikura.2ch.net/test/read.cgi/ms/1342898312/808
永遠に続く争いを終わらせるために、署名をお願いします。
726NAME IS NULL:2012/09/18(火) 22:26:59.30 ID:QdPAiAG2
とある列の長さをLEN(テーブル.列)で求めつつ、
その長さをINSERT文の複数の箇所で使いたいんですが・・・・


INSERT
SELECT
列A,
列B,
LEN(列C),
SUBSTRING(列D, LEN(列C))
列E
FROM テーブル


こんな感じのSQLです
LEN(列C)を2回用いてるところにオーバーヘッドがありそうなんですが、どうすればいいんでしょうか

727NAME IS NULL:2012/09/19(水) 03:44:39.66 ID:???
LEN(列C)を含んだビューでも作っとけば

728NAME IS NULL:2012/09/19(水) 12:56:28.97 ID:???
気にしないのが一番。
今時のマシンなら全く完全に無視出来る程度の負荷。

副問い合わせの結果をINSERTの複数個所で使いたい、とかなら流石に無視しない
けど。
729NAME IS NULL:2012/09/19(水) 23:52:38.41 ID:???
>>727-728
ありがとうございました。
730NAME IS NULL:2012/09/22(土) 11:22:38.97 ID:???
731NAME IS NULL:2012/09/24(月) 10:54:52.17 ID:Dl453Jsn
SQL Server 2012 Expressもコネクション数に制限は無いだろうと思ってるんだけど、
その場合のWindows Server自体のCALってどうなるんだろ?

SQL Server 2012 StandardのCALを買えば、
Windows ServerのCALは使用しないでSQL Serverの接続はできるという認識なんだが。
732NAME IS NULL:2012/09/24(月) 15:53:59.20 ID:???
Windows認証つかうならCALは必要だろう
733NAME IS NULL:2012/09/24(月) 20:23:49.62 ID:???
どんな方法であっても認証するならWindows CALは必要。
734NAME IS NULL:2012/09/25(火) 10:20:23.35 ID:???
SQL Server認証を利用したとしても、WindowsCALは必要ってこと?
ExpressじゃないSQL Serverを入れるとかなり高価なっちゃうのね

ありがとう 勉強になった
735NAME IS NULL:2012/09/25(火) 19:16:22.49 ID:???
Windows Serverがあるのに
CALが無いって状況はあまりない気がするんだが...
736NAME IS NULL:2012/09/25(火) 19:25:50.92 ID:???
んなことたぁないですよ。
CAL付きパケ買う状況の方が少ないと思いますけど。
737NAME IS NULL:2012/09/26(水) 02:47:59.97 ID:???
CALゼロのサーバのパッケージなんて見たことないけど
CALのないサーバーを一体どうやって運用してるんだろうな
738NAME IS NULL:2012/09/27(木) 01:38:10.55 ID:???
>>737
パッケージはおれも見たことないが、ボリュームライセンスだと普通 CAL なし。

Windows Server に CAL はなくても、クライアントが CAL 持ってれば別に問題ないと思うが。
739NAME IS NULL:2012/09/27(木) 04:15:28.69 ID:???
それはCALが無いとは言わんのじゃないかね
740NAME IS NULL:2012/09/28(金) 22:11:40.11 ID:???
ExpressなんだからクライアントOSに入れればOKだろ?
741NAME IS NULL:2012/09/29(土) 08:53:39.79 ID:???
>>739
論点は「CAL のないサーバー」でしょ?
742NAME IS NULL:2012/09/29(土) 09:28:28.93 ID:???
EULA的には、クライアントOSをDBサーバーとして使うのはアウト。
743NAME IS NULL:2012/09/29(土) 13:47:15.80 ID:???
サポートしてるけど、使っちゃダメって?

Microsoft? SQL Server? 2012 Express

サポートされているオペレーティング システム:
Windows 7, Windows Server 2008 R2, Windows Server 2008 Service Pack 2,
Windows Vista Service Pack 2

http://www.microsoft.com/ja-jp/download/details.aspx?id=29062

EULA のどこに書いてあるか kwsk
744NAME IS NULL:2012/09/29(土) 21:33:31.54 ID:???
>>743
ネットワーク経由でサーバとして使うんじゃなくてローカルDBとして使えって建前だな
OSのEULAってバージョンやエディションやSPによって変わってるけど、一度ちゃんと読んでみ

ちなみに、今のEXPRESSってネットワーク接続できる状態でセットアップされてる?
745NAME IS NULL:2012/09/30(日) 08:50:16.16 ID:???
f. デバイスの接続 お客様は、ファイル サービス、プリント サービス、インターネットの情報サービス、
インターネット接続共有サービスおよびテレフォニー サービスのみを利用するために、ライセンスを
取得したコンピューターにインストールされた本ソフトウェアに対し、最大 20 台の他のデバイスからの
接続を許可することができます。

ってやつだな。
746NAME IS NULL:2012/09/30(日) 09:20:35.53 ID:???
なるほど、了解した。
747NAME IS NULL:2012/10/05(金) 16:27:22.23 ID:OplmYB62
インデックスが無いテーブルで、IDENTITYを利用して一意性を保証する事って
可能なんでしょうか?

と言うのも、ほぼINSERTしかしないログの様なテーブルがあり、インデックスが無くても
IDENTITYが一意性を保てるならその方が良いかなと思いまして。
それともIDENTITYのテーブルには強制的にインデックスが貼られるんですかね?
748NAME IS NULL:2012/10/05(金) 21:04:48.89 ID:???
IDENTITY に強制的にインデックスが貼られることはないが
それをキーにして検索するならインデックスはっとけ
749NAME IS NULL:2012/10/06(土) 01:27:21.28 ID:???
一意制約って内部的にユニークインデックスで実現してる気がする
どっちにしても一意を保証するには、全行の値をチェックしないとダメだから
素直にインデックス張っとけ
750NAME IS NULL:2012/10/23(火) 21:50:20.53 ID:???
SQL SERVER 2008 R2 64bit版の、STANDARD を、
WINDOWS 2008 SERVERにインストールした場合、
CALって、どうなるんでしょうか。

SQL SERVERにも専用CAL、WINDOWS 2008 SERVERにも専用CALがダブルで必要になるんでしょうか。
751NAME IS NULL:2012/10/23(火) 21:52:05.35 ID:???
うん
752NAME IS NULL:2012/10/23(火) 22:09:55.84 ID:???
「うん」って、
て、もうちょっとkwskお願いします
753NAME IS NULL:2012/10/23(火) 22:14:31.22 ID:???
えと、たとえば、ユーザーが20人いたとして、
sql server 2008 r2にアクセスしてくるとします。
しかし同時にクライアントソフトでアクセスするのは5人くらいだとします。

sql server 2008 r2は、プロセッサライセンスではないので、
ユーザーごとにsql server 2008 r2のcalがいると思います。

でも、同時アクセスが5人だけだったら、追加calは要らないとかないんでしょうか。
754NAME IS NULL:2012/10/23(火) 22:20:36.65 ID:???
ない
755NAME IS NULL:2012/10/23(火) 22:23:17.35 ID:???
同時アクセスが10人だったら、どうなりますか。
windows server 2008と、
sql server 2008 r2 それぞれについて。

756NAME IS NULL:2012/10/23(火) 22:25:38.54 ID:???
http://www.microsoft.com/ja-jp/sqlserver/2008/r2/howtobuy/default.aspx#num3

※SQL Server 2008 R2 では、同時使用ユーザー数モードは提供されません。
必ず、SQL Server 2008 R2 にアクセスするすべてのユーザーまたはデバイスごとに CAL を購入してください。
757NAME IS NULL:2012/10/23(火) 22:27:32.28 ID:???
http://www.microsoft.com/japan/windowsserver2008/client-licensing.mspx

Windows Server 2008 の方は、同時使用ユーザー数モードがあるから、
そっちで CAL を 10 個買えば OK。
758NAME IS NULL:2012/10/23(火) 22:29:32.45 ID:???
>>756
参考サイトをありがとうございます。
なるほど、sqlserver2008 r2にアクセスする可能性のある、pc あるいは ユーザーのうち、
少ないほうを選択すればいいのかなと思います。

しかし、calって購入すれば、そうれがどういうもので、(CDですか?)
そしてsql serverのどこにcalを登録すれば認証されるのでしょうか。
759NAME IS NULL:2012/10/23(火) 22:30:38.50 ID:???
登録するところはない。紙を買うだけ。
760NAME IS NULL:2012/10/23(火) 22:34:21.25 ID:???
登録もないんですか。
じゃあ、なんらかの認証コードとかもないわけですね。
つまり、MSから信頼されているんですね、われわれって。

ありがとうございます。紙を買って、ロッカーに保管しておきます。
761NAME IS NULL:2012/10/23(火) 22:36:35.18 ID:???
windows server 2008のcal紙と、
sql server 2008 r2のcal紙とを、必要なデバイスあるいはユーザー数のうち、少なくなる方を選んで、
購入したいと思います。

calって、ややこしい。ms ってややこしい。
762NAME IS NULL:2012/10/24(水) 15:15:01.40 ID:???
この程度でややこしいと感じるなら、SIベンダーに金払って丸投げしろ
763NAME IS NULL:2012/10/24(水) 16:40:56.29 ID:???
社内で自前で、社員などがやっています?
764NAME IS NULL:2012/11/09(金) 15:43:36.40 ID:dcYWs2B4
137 名前: NAME IS NULL [sage] 投稿日: 2011/11/23(水) 09:08:36.76 ID:???

2012プロセッササイセンスがソケット単位からコア単位課金になって、6コア以上のプロセッサを使う場合、実質値上げになるらしいな。
しかもワークグループやWEBなどのstandardより安価なエディションが全て廃止とか…

138 名前: NAME IS NULL [sage] 投稿日: 2011/11/23(水) 09:13:27.58 ID:???

ちなみに4コア未満のプロセッサでは4コアに価格が切り上げられるというボッタ価格の為、廃止されるワークグループの代わりにはならない。

371 名前: NAME IS NULL 投稿日: 2012/04/01(日) 23:04:20.96 ID:Raxe05Ul

SqlServer2012の大幅値上げワロタ。
8コアXeon一個だと
SQL Server 2008 Standard プロセッサライセンス 約100万
SQL Server 2012 Standard プロセッサライセンス 約270万

爆上w

627 名前: NAME IS NULL [sage] 投稿日: 2012/08/11(土) 06:32:36.43 ID:???

2008R2までなら
プロセッサライセンスならCAL不要
サーバーライセンスならCAL必要

2012なら
コアベースライセンスならCAL不要
サーバー/CALモデルならCAL必要

640 名前: NAME IS NULL [sage] 投稿日: 2012/08/25(土) 15:01:35.46 ID:???

>>639
> コアライセンスとはクアッドコアの場合、4倍の値段がするということでいい
1コアライセンスというものがあれば4倍でいいが、そもそも SQL-Server 2012 は
4コアからしか買えない。
あと AMD だと コア数× 0.75 とかいくつか条件あるので、営業に確認したほうがいい。
http://www.microsoft.com/ja-jp/sqlserver/2012/howtobuy/default.aspx
# favicon のロゴが新しい奴になってる…
765NAME IS NULL:2012/11/09(金) 15:47:25.33 ID:dcYWs2B4
要するに、ユーザーの視点では、SQL SERVER2012はMSが販売放棄をしてしまい、2008で終わりというこなのかw
766NAME IS NULL:2012/11/10(土) 00:42:02.68 ID:???
他のDBに乗り換えろって事だな。
Windowsも先が見えてきた感が有るし、検討してもいいかも。
767NAME IS NULL:2012/11/10(土) 01:37:41.00 ID:???
まあ今は企業サーバー部門の方が安定感あるな
その先はクラウドだが
768NAME IS NULL:2012/11/12(月) 21:04:45.36 ID:ZQgVmRSp
LINUXで動作するSQL系SERVERソフトウェアに替えていこう。
MY SQLは、SQL文が通らないのが多いようなのでやめておこう。
何がいいだろう。
769NAME IS NULL:2012/11/12(月) 21:36:22.46 ID:???
スレ違い。
770NAME IS NULL:2012/11/13(火) 05:52:08.36 ID:???
MySQLおすすめ
嫌ならFirebird
771NAME IS NULL:2012/11/13(火) 06:13:09.14 ID:???
express つかってりゃタダだろが
772NAME IS NULL:2012/11/13(火) 08:09:18.03 ID:???
メモリ1Gって足かせが大きすぎる。
773NAME IS NULL:2012/11/13(火) 13:42:27.51 ID:Yugh/EhK
POSTGRE?
774NAME IS NULL:2012/11/14(水) 21:35:03.04 ID:???
ORACLEだと「update tempfile set column = 変数」ってできますが、
最近のSQL Serverではできますか
775NAME IS NULL:2012/11/15(木) 00:28:32.96 ID:???
昔のSQL Serverで出来なかったかのような言い方だ
何をどうしたいのかわからんが、変数の使い方がわからんだけか?
776NAME IS NULL:2012/11/15(木) 20:57:08.60 ID:???
SQL Server 2008で、ユニークなIDを採番するのに

insert into TABLE1
values (
(select max(id)+1 from TABLE1),

);

とやった後に、実際にいくつの番号が採番されたかを確実に知る方法はあり
ますか?

それとも、Oracleから遅れることxx年でようやくSequenceが実装された
2k12を使ったほうがいいでしょうか?
777NAME IS NULL:2012/11/15(木) 21:08:08.05 ID:???
なんでわざわざ insert するのか
採番するなら update 1文でできるし
行にユニークな番号が必要なら identity
778NAME IS NULL:2012/11/15(木) 21:43:56.55 ID:???
新規でレコードをinsertする際、ユニークなIDを採番するために(ry
779NAME IS NULL:2012/11/15(木) 21:47:06.62 ID:???
ID列を定義しておいて、@@identityで。
780NAME IS NULL:2012/11/15(木) 22:03:18.42 ID:???
>>776
今、手元に SQL Server の環境ないから試せないけど、

insert into TABLE1
output inserted.*
values (
(select max(id)+1 from TABLE1),

);

として、結果をアプリで受けるのではダメかな?
781NAME IS NULL:2012/11/15(木) 22:23:23.31 ID:???
馬鹿には無理
782NAME IS NULL:2012/11/15(木) 23:42:39.78 ID:???
declare @newid as int;

begin transaction;
select @newid=max(id)+1 from TABLE1;
insert into TABLE1 values (@newid);
commit transaction;

select @newid;
783NAME IS NULL:2012/11/16(金) 00:56:14.15 ID:???
>>782
これってselectしてからinsertまでの間に別の誰かがinsertする可能性は無いの?
784NAME IS NULL:2012/11/18(日) 19:36:27.29 ID:???
分離レベルによるんじゃね
785NAME IS NULL:2012/11/18(日) 20:03:35.74 ID:???
分離レベルによってはFOR UPDATEつけなくても保証されることあるかもなのか
786NAME IS NULL:2012/11/18(日) 22:38:32.37 ID:???
FOR UPDATEとか、デフォルトでSELECTがロック獲得しない某DB用
つか、SQL ServerとORACLEは別物だって考えろよ
787NAME IS NULL:2012/11/18(日) 23:06:36.83 ID:???
SELECTしただけでロックされるのがデフォなDBなんてあんの?
屑過ぎて使い物にならんと思うけどwwwwwwww
788NAME IS NULL:2012/11/18(日) 23:11:00.82 ID:???
>>783
ある。selectしたnewidと実際にinsertで使われたnewidがずれる可能性は否定
できない。つーか、>782 をやるくらいなら >780でいいじゃん。

諸事情あってidentityが使えないっつーなら採番テーブルを自前で用意するか、
許されるのなら2012に乗り換えてSequenceでも使うしかない。
2012マジ最高。FileTableはうまく使うと面白い事が出来そう。
789NAME IS NULL:2012/11/19(月) 00:34:59.45 ID:???
SERIALIZABLEならずれないだろ、たぶん
790NAME IS NULL:2012/11/23(金) 21:51:44.06 ID:???
SQLSERVER2008R2です。
あるテーブルの値を加工して別のテーブルへインサートする
ストアドをかきました。

intel i7 3GHzなマシンでは1時間程で完了する処理が
xeon 3GHzなマシンだと20時間くらいかかって速度が遅い
原因がわからず困っています。

利用状況モニタでみてみると、データベースIOが
極端に遅いです。

ディスクとメモリのベンチマークをとってみたところ、
それほど悪くない感じです。

どうも、インサートそのものが遅いようなのですが,同じデータベース
、同じストアドでここまで性能に差が出る理由がわからなくて
困っています。

何か、ここを見るべし的な情報やアドバイスがあれば
教えていただけないでしょうか?
791NAME IS NULL:2012/11/23(金) 21:57:19.05 ID:???
IOが遅いんだからディスクが遅いんだろJK
792NAME IS NULL:2012/11/24(土) 01:32:44.62 ID:???
ハード構成は?
793NAME IS NULL:2012/11/24(土) 06:37:24.81 ID:???
Core i7 はSSDで
xeon は SASだと
エスパーしてみる
794790:2012/11/24(土) 10:04:19.16 ID:???
>>792
ハード構成はざっくり下記のような構成です。

■■ 処理が速いマシン
Core i7 i7-2600 3.4GHz
メモリ 16GB デュアルチャネル
HDD SATA (7200回転) RAIDなし

■■ 処理が遅いマシン
Xeon E5-2609 2.4GHz
メモリ 12GB デュアルチャネル
HDD SAS (10000回転) RAID1

CrystalDiskMarkで HDD のベンチマークをとってみると、
Xeonマシンのほうがよい数値が出ます。

ハードの構成や、SQLサーバー側の設定、その他
確認すべきポイントやアドバイスがあればおねがいします。
795NAME IS NULL:2012/11/24(土) 10:55:06.45 ID:???
OSは?

それだけ見ると、メモリー16GBいっぱいいっぱい使ってて Xeon マシンの
方はスワップしまくりとか。

Task マネージャーで SQL Server プロセスの CPU とスワップの状況確認
してみて。
796NAME IS NULL:2012/11/24(土) 10:59:35.58 ID:???
RAID1ってだけで倍は遅くなる
797NAME IS NULL:2012/11/24(土) 11:15:38.78 ID:???
安物 RAID しか使ったことない人はお呼びじゃないです。
798790:2012/11/24(土) 11:27:30.74 ID:???
>>795
OSは下記の通りです。

■■ 処理が速いマシン
Windows 7

■■ 処理が遅いマシン
Windows Server 2008

タスクマネージャを見る限りCPUの利用率は低いです。
ストアドを実行してから処理中のメモリの空き容量も空いている状況ですが、
利用状況モニタで確認すると、やはり、データベースIOが
処理が遅い方のマシンは 0.1〜0.3 MB/秒 程度しか出ていません。

ハードウェアの問題でしょうか・・・
799NAME IS NULL:2012/11/24(土) 11:34:05.29 ID:???
リソースモニタかパフォーマンスカウンタでディスクキューと書き込みデータ量みてみろ
800790:2012/11/24(土) 19:04:01.41 ID:???
>>799

確認してみます。

このふたつの数値がよくない状況を示している場合、
ハードウェア側の問題と結論つくのでしょうか??

遅いマシンと速いマシンのスペック差で、ここまで極端に性能差が
でることは、ハードウェア以外にも何かまずい点が潜んでいる気が
しないでもないのですが・・
801NAME IS NULL:2012/11/25(日) 02:22:33.03 ID:???
アンチウィルスソフトとか入れてない?
802NAME IS NULL:2012/11/26(月) 08:15:04.88 ID:???
俺の経験した事例だと、ネットワーク使ってないのにTCP/IP有効にしたらごっつい速くなった。
803NAME IS NULL:2012/11/26(月) 15:53:20.22 ID:???
名前付きパイプか共有メモリより、TCP/IPの方が早いってことか
ちょっと興味深い結果だな
804NAME IS NULL:2012/11/26(月) 21:57:31.27 ID:332BCDpg
テーブルAとテーブルBがあります
テーブルAの主キーは5つあります
テーブルBの主キーはテーブルAの主キーのうち5つで、外部キーです。
いまテーブルAの主キーのうち1つの桁数を増やすことにしました(00→000等)。
TRANSACT-SQLでスクリプトを書くことになりました

最初にテーブルBからとりかかり、まずテーブルBの主キーと外部キー情報を保存しておきます。
次に新しいTABLEを主キーをつけずにCREATEしたあと(B'と呼びます)、テーブルBからINSERTしていき、
桁数を増やす必要がある列は、関数で加工してINSERTしています。
その後、Bから保存した主キーをB'に追加したあと、今までのBを「_B」とかいう名前にして保存しておき、
B'をBと名前変更します。

そしてAから取り掛かり、テーブルAの主キー情報を保存しておきます。
次に新しいTABLEを主キーをつけずにCREATEしたあと(A'と呼びます)、テーブルAからINSERTしていき、
桁数を増やす必要がある列は、関数で加工してINSERTしています。
その後、A保存した主キーをA'に追加したあと、今までのAを「_A」とかいう名前にして保存しておき、
A'をAと名前変更します。

最後に、旧B(今は_B)から保存した外部キーをBに追加し・・・・たいのですが、この時点で
「1750: 制約を作成できませんでした。以前のエラーを調べてください。」というエラーが出ます。
「以前のエラー」と言っても、ERROR_MESSAGE()が拾ったのはその文言だけで他にエラーはありません。


ですので、「どうしてエラーが出るのか?」というのがよく分かりませんです・・・。

ただそもそも外部キーである主キーの列を変更する手段がこの順番でいいのか、よく分かりませんです・・・。
805NAME IS NULL:2012/11/26(月) 22:09:01.65 ID:???
>ただそもそも外部キーである主キーの列を変更する手段がこの順番でいいのか、よく分かりませんです・・・。

駄目じゃん
806NAME IS NULL:2012/11/27(火) 00:16:23.80 ID:???
普通にON UPDATE CASCADEにしてUPDATEするだけで良いんじゃ?
807NAME IS NULL:2012/11/27(火) 18:26:57.52 ID:???
ぜんりゃく
SQL Server 2012で、
TestテーブルにFurigana(ふりがな)列があり、ひらがな限定にしたいのでCHECK制約を付けようとしました。
以下の文字に限定したいのです。
 ひらがな、長音記号「−」、濁点「゛」、全角空白、半角空白
   単独の濁点を許可しているのは「う゛」があるからです。

ALTER TABLE dbo.Test WITH CHECK ADD
CONSTRAINT [CK_Test] CHECK ((NOT [Furigana] like N'%[^ぁ-んー゛  ]%'))
 (パターンの濁点のあとには半角空白と全角空白が並んでいます)

Furigana列には、以下の照合順序を設定しています。
[Furigana] [nvarchar](50) COLLATE Japanese_XJIS_100_CS_AS_KS_WS NOT NULL

設定したところ、ひらがなだけじゃなくてカタカナ(全角・半角)も通ってしまうし長音記号は制約に引っかかるし
もうわけわかれんです。助けて呉な。
808NAME IS NULL:2012/11/27(火) 18:40:14.16 ID:???
> ひらがな、長音記号「−」、濁点「゛」、全角空白、半角空白
ここが全角マイナスになっているのはたいぽです。ソースはちゃんと「ー」です。
809NAME IS NULL:2012/11/27(火) 20:28:02.12 ID:???
>>807
N'%[^ぁ-んー゛  ]%'に照合順序の指定がないから、照合順序なしで比較されてると予想
そのLIKEに明示的にCOLLATE 指定してみたら?
810NAME IS NULL:2012/11/27(火) 22:56:18.29 ID:???
参照先テーブル '%1!' に主キーと候補キーがありません。この参照先テーブルは、外部キー '%2!' の参照元列リストと一致しています。


これってどういう意味ですか?
811NAME IS NULL:2012/11/27(火) 23:33:55.07 ID:???
バッチだったら引数ちゃうの?
812NAME IS NULL:2012/11/28(水) 12:05:30.13 ID:???
WITH(NOLOCK) の利用って調べると結構危険だ危険だと言われますが、参照するだけの値を取得するのに
そんなに危険なものなんでしょうか?

例えば、VB.NETなどで入力フォームを作成し、ComboboxやListBoxの値(List)を取得するのに、WITH(NOLOCK)の使用は
止めた方が良いんでしょうか。

また、検索/抽出画面でたとえば100件のデータを抽出しViewへ表示させる際など、WITH(NOLOCK)の方が良さそうに思えますが危険なんでしょうか?

得られる情報に差異があっても構わないと言う前提なら問題無し?
813NAME IS NULL:2012/11/28(水) 12:53:42.71 ID:???
>参照するだけの値を取得

取得中に他の誰かが書き換えてたら?
814NAME IS NULL:2012/11/28(水) 13:28:55.44 ID:???
>>813
問題としてはその位なんでしょうか?

上書き優先で考えてますので、取得した時に書き換わっていない場合は、取得した人から見れば
無かった事になりますね。
ただ、実際の業務上ではそれで問題になる事はほぼ無いと考えています。

取得する内容としては、誰が何を何時にしたのか。というのを逐次登録しています。
基本は追加登録ですが、案件によっては前のデータの編集もあります。

同時に同じデータを修正する事はほぼ無い(0%では無いが)と考えています。
こういう場合でもやはり危険でしょうか。

また、取得後に書き換わっていたらという話から行くと、取得したらロックするという
悲観的ロックの方が良いという事なんでしょうか。
815NAME IS NULL:2012/11/28(水) 14:15:40.54 ID:???
それはお前が決めることで
人に聞くようなことではない
816812:2012/11/28(水) 14:51:57.90 ID:???
どの様な危険があるのかなーと…。
817NAME IS NULL:2012/11/28(水) 17:06:49.48 ID:???
>>809
できましたできました。でーきーたー。

CHECK (([Furigana] not like N'%[^ぁ-んー゛  ]%' collate Japanese_BIN))
てなかんじにしました。
818NAME IS NULL:2012/11/28(水) 18:20:57.27 ID:???
>>816
データベースってのは基本的にデータの整合性はDB側で保障されるんだが
ダーティリードされるとこれが保証できない

これ以上の事は利用者であるお前が考える話
819NAME IS NULL:2012/11/29(木) 10:47:40.76 ID:???
>>816
「更新中に取得してしまったら?」という事だけです
取得対象のテーブルが絶対に追加、削除、変更されないなら問題ないです
こういったテーブルは一般的ではないです
頻度は別として、ほとんどのテーブルは変更される可能性を持っています
だからダーティーリードは極力使わない様にします

参照系で業務内容によっては使っても問題ないと思います
でもバッチ中の件数概算など場面は限られると思いますよ
820812:2012/11/29(木) 11:20:08.56 ID:???
うーん、いまいち分からないです。。
最終的に作り手が決めるのはそうなので、それはちょっと置いておきます。

例えば、以下の項目を登録したいとします。
ある商品をいつ誰が何個発注したのかというデータ。
一日の締めまでは何回でも誰でも修正が可能で、かつ修正する人は担当者以外もあり得ます。

[登録データテーブル]
・日時、商品(A,B,C)、個数、担当者(担当1,担当2,担当3)
(カッコ内はデータ)

商品、担当者はマスターテーブルからデータから選択します。

登録画面を表示する際に、商品、担当者のデータをComboboxへ反映させようとした場合、
With(NOLOCK)を使う事に危険性有りですかね?

取得時にデータがあって、登録時にデータが無い/修正されているという事を懸念するとしたら、
登録が終わるまで各マスターをロックした方が良いって事なんでしょうか?
With(NOLOCK)を利用してもしなくても同じような気がしまして…。

飛行機の座席予約の様なデータの厳密性よりは、いつでも見れていつでも登録(後書き優先)できるという感じで良いのですが、
1つのレコードを取得して、変更して、登録という流れがあった場合、このレコードを取得するのに当たり
NOLOCKを使う場合に起こる不都合ってどんなのが想定できるんでしょうか。

ダーティーリードって、トランザクション中の値を取得するに当たり変更前のデータを取得してしまうって事ですよね?
実際の所で言えば、トランザクションが終了していても A取得→B取得→B登録→A登録 という事が起こり得るのだからあんまり関係無いような…。
※トランザクションが取得のみ、登録のみで分かれている場合
それとも、取得から登録までずっとロックしっぱなしの方が普通なのかな。
821NAME IS NULL:2012/11/29(木) 11:51:05.57 ID:???
>>820

>取得時にデータがあって、登録時にデータが無い/修正されているという事を懸念するとしたら、
>登録が終わるまで各マスターをロックした方が良いって事なんでしょうか?
>With(NOLOCK)を利用してもしなくても同じような気がしまして…。

ここがよくわからないです。
データとマスタ間に参照整合性制約があればロックが必要ないのでは。

後書き優先なら楽観ロックいいような…
822NAME IS NULL:2012/11/29(木) 11:58:19.23 ID:???
>>820
情報の鮮度が重要でない(追い求めても仕方ないもの)は
基本 NOLOCK でいいと思うよ

個人的には、デフォを NOLOCK にしてもらったほうが助かるくらい
823812:2012/11/29(木) 13:24:27.50 ID:???
どうもです。

もしかしたら自分の質問は、楽観的ロック(ですらなく後上書き優先)で考えるなら、データを取得する時にはNOLOCKでも良いのではないか?
(同じ事かもしれませんが、NOLOCKが危険なのは悲観的ロックをしている場合のみでは無いか?)
という事になると思います。
824NAME IS NULL:2012/11/29(木) 13:32:12.18 ID:???
2012のFileTableを使ってて、↓と全く同じ問題にぶつかってんだけど
ttp://okwave.jp/qa/q7755759.html

ここで言うSQLサーバの権限設定ってどこの事?
IIS経由であってもsaでアクセスしてるのはローカル接続と同じなんで、
OSユーザがローカル接続時のAdministratorかIIS経由接続時のIUSRで挙動が
変わる???
825NAME IS NULL:2012/11/29(木) 15:00:39.46 ID:???
>>820,823
データを取得するときにロックが必要ないと考えるならそれでいいが
テーブルヒントでどうこうするまえに、分離レベルで実現するべきだと思うが

>>821
ロックを無視されたら、更新中の制約が保証できないだろ

>>822
鮮度が問題なのじゃなくて、整合性が無いのが問題
そのためにスナップショットで処理する分離レベルが追加されてるんだが
ORACLEはそれがデフォだが、SQLServerだと互換性の問題もあってデフォは変えれんのじゃないかと
826NAME IS NULL:2012/11/29(木) 17:49:53.63 ID:???
http://support.microsoft.com/kb/975782/ja
ダーティーリードは本当にダーティーなのできをつけて
827812:2012/11/29(木) 21:06:44.35 ID:???
>>826
おおう、マジかー。
データが重複したり、消えたりするのは困るな…。

こりゃ駄目か。
でもSELECTするのにロックが掛かるのって無駄な様な気がするんだよな…。
828NAME IS NULL:2012/11/30(金) 09:13:43.54 ID:???
読取時に共有ロックかけて更新ロックをブロックする方が
行のバージョン管理するより省リソースというメーカーの判断
バージョン管理させたいならスナップショット分離つかって
829NAME IS NULL:2012/11/30(金) 09:25:09.51 ID:GE+YDVxq
得意先一覧表という資料を出したとする。
資料には印刷時刻の記載があるが秒までは載ってないとする。

9:00:30 に大阪支店のA部長が一覧表を印刷した。
その一覧表を見て重要書類を顧客1に送ったのだが
数日後、書類が戻ってきてしまった。

本社に問い合わせるとB部長が9時すぎにマスターを変更したことが分かった。
システム部門に「排他管理できてねぇだろ、ゴラァ」って問い合わせら
いいえ「B部長の変更時刻は 9:00:35 でしたので、ぎりぎり前に印刷しちゃったのが悪いですね」と答えてきた。

実際の運用シーンは、こんな感じが大部分
帳票の印刷時の SELECT に LOCK かけようが、
部長の更新に LOCK かけようが、さほど意味はない。

レコードロックを気にしないといけないのは
在庫の取り合いとか、重要な金額情報の更新(与信管理)とか、バッチ処理とか
そのくらいしか思い浮かばない。
830NAME IS NULL:2012/11/30(金) 09:50:05.63 ID:???
更新範囲の一貫性の保持のためには仕方ないんでない
831NAME IS NULL:2012/11/30(金) 11:56:34.72 ID:gBuVJcQF
ADD PRIMARY KEYと
ADD CONSTRAINT PRIMARY KEY

ってどうちがうんですか
後者はキー名つけられるだけですか?
832NAME IS NULL:2012/11/30(金) 19:30:26.00 ID:???
>>829
そのパターンでダーティーリードすると
部長の更新前の状態でも更新後の状態でもない状態の印刷物が出来上がる、ってことだぞ
833NAME IS NULL:2012/11/30(金) 19:46:46.42 ID:???
>>831
上は列制約、下はテーブル制約だと思うが
列制約とテーブル制約の違いはイマイチ良くわからんな
834NAME IS NULL:2012/12/06(木) 09:38:38.02 ID:???
SQL Server の中でバイナリ→BASE64のエンコード/デコードをしたいと思ってます。
そーいう系のキーワードで検索かけたら、FOR XML 時に BASE64 変換することができるオプションがあり

declare @value as binary(16);

SELECT @value as base64value
FOR XML RAW, BINARY BASE64

で、とりあえず BASE64 ぽい文字列が得られることが確認できましたが
最終的に XML型 でなく varchar() で文字列だけ取りたいのですが、XML型 の扱いがよく分かりません。

varchar() に cast するにはどうしたらいいのでしょうか。
835NAME IS NULL:2012/12/07(金) 02:57:27.97 ID:???
リンクサーバー(ODBCの設定)について、ご存知の方がいらっしゃたら教えてください。

環境A:Windows7(32bit)+SQL Server2008R2(32bit) → PostgreSQL(32bit)
環境B:Windows2008 Server(64bit)+SQL Server2008R2(64bit) → PostgreSQL(32bit)


環境Aにおいて、PostgreSQLのODBCドライバをインストールして、システムDSNにODBCの設定を登録して
リンクサーバーの設定を行うと、PostgreSQLに接続できSQLの発行なども問題なくできました。

環境Bにおいて、環境Aと同じように32bitのPostgreSQLのODBCドライバをインストールして、システムDSNに
ODBCの設定を登録。リンクサーバーの設定を行うと、PostgreSQLに接続できません。
プロバイダには「Microsoft OLE DB Provider for ODBC」を指定しており、32bitと64bitの違いにより、
設定が認識できないのではないかと考えています。

環境Bで環境Aと同様に接続できるようにするためには、環境Bに64bit用のPostgreSQLのドライバを
インストールしてDSNをすれば接続が可能となるのでしょうか。
PostgreSQLが少し古いバージョンのため、64bitのドライバは最新のものになるため、互換性などに
問題がないか判断ができない状態です。

ご存知の方が、お知恵をお貸しください。よろしくお願いします。
836NAME IS NULL:2012/12/07(金) 12:15:51.78 ID:???
>プロバイダには「Microsoft OLE DB Provider for ODBC」を指定しており、32bitと64bitの違いにより、
>設定が認識できないのではないかと考えています。

違うと思うよ
837NAME IS NULL:2012/12/07(金) 19:37:26.12 ID:???
違くないと思うよ
838NAME IS NULL:2012/12/07(金) 21:11:58.27 ID:???
試せばいいじゃん
OLEDBって、たしか非推奨かなんかになったはずだけど
839NAME IS NULL:2012/12/07(金) 22:36:03.36 ID:taRReDCw
840NAME IS NULL:2012/12/08(土) 17:09:40.22 ID:???
C#2.0 SQL Server2005で作ったシステムがあり、その中にストアトプロシージャを実行して帳票を出す機能があります。
ストアトプロシージャと帳票は1:1で対応しています。

各ストアトプロシージャの実行された結果(セレクト文)には、

@日付
A年度
B問い合わせコード
C拠点コード

が必ずありますが、ORDER BYされる条件は、各ストアトプロシージャによって違います。
列の数や定義も各ストアトプロシージャによってバラバラです。

今、このうち5本のストアトプロシージャのセレクト結果を、特定の条件下で、@ABCでソートして、まとめた上でPDFに出して欲しいと言われました。
各ストアトプロシージャは、@ABC以外の条件でORDER BYされてるのもあります。

対象の5本のストアトプロシージャに手を加えて、特定のフラグをパラメーターとして貰ったときに、
ORDER BYを@ABCに変えるようにSQL文に手を加えたいと思います。

しかし、最終的な5本の結果セット(DataTable)は、@ABCでORDER BYされていますが、
今度は、それを、プログラミングでまとめる方法が分かりません。

DataSet.Tables[0]〜DateSet.Tables[4]を、@ABCでソートして全く新しいDataTableに格納する必要があるかもしれませんが、
それって、C#でやるより、SQLでやったほうがいいでしょうか?

TRANSACT-SQLで、対象となる5本のストアトプロシージャを引数を与えて呼び出すSQLを書いて、
テンポラリーテーブルを作り、5本の結果をINSERTして、@ABCで最後にORDER BYして出力・・・って感じです。
841NAME IS NULL:2012/12/08(土) 21:35:13.33 ID:???
>>840
>プログラミングでまとめる方法が分かりません
>全く新しいDataTableに格納する必要があるかもしれません

なにがしたいのか解らん
プログラムが解らんならC#のスレで聞け
新しいDataTableに格納したければ格納しろよ

>C#でやるより、SQLでやったほうがいいでしょうか
ケースバイケースとしか言いようがない
俺がこのケースで設計担当なら、最終的に欲しい結果を出力するストアド作るが
842NAME IS NULL:2012/12/09(日) 07:46:58.14 ID:???
急にDBに繋がらなくなってサーバーを確認してみるとサービスが停止していたので
おかしいなと思ってログを確認してみたら↓のようなエラーがたくさん出てたのですが
このエラーってどういう意味なんでしょう

エラー: 17300
重大度: 16
状態: 1 (パラメーター: )。
形式設定中にエラーが発生したため、エラーは簡易モードで出力されます。トレース、ETW、通知などはスキップされます。
843NAME IS NULL:2012/12/09(日) 08:38:27.11 ID:???
>>842
> エラー: 17300
> 重大度: 16
> 状態: 1 (パラメーター: )。

そのままググルことぐらいしたらどうよ。
http://msdn.microsoft.com/ja-jp/library/cc645895(v=sql.105).aspx
844835:2012/12/09(日) 09:49:25.65 ID:???
>>836-839
アドバイスありがとうございます。

確かに試してみるしかない


ってことで、64bit版のドライバを入れて見たところ、無事(?)リンクサーバの
作成ができました。(データの確認とかはまだですが・・・)
お騒がせしてすみませんでした。またありがとうございました。


OLEDBが非推奨になったってことをこの件を調べているときに見た記憶は
あるのですが、OLEDB以外ではPostgreSQLへのリンクサーバーの接続が
作成できないので、使用しました。他に方法がないのかと。。。
845NAME IS NULL:2012/12/09(日) 14:34:30.50 ID:???
>>843
ドヤ顔でググレカスしてるとこ横から悪いけど
そのメッセージ内容程度>>842の本文に書いてあるけど
846NAME IS NULL:2012/12/09(日) 16:39:28.56 ID:???
>>842 のどこに「メモリ」とか書いてあるんだろう…
まあ、アホはどこでもいるし、気にしてもしょうがないか (w
847NAME IS NULL:2012/12/09(日) 16:47:09.89 ID:???
まあ、アホはどこでもいるし、気にしてもしょうがないか
まあ、アホはどこでもいるし、気にしてもしょうがないか
まあ、アホはどこでもいるし、気にしてもしょうがないか
まあ、アホはどこでもいるし、気にしてもしょうがないか
まあ、アホはどこでもいるし、気にしてもしょうがないか
まあ、アホはどこでもいるし、気にしてもしょうがないか
まあ、アホはどこでもいるし、気にしてもしょうがないか
まあ、アホはどこでもいるし、気にしてもしょうがないか
848NAME IS NULL:2012/12/09(日) 18:25:22.70 ID:???
涙拭けよ (w
849NAME IS NULL:2012/12/10(月) 00:27:12.91 ID:???
>>841
ありがとうございました。
850NAME IS NULL:2012/12/11(火) 11:43:05.15 ID:???
>>844
Windows2008ServerはODBC(DSN)接続マネージャに64bit版と32bit版が両方あるので使い分けに注意
851NAME IS NULL:2012/12/11(火) 19:30:19.50 ID:???
Windows2008Serverっていうか、64ビットOSにはな
R2から64ビットしかないけど、2008には32ビット版もあるからな
852NAME IS NULL:2012/12/11(火) 19:32:47.45 ID:???
スタートメニューから探して普通に出てくるのが 64bit 用
32bit 用ODBCマネージャはパスを指定して起動する必要がある
853NAME IS NULL:2012/12/21(金) 21:01:58.05 ID:eyIUSHkG
二次元テーブルを返してくる関数があって、そのうちの片方の列に条件式に使いたい値が入っており、片方は関係ないです。
このままだとLIKEが使えないのですが、一つのクエリの中で、その二次元を一次元にサブクエリなどを使って変換する方法はないのでしょうか?
854NAME IS NULL:2012/12/22(土) 20:06:51.38 ID:???
二次元テーブルって何?
855NAME IS NULL:2012/12/22(土) 23:09:48.77 ID:pptBqmQL
列A │列B



という感じで返ってくるんです。


WHERE 何か IN 関数の戻り値


という感じで書くとコンパイルが通りません
856NAME IS NULL:2012/12/23(日) 03:50:04.45 ID:???
テーブル型を返す関数ならいけるんじゃないかな?
結果セットを返すストアドプロシージャを関数と呼んでるなら
いったんtempテーブルにぶち込んでそれから処理する。
857NAME IS NULL:2012/12/23(日) 13:12:18.09 ID:???
その関数にLIKE条件も渡すようにすればいいんじゃないかと思うが
とりあえずその関数のソースとやりたいSQL書け
858853, 855:2012/12/23(日) 21:28:15.10 ID:QOaB8aTA
曖昧な質問ですいません。

やや複雑な結合や集計処理をしたあと、最後にSELECT A列, B列 FROM ***といった二列のSELECT結果を返す自作関数があります。
職場で既に用意されている関数です。

│.A.│.B.│
├─┼─┤
│○│■│
│△│★│
│@│●│
│□│▲│

こんな感じでA列とB列のテーブルが返ってきます。
ここでは質問のために4行にしてますが、実際は0行〜100行超が返ってくる可能性があります。

私がやりたいのは、SELECTするとき、WHERE A列 IN ('○', '△', '@', '□')というクエリを書くことです。
しかし、ご存知の通り、WHERE A列 IN 関数は落ちます。INは1列にしか使えないからです。

SQL Serverだったら、

WITH テンポラリーテーブル AS
(
SELECT A列
FROM 関数の戻り結果
)

とA列だけを抜き出したCTEを作ればよさそうですが、サブクエリなど使ってもっと上手い方法がないかな?と思い質問いたしました。
859NAME IS NULL:2012/12/23(日) 23:29:58.46 ID:???
CTEで出来るなら、CTEの部分をそのままそのクエリに置き換えればできるだろ(再帰クエリじゃなければ)

やりたいことがよくわからん
関数からの戻りをさらにwhereで絞りたいのか、関数からの戻りで別なselect条件を絞りたいのか?

後者でinでA列を使いたいってなら、in(select A from 関数) で出来るんじゃないのか
860NAME IS NULL:2012/12/25(火) 18:25:33.60 ID:???
Database1の完全バックアップファイルがあって、これを使って同じサーバ内
に違う名前 Database2で復元したいんですが、これって出来ませんでしたっけ?
復元先データベースを "Database2" としても、結局 "Database1.mdf" に上書
きしようとして失敗します。

本番用のデータベースをコピって同じサーバ内にテスト用作った時ってどう
やったか忘れた。。。
861860:2012/12/25(火) 18:28:34.35 ID:???
>>860
SQL Server 2012です。もしかして2008から仕様が変わったんでしょうか?
862NAME IS NULL:2012/12/25(火) 21:32:50.53 ID:RKEF6qyh
>>859
ありがとうございます。

やりたいことは後者でした。
なんかためしてみるとエラーが出たり出なかったりするんですが、とりあえずそんな形でできるなら
いろいろと試してみます
863NAME IS NULL:2012/12/25(火) 23:52:04.50 ID:???
>>861
とりあえずリストアのSQLスクリプト晒せや
864NAME IS NULL:2012/12/26(水) 15:50:58.14 ID:???
>>863
分かる方だけ回答願います。
865NAME IS NULL:2012/12/29(土) 00:09:41.43 ID:???
>>860
オプションで、物理パス指定しろよw
866NAME IS NULL:2013/01/06(日) 16:15:26.37 ID:PFtSFSQD
犯罪者個人に対して告訴状を違法派遣・偽装請負・偽装出向・多重派遣の被害者が作成(刑事告訴は無料) or 司法書士が代筆(料金は5万円ぐらい)※コピペ歓迎

告訴状を【検察の直告班】に郵便局の内容証明付で送付(疎明資料・証拠にはICレコーダー、スマホによる録音が適しています)

審査 → 不受理 → 告訴状再提出または刑法 第193条で訴えを起こす

受理 → 告訴事実を認め示談交渉(↓) →示談成立 → 法廷相場50〜100万円の示談金 ※示談拒否が良い
↓                ↓
事案化← 前科あり ←示談不成立(↓)→ 示談外交渉→ 犯罪者の年収半額×最大懲役年数の和解金支払い※推奨
↓                ↓
↓               起訴 →公判 → 罰金刑=前科(起訴事実を認めてるため)→追討ち民事訴訟
↓                    
審査 → 起訴(強制捜査・留置場)→ 公判 → 懲役刑などの厳罰(反省が認められないため)→追討ち民事訴訟

不起訴、起訴猶予

検察審査会法第30条(検察審査会へ申し立て)→ 起訴 → 起訴後は同上
刑法 第193条(公務員職権濫用)で検察事務官を刑事告訴 → 同上

◎告訴→告訴受理→示談交渉→厳罰を求め示談不成立→示談外交渉→和解金支払い・和解契約(公正証書・即決和解で秘密保持契約)
◎偽装請負・出向・違法派遣事件では派遣・出向先両方の代表者、役員、現場責任者に告訴できます。
前科がついた犯罪者が法人の代表であれば公的な入札からの排除、取引先や顧客との契約解除など社会的制裁・批判に晒されることから辞職または解任が妥当、役員・社員であれば懲戒を想定。
◎事業者内部の加害関係者による刑事告発(刑事訴訟法239条1項)も可能です。
加害者本人、管理間接部門の社員が刑事告発に踏み切る場合も和解金による解決が妥当です。

注意:告訴が受理されない理由
●3年間(※)の時効が過ぎたもの ※違法派遣
●同一事実について過去に告訴取消しがあったもの
●関連する民事訴訟を有利に導く目的の場合
●証拠が希薄なもの ※被害者が契約時に違法派遣・偽装請負・多重派遣と知っていても刑事告訴は有効です。
867NAME IS NULL:2013/01/08(火) 00:06:29.88 ID:???
SQL Server2012のシーケンスについてお知恵を貸してください。

現在 Java5 + JDBC + SQL Server2012 で開発をしています。

シーケンスは以下のHPの CREATE SEQUENCE とほぼ同じで、キャッシュなしで作成しています。

http://msdn.microsoft.com/ja-jp/library/hh272694(v=vs.103).aspx

現在、問題となっているのは、JavaからJDBC経由でシーケンス番号を取得すると、増分が余計に加算されて取得されることです。
上記HPのシーケンスで現在値10 とした場合に、シーケンス番号を「SELECT NEXT VALUE FOR dbo.Seq1 AS SEQ」のSQLで
取得する値と、"11"が返却されるのではなく、"12"が返却されます。

SQL Server Management Studio や JDBCを使用してDBアクセスするツール「SQL Devloper」などから、上述のSQLを実行すると、
Javaのように余分に加算されず、+1された値が取得できます。

jdbcの接続URLは、「jdbc:sqlserver://localhost:1433;DatabaseName=test;ProgramName=test;SelectMethod=cursor;」と
書いているくらいで、特に設定を追加はしていません。

同様の事象などで経験した方など、対処方法をご存じであれば教えてください。
よろしくお願いいたします。
868NAME IS NULL:2013/01/08(火) 05:16:04.83 ID:???
JavaからどうやってSQL投げてるか解らんけど、
実際にサーバに発行されてるSQL調べてみるしかないんじゃない
勝手にプリペアされてたりするんじゃないかな
869867:2013/01/08(火) 08:32:36.09 ID:???
>>868
Javaからの呼び出しでSpringなどのフレームワークは使用していません。
ソースは以下のような感じです。

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String connUrl = "jdbc:sqlserver://localhost:1433 〜以下略";
Connection con = d.connect(connUrl, new Properties());
String SQL = "SELECT NEXT VALUE FOR dbo.Seq1 AS SEQ";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
870NAME IS NULL:2013/01/08(火) 11:49:05.18 ID:5ntVS72y
告訴の趣旨
 被告訴人は、以下に該当すると考えるので、被告訴人の厳重な処罰を求めるため告訴します。
 職務経歴書を提示した事前面接を実施 または 偽装請負 または 偽装出向
  労働者派遣法第26条(契約の内容等)、職業安定法第44条(労働者供給)に違反
 多重派遣・多重出向
  労働基準法第6条(中間搾取の禁止)に違反
疎明資料
 事前面接日時、場所、出席者、資料のコピー、音声記録
 就業場所・就業期間・就業時間
 指揮命令
  指示を誰が行っているかの記録、音声記録
 仕事で使う道具や、資材の負担(所有)のあり方
  業務で使用しているパソコン・備品などの所有者
 契約書
  請負、雇用契約書、出向指示など書面のコピー

刑事告訴ガイダンス 
★痴漢も民事でなく刑事事案ですが、裁判所が和解金を被害者に支払わせて解決するのが絶対的過半数です。和解で解決しない事案、つまり公訴までいって判例となる事例を探すほうが難しいことでしょう。
★録音は一方の当事者が取る限り合法です。※加害者に録音の同意を求める必要はありません。
★告訴状を検察に提出しても受理されなければ加害者側には知られることはありません。不受理の場合は何事も起きてないように粛々と振る舞ってください。
★告訴を取り下げるとき検察に提出した資料は全て返却されます。また検察があなたが提出した証拠をあなたの許可なく裁判の証拠として使用はできません。告訴を取り下げたのちの録音資料には当事者の立場が失われるため証拠能力はありません。
★和解時に告訴した事実は秘匿事項となります。犯罪者が秘密保持契約に違反した場合の損害賠償金は「即決和解」か「公正証書」で最低5000万円〜にしましょう。支払いを拒否すれば強制執行手続きを(裁判不要)してください。
★派遣会社や事業会社が同業者に貴方の情報をリークしたなら同業者(又は競合他社)に弱みを握られることになります。
余程信用のおける相手でなければ、リークはできないでしょう。信頼のおける方にしても、その方の口が軽ければ、いずれ事実は分かります。
★リークの情報を得た事業者のなかには、リークの事実を貴方に教えてくれる方がいるかもしれません。その際は損害賠償金で得たお金の3割程度を謝礼金として渡してください。
871NAME IS NULL:2013/01/08(火) 13:43:25.84 ID:TRuIfa9w
  ★★★チベットの独立は日本の核心的利益である★★★
  http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1226114724/78

  ¥¥¥¥¥¥¥『万有サロン』書き込み大賞・総額100万円¥¥¥¥¥¥¥¥¥¥¥¥

  この掲示板に優秀な書き込みをして、総額100万円の賞金をゲットしよう!(*^^)v
    万有サロン
      http://jbbs.livedoor.jp/study/3729/
    書き込み大賞の詳細
      http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1069922074/78-
    書き込み大賞の詳細(資料倉庫内)
      http://www2.tba.t-com.ne.jp/a-z/omake/banyu/taisho.htm

  また、あらゆる疑問に関する質問を、携帯電話やメールでも受け付けています。
    電話番号 080-4437-4187
    メール  [email protected]

  ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
872NAME IS NULL:2013/01/14(月) 15:20:30.96 ID:2FyNVYyH
パワハラ犯罪にたいする刑事罰(※本投稿のコピペ歓迎です)
人事原則
1 現行法では、社員が仕事を怠けたり、能力不足、就業規則違反、目標を達成できなくても解雇をしたり叱責することは違法です。どんな駄目社員、嘘つき社員、怠け者も定年まで解雇が違法なのが現行の正社員制度です。
2 パワハラは社風にあわない社員、成績の振るわない社員を自主退職に追い込む言わば人事的措置として用いられることが多い。
※違法な解雇の和解金相場は、労働審判で3ヶ月、通常裁判で1年以上の報酬、さらに社員が和解を拒めば復職が可能です。弁護士への着手金は12〜15万円+20%の和解金、和解拒否なら20〜50万円程度。

人事部・ホットライン・御用組合へ直訴
メリット: 一時的緩和や人事異動
デメリット: 役員へ情報筒抜け、危険分子の烙印(情報漏洩がホットライン直訴者に多いのは人事部の常識)、パワハラ放置で自主退職に追い込まれる

民事訴訟・調停(労働審判)
メリット: 損害賠償
デメリット: 裁判費用、解雇措置、民事不介入で刑事事案化を阻止、長期係争、パワハラ上司の継続雇用

刑事告訴
メリット: 1パワハラ上司の解雇・懲戒、または2多額の和解金、1と2どちらでも被害者の雇用は維持
デメリット: 人事異動(出世コースから外れる)
◎録音は一方の当事者が取る限り合法です。※加害者に録音の同意を求める必要はありません。
◎告訴受理後の和解金は加害者の資産・収入に応じて変えてください。犯罪者の昨年の年収の半額程度×最大懲役年数が妥当です。
◎パワハラの被害についての告訴は1侮辱罪2脅迫罪3強要罪4威力業務妨害罪5傷害罪の順序で行ってください。警察・検察の協力(犯罪者の自宅・職場の強制捜査、留置所勾留)により罪の立証が楽になります。
◎刑事告訴した社員を解雇したり処遇面で著しい差別を行うことはないでしょうが、出世や管理職以上の昇進の可能性はあきらめるべきでしょう。
◎刑事告訴は民事訴訟と違って裁判による被害者への2次被害にありません。検察庁が被害者に代わって訴えをおこすので、無料で、時間と手間も告訴状をかくことと音声録音を残すだけです。
◎和解契約(公正証書・即決和解)では告訴した事実は秘匿事項となります。犯罪者が秘密保持契約を違反した場合の損害賠償金は、最低5000万円〜にしましょう。
873NAME IS NULL:2013/01/31(木) 13:06:37.78 ID:???
2008R2 のManagement Studio にてテーブルの編集や上位n行の選択が
異常に遅いんですが、どのなたか解決策をご存じでしょうか?
再インストールやSP 1の適用は試していますし、
同じPCで 2012 や VisualStudio 2010から同じ接続先で同じ事をやっても
ストレス無く処理されます。
874NAME IS NULL:2013/01/31(木) 22:07:12.44 ID:???
一応、SP2もでてるでー。
2012のを入れてるなら、2008のをわざわざ使う必要もなくね?と思うが。
875NAME IS NULL:2013/02/01(金) 02:55:56.96 ID:???
俺がエスパーしてやる
フォントの変更とディスプレイドライバーの更新するんだ
876NAME IS NULL:2013/02/01(金) 15:11:11.32 ID:3Q5eJpud
最適化したらいいんじゃないの
877NAME IS NULL:2013/02/04(月) 06:37:06.14 ID:???
一からセットアップして、初めてクライアントからツツけた記念パピコ
878873:2013/02/04(月) 14:15:56.69 ID:???
>>874
 2008R2 SP1が指定されていますので、それでやりたいのです。
 解決できなかったら特例をお願いして2012にします。

>>875
 ちょっと心あたりがありますので試してみます。
 
879NAME IS NULL:2013/02/06(水) 10:18:43.59 ID:???
スレ違いなら申し訳ございません。
MS SQLの入門というか、基本を理解したいのですが、どのような方法が
あるかということについて、ご意見を頂戴したいです。

インフラ系のSEと理解していただけるのが一番近いのですが、ヘルプデスク的
なことから、ADやファイルサーバ、グループウェアなどの構築から運用まで一通り
やってきました。まだまだ、エンジニアとしては未熟といったところです。

業務で、SQLサーバに関する仕事を担当することになり、そもそもSQLって何か?
ということから、いろいろと調べています。(DBの中身をいじったり、開発というよりは
セットアップと普段の運用、バックアップとリカバリという業務がメインです。その後、
より中身を触るような業務に携わるかもしれません)

・MS SQLのライセンスは持っています。
・仮想環境を含め、サーバの準備もあります。クライアントも同様です。

このような状態で、SQLサーバをセットアップして、簡単なDBを構築、それを
バックアップしたり、別のサーバにリカバリしたりということを、まずはしてみたい
のですが、DBがバックアップできた、復元できたというのをどうするのがよいかと。

たとえばファイルサーバですと、OSをインストール後、共有設定やアクセス権の設定
をし、適当なデータを入れて、バックアップ。それを、いくつかの方法で復元してみて
バックアップ前のファイルがあるから、OKといった感じだと思うのですが、これと
同じようなことを、SQLサーバでやってみたいと考えています。

長文で申し訳ありませんが、ご意見を頂けると助かります。
880NAME IS NULL:2013/02/06(水) 16:33:09.10 ID:???
>>879
バックアップしてもどして、元のデータあるか確認するだけだろ
何が効きたいか解らんが、やれば、としか言えん

環境構築まじめにやるなら本買うなり講習うけるなりしてちゃんと勉強しろ
881NAME IS NULL:2013/02/06(水) 18:30:46.55 ID:???
>>879

SQL Server 自習書 で検索してはどうですか?

大体の内容があると思いますよ
882NAME IS NULL:2013/02/08(金) 12:45:22.14 ID:/B/GIlXb
>>879
実際やってみたらいいんじゃないの
そんなに奥が深いものじゃない
883NAME IS NULL:2013/02/08(金) 13:53:18.73 ID:???
DB舐めすぎ
884NAME IS NULL:2013/02/08(金) 14:03:40.33 ID:???
>>881
ありがとうございます。いただいた情報でしらべてみます。

>>882
ありがとうございます。
やってみることはできると思うんですが、DBが機能しているというのが
今一つイメージがわかないので、簡単な実例のようなものがあればと
思い書き込みました。

ちょっと違うと思うのですが、たとえばWSUSもSQLが動いていますが、
無料版のSQLのため、特に意識せず構築・設定して、使っています。
これを、DBの側面から見て、SQLがちゃんと動いていて、それをバック
アップしたり、リストアしたり、あるいはDBの基本的な操作を・・・という
のを学びつつ、ちゃんと稼働しているからWSUSとして機能しているのが
確認できるといったイメージです。

言葉の選び方が悪く、うまく伝わらないかもしれません。

インストールして、仮のデータを入れて、コマンドから確認というレベルでも
よいかと思うのですが、そもそもDBについて無知のため、ある程度形に
なった方が理解しやすいかなと思った次第です。
885879:2013/02/08(金) 14:10:04.63 ID:???
とりあえず、もう少しネットの情報と書籍を読んでみることにします。

ありがとうございました。
886NAME IS NULL:2013/02/08(金) 14:58:10.76 ID:???
DBなんてバックエンドの機能なんだから見えなくて当たり前
動いてるの知りたければ簡単でもいいからフロントエンド作ってためせ

っていうかちゃんとした講習うけろ。それが一番だ
887NAME IS NULL:2013/02/09(土) 20:31:45.36 ID:???
>>883
> DBの中身をいじったり、開発というよりはセットアップと普段の運用、
> バックアップとリカバリという業務がメインです
888NAME IS NULL:2013/02/12(火) 09:43:42.29 ID:???
SQL2008で作ったmdf類を試験的に2012へ移動させました
(デタッチ→ファイルコピー→アタッチ)

特に問題なく出来たのですが、戻そうと思い、2012でデタッチして逆の手順をしたら
SQL2008にアタッチする時点で

>データベース 'XXXX' のバージョンは 706 なので、開けません。
>このサーバーではバージョン 663 以前がサポートされます。
>このダウングレード パスはサポートされません。
>新しいデータベース 'XXXX' を開けませんでした。CREATE DATABASE は中止されます。 (Microsoft SQL Server、エラー: 948)

データベースの互換性レベルは SQL Server 2008 (100) なままなのですが、
これはいったん 2012 でアタッチしちゃったら 2008へは戻せないということなのでしょうか?
(データベースのバックアップ→復元でやらないといけない??)
889NAME IS NULL:2013/02/12(火) 15:08:02.02 ID:???
もう戻せない太陽の牙ダグラム
890NAME IS NULL:2013/02/12(火) 15:18:50.35 ID:???
バックアップも下位互換性は無いんじゃなかったけ?
891NAME IS NULL:2013/02/12(火) 22:04:21.59 ID:???
ビルドの違いだけでうんたらかんたら
892NAME IS NULL:2013/02/13(水) 01:47:35.71 ID:???
SQL文で出力すれ
893NAME IS NULL:2013/02/13(水) 05:27:03.57 ID:???
>>888
こういう時こそMSのサポートに投げてみるべきだな。
高い金を払っているメリットを存分に生かしてくれ。
894888:2013/02/13(水) 09:55:51.68 ID:???
バックアップ→復元でもダメでした。
とりあえず戻すときはデータベースコピーウィザードで切り抜けます。

>>892
CREATE DATABASE のオプションか何かで
強制アタッチする手段があるのかと思い調べましたが見つからず・・・

>>893
この程度のことでインシデント使うの勿体ないので仕様と諦めます。。
895NAME IS NULL:2013/02/22(金) 21:12:05.82 ID:GwvJx06p
すみません、質問よろしいでしょうか?

私、DBは完全に素人なんですが、会社のツールとしてSQLServer2008R2にて簡単なDBをつくっております。
本日、バカなことにあるテーブルのレコードを全削除してしまい、何とか復元できないものかと思っております。

RDBMSは SQLServer2008R2 EXPRESS
ツールは 2008R2ManagementStudio EXPRESS です。

データベースの完全バックアップした.bakファイルは有ります。
データベースを構築する.sqlファイルもあります。

別にサーバーを立てられるような端末もなく(XP32bitのみ)途方に暮れております。

.bakファイルから、あるテーブルのみ復元する方法を、どなたかご存じないでしょうか?
よろしくお願い致します。
896NAME IS NULL:2013/02/22(金) 23:27:23.53 ID:???
いったん別DBに復元してそこからそのテーブルだけ抜き出せば?
897NAME IS NULL:2013/02/23(土) 10:44:43.25 ID:dBI8Q44e
>>896
そうなんですよね。
.sqlファイルから別名」DBを作って、そこに.bakファイルで復元しようとすると
「これは別DB用だから駄目!」とメッセージが出ます。。

なにか間違っているのでしょうか?
898NAME IS NULL:2013/02/23(土) 15:16:04.98 ID:???
SQLサーバーのエスプレッソ版を基幹業務のバックエンドで使用している
例ってありますか?

現在進めてる仕事でお客さんにSQLサーバーはそちらで用意して下さいっ
てゆったらそんな想定はしていないとかごねられてこっちでSQLサーバー
を用意する事になったんですが大したサイズが必要なわけでもないので数G
程度のデータベースで十分なので無償版で問題ないと思ってるんですがお客
さんがそんな無償で提供されてるようなソフトで本当に問題が起きないのか
と懐疑的になっています。
899NAME IS NULL:2013/02/23(土) 15:26:11.12 ID:???
Java版もありますか?
900NAME IS NULL:2013/02/23(土) 16:05:55.07 ID:???
えすぷれっそ・・・
901NAME IS NULL:2013/02/23(土) 16:55:14.00 ID:???
えくすぷれす・・・
902NAME IS NULL:2013/02/23(土) 17:54:14.37 ID:???
>>897
DB作ってから復元するんじゃなくて、別DBとして復元するんだぞ
903NAME IS NULL:2013/02/23(土) 18:49:31.32 ID:???
>>898
自分らは金を出さないのに
有償版を入れろという脅迫めいたことを
抜かす客なんぞ、この先もいろいろ難癖付けて
お前らをただ働きさせる気満々だろ
誠実な取引が期待できないのだから
今のうちに契約破棄しちまえよ
904NAME IS NULL:2013/02/23(土) 19:19:56.68 ID:???
>>897
sqlでガワなんかつくらなくても、直接DB名を変えて復元(複製)できるぞ。
905NAME IS NULL:2013/02/23(土) 20:26:47.60 ID:???
>>903
>自分らは金を出さないのに
>有償版を入れろという脅迫めいたことを
>抜かす客なんぞ、この先もいろいろ難癖付けて

状況よくわからんけど、契約してからベンダーに
「SQLサーバーはそちらで用意して下さい」とか
言われたら、俺でもごねると思う。

ていうか<、見積もり条件書に書くだろ、普通。
906905:2013/02/23(土) 20:28:04.41 ID:???
契約前なら、>>903 の言うようにちょっと考えた方がいいかも。
907NAME IS NULL:2013/02/24(日) 00:47:50.70 ID:???
無償版が不安なだけなら業務用パッケージソフトでも
EXPRESS使ってること示せばいい
908NAME IS NULL:2013/02/24(日) 09:50:25.83 ID:FdOMVLXe
>>902
>>904
あああああああああああああああああああああああああ!!!


教えてください!!なんでもします!
909908:2013/02/24(日) 09:57:31.39 ID:FdOMVLXe
910908:2013/02/25(月) 18:18:51.04 ID:???
皆様ありがとうございました。

教えていただいた方法で、本日無事に復旧することができました。

このご恩は忘れません。
911NAME IS NULL:2013/02/28(木) 16:47:03.78 ID:???
insert into 〜
select 〜
from 〜

って風で、テーブル→テーブルにデータコピーするとき
普通はトランザクションがかかると思いますが
これをトランザクションなし(無視)で実行することはできないのでしょうか。

途中で失敗したとき、半端な状態になっても構いません。

1億レコードくらいコピーしたいんですが
ログファイル(Temp?)が凄いことになりそうで。
912NAME IS NULL:2013/02/28(木) 16:49:21.11 ID:???
補足

from 〜 with (nolock) で、元テーブルのレコードロックは防止します。
コピー先のトランザクション処理を行わないようにしたいのです。
913NAME IS NULL:2013/02/28(木) 17:17:43.73 ID:???
ロックが問題ならREAD UNCOMMITTED分離レベル
ログの量が問題なら一括ログ復旧モデル
914NAME IS NULL:2013/02/28(木) 18:53:19.10 ID:???
ありがとうございます。

復旧モデル=単純にしてあっても
1億レコードのINSERTが走るとき、コミットされるまではログファイルが膨れていくじゃないですか
コミットしたら即座に未使用領域に変わりますけど。

一時的にせよ、ログファイルをドカーンと増やしたくないのです。
915NAME IS NULL:2013/02/28(木) 19:57:13.78 ID:???
最小ログ操作の発生条件がめちゃくちゃ厳しいのでなかなか難しいね。
一括ログ復旧モードで
レプリケートされていない。
TABLCOKされている。
基本的にデータが空でなくてはならない。(ケースにより諸条件あり)
916911,912,914:2013/02/28(木) 20:50:16.60 ID:???
試しにやってみたら、ログファイルが急速む成長中
一晩くらいかかるのかなぁ
917NAME IS NULL:2013/03/01(金) 18:17:31.02 ID:???
でかいデータはBCPとかでインポートする手段を用意しておかないと
918NAME IS NULL:2013/03/02(土) 18:43:49.15 ID:???
インデックスのREORGANIZEやREBUILDなんかでもログが大爆発するね。
919NAME IS NULL:2013/03/07(木) 00:54:50.12 ID:7eVduAiz
920NAME IS NULL:2013/03/16(土) 18:19:52.28 ID:???
もともとユニシスとかが銀行パッケージつくってたべ
921NAME IS NULL:2013/03/24(日) 12:02:21.55 ID:EFgh/klN
※本投稿の拡散歓迎です。
派遣労働者のパワハラ・セクハラ対応策について

下請け労働者、業務委託、派遣労働者は契約期間が短期という制約があり、契約更新拒否をちらつかせた不当な労働強要の実態があります。
雇用形態における壁・差別は法律に直接的規程はなくとも認められているわけではありません。
「正社員の有期雇用労働者に対する優先的地位乱用」による「侮辱罪」、「脅迫罪」、「強要罪」、「傷害罪」、条例違反で刑事告訴できるが、
本稿では刑法ではなく労基法関連の対策に焦点をあてます。

労働基準法第5条(強制労働の禁止)(1年以上10年以下の懲役又は20万円以上300万円以下の罰金)
■精神の自由を不当に拘束する手段によつて、労働者の意思に反して労働を強制してはならない。
例:正規労働者(同僚)による残業の強制。仕事の期限が遅滞した際に「繰り返し」残業を示唆する。
例:派遣の仕事の回し方の裁量を正社員が決めるなどと示唆する。
例:飲み会、昼食、たばこの同伴を強要する。

労働基準法3条 (六箇月以下の懲役又は三十万円以下の罰金)
■社会的身分を理由として労働条件について差別的取扱をしてはならない。
例:社内制度に明示されていない指揮命令系統が正社員と派遣社員に存在する。
派遣社員も正社員と同様に社内制度に準じるという契約上、業務で平等に取り扱う必要がある。
例:社内制度上の上司でもない正社員が命令をしたり、仕事上の指導権・裁量・許可権限をもつこと
派遣契約の内容にそうした区別を制度化するような客観的な証拠がなければ派遣社員側に有利といえる。
例:派遣社員に業務上における裁量を一切与えず、非管理職の正社員が許可を与える

労基法3、5条については、経営責任も問えますので、刑事告訴できる相手は以下のとおり。

派遣先 当該正社員
派遣先 指揮命令者
派遣元・派遣先 代表取締役

刑事告訴(告発)の行い方ですが、内容証明郵便で告訴状(告発状)を地方検察の直告班に郵送してください。
922NAME IS NULL:2013/03/26(火) 09:58:28.38 ID:JTcw6Geq
お知らせ

市原警察署の生活安全課の帰化人創価警官の指導の元、
入学式から2週間ほど、在日の創価学会員を主体とした自称防犯パトロールが、
2週間ほど行われることになりました

生活安全課の指導であることと、パトロールであることは、
絶対に公言してはいけないとの指導も、帰化人創価警官より出ています

期間中は2人組の在日の創価学会員が、頻繁に創価批判者の自宅周辺を、
うろつき回ると思われます
日本人の方は、充分に注意してください
923NAME IS NULL:2013/03/26(火) 20:44:57.00 ID:???
犯罪者も大変だな
924NAME IS NULL:2013/04/03(水) 16:24:33.11 ID:PB7qXEq2
>>918
確かに
まえにこの板で教えてもらった激安中古CADソフトショップかなり使えるね
中古ソフトがかなりお手頃で助かる
925NAME IS NULL:2013/04/09(火) 08:17:09.06 ID:???
926NAME IS NULL:2013/04/10(水) 10:30:43.78 ID:tw59sqc9
非常に初歩的な質問ですいません。

sql server 2008 expressがインストールされている環境に
sql server 2008 r2 expressをインストールした場合
元々インストールされていたsql server 2008 expressのデータは
r2用に自動的に上書き(アップデート?)される認識で正しいですか?

知識の足りてない素人ですいませんがどなたか教えて下さい。
927NAME IS NULL:2013/04/10(水) 16:24:10.80 ID:???
>>926
データが何を指すのかわからないけれどインストール方法によるでしょ
アップグレードすればr2になるしインスタンスを分ければ2008のまま残る
928NAME IS NULL:2013/04/29(月) 13:50:31.66 ID:???
日本人の払った貴重な血税から
ゴキブリ在日朝鮮人に生活保護が支払われている

ゴキブリ在日朝鮮人の一家族で年間600万円である

ゴキブリ在日朝鮮人の2人に1人は生活保護だ

これより安い給料で働いている日本人が
少ない給料から支払った税金が
ゴキブリ在日朝鮮人の生活保護になっている

ゴキブリ在日朝鮮人は生活保護をもらって
毎日パチンコをして遊んで暮らしてる

ゴキブリ在日朝鮮人の犯罪者も非常に多い
ヤクザの2人に1人はゴキブリ在日朝鮮人だ

日本社会の寄生虫 ゴキブリ在日朝鮮人
日本から出て行け! ゴキブリ在日朝鮮人
929NAME IS NULL:2013/05/12(日) 23:34:55.45 ID:???
SQL ServerってORACLEみたいにPACKAGEが無いけど、
どうやってストアド書くの?

別のストアドにするとexecするのがめんどいし、
関数を分けづらいのでコピペの荒らしになると思うんだけど
930NAME IS NULL:2013/05/15(水) 14:51:42.48 ID:NCOySss5
SQLServerのコンテキスト接続を行った場合Select文のみでUpdate文は使えないのでしょうか?

コンテキスト接続=> context connection=true
931NAME IS NULL:2013/05/21(火) 11:27:23.81 ID:6VYvZneK
只今勉強中の初心者なのです。
サンプルDBをインストールしたく、
いろいろサイトを調べたのですが、分かりません。
ご教示お願いします。

OS:XP pro SP3
DB:Microsoft SQL Server2008 R2 RTM - Express with Advanced Services

SQL2008.All_Product_Samples_Without_DBs.x86は
インストールしましたが、
AdventureWorksLT2008R2_Databaseの
インストール方法が分かりません。
インストーラーも無く、
mdf、LDFファイルがあるだけです。

どうすればよいのでしょうか?
932NAME IS NULL:2013/05/21(火) 13:19:58.79 ID:???
MDFあるならアタッチするだけだろ
つかそれどっから入手したんだよ?そこに書いてなかったのか
http://msftdbprodsamples.codeplex.com/releases/view/105902
933NAME IS NULL:2013/05/22(水) 08:45:26.06 ID:nWU1zoDt
>>932
遅くなりましたが、出来ました。
ありがとうございました。
インストーラーは無いのですね…
934NAME IS NULL:2013/05/24(金) 07:29:21.56 ID:???
SQL SERVER 2008 R2の無償版なんですが、メモリが1Gに制限されています。
これって、インスタンス毎に1Gってことでしょうか。
それとも、SQL SERVERで、1Gってことでしょうか。
935NAME IS NULL:2013/05/25(土) 23:50:32.77 ID:???
その通り
936NAME IS NULL:2013/05/26(日) 00:06:36.23 ID:???
>>935
ありがとうございます

データベースを分けて、インスタンスに振り分ける運用を考えます
937NAME IS NULL:2013/05/26(日) 10:35:17.32 ID:???
いや、SQLServer全体で1Gってこと。
938NAME IS NULL:2013/05/26(日) 11:14:54.44 ID:???
マシンを分けるんだろ
939NAME IS NULL:2013/05/26(日) 12:12:20.86 ID:???
インスタンスごとだろ。
940NAME IS NULL:2013/05/26(日) 12:43:01.93 ID:???
express ってマルチインスタンス可能だったっけ
可能ならインスタンスごとだよ
941NAME IS NULL:2013/05/26(日) 14:37:45.35 ID:???
エクスプレス版はマルチインタンス不可だろ
942NAME IS NULL:2013/05/26(日) 14:41:14.54 ID:???
そんなわきゃねーだろ。
http://msdn.microsoft.com/en-us/library/ms143531(v=sql.105).aspx
943NAME IS NULL:2013/05/26(日) 16:07:33.20 ID:???
2008R2のEXPRESSだがインストールは出来た
944NAME IS NULL:2013/05/26(日) 22:09:47.85 ID:???
えっ!

SQL SERVER 全体で、1Gなんですか。
それとも、最初に言っていたとおり、インスタンスごとに1Gなんですか。

大きな違いです・・・
945NAME IS NULL:2013/05/26(日) 22:42:49.77 ID:???
試せばいいだろハゲ
946NAME IS NULL:2013/05/26(日) 22:51:53.08 ID:???
禿げてないもん
947NAME IS NULL:2013/05/27(月) 08:00:00.61 ID:???
禿げてるオレに謝れ
948NAME IS NULL:2013/05/27(月) 17:26:20.88 ID:???
「ああ!きのどくに!!」
949NAME IS NULL:2013/06/07(金) 16:19:30.25 ID:???
7.0から新規システム組み替えで2012にしようと思いますが、数え方がわかりません。
一体価格はいくらになるのか?

7.0の見積もりが出てきましたが鯖1 端末2で、29万2200円。
新規予定も同台数で鯖のコアは2 端末のコアは1と2、合計5コアです。
950NAME IS NULL:2013/06/07(金) 17:46:17.20 ID:???
DBサイズ10GB以下で、しょぼいことやってるだけなら
無料版でいいだろ
951NAME IS NULL:2013/06/07(金) 19:16:43.01 ID:???
30GBくらいです
952NAME IS NULL:2013/06/07(金) 20:50:28.14 ID:???
サーバーCALのパッケージがヨドバシ.com で40万くらいで売ってる
953NAME IS NULL:2013/06/07(金) 20:58:32.20 ID:???
40万ですか。10年の間に高くなってしまったorz
954NAME IS NULL:2013/06/19(水) 10:17:30.42 ID:???
1433/tcp を直接インターネット側にポート開放して使おうかと検討してますが
SQL Server にセキュリティホールがない前提にたてば
パスの総当たり食らわない限り、特に問題ないですか?
955NAME IS NULL:2013/06/19(水) 12:42:02.49 ID:???
ポート番号くらい変えといたら?
956NAME IS NULL:2013/06/22(土) 10:23:19.15 ID:???
D(D)oSで終了
957NAME IS NULL:2013/06/22(土) 11:49:25.26 ID:???
そのSQLSERVERにつなぎに来る相手が固定IPなら
ルーターでフィルターしとけばいいね
958NAME IS NULL:2013/06/22(土) 15:07:20.81 ID:dUXTmCsd
ストアドプロシジャをさっき作って、マネージメントスタジオでようやく動作させたら、
処理が20分以上たっても終わらない。

nullを許容した3列でテーブルを直積で結合する処理で重たくなっているんだろうか。
(直積結果のうち不要なものを排除するそのwhere句では、is nullで回避している)
inner join を使った方が結合は早くなるかな
テーブルはそれぞれ20万行を超えている。

sql処理って丸一日かけて行うことも普通にあるんでしょうか
もうちょっと待ってみます。
959NAME IS NULL:2013/06/22(土) 15:11:54.97 ID:???
実行計画見ろ。
960NAME IS NULL:2013/06/22(土) 15:15:10.78 ID:???
Oracleの実行計画はどこが駄目なのか直感的に分かるんだけど、MSSQLの実行計画は
パッと見でどこがネックなのかいまいち分かり辛い。
あと、indexの1000byte制限ヤメテ。
961NAME IS NULL:2013/06/22(土) 15:27:24.95 ID:???
>>959
実行計画ってどうやってみられるんですか。
sqlサーバがどうやって、そのでかいストアドプロシジャを分解して、崩していくかわかるということなんでしょうか。
どのブロックで処理が重たいかも把握できるのなら素晴らしい。
そこがわかれば、あきらめもつくし、改善できるかもしれないです。

>>960
インデックスの1000バイト制限って、
なにか知らないですけど、処理中に使う一時インデックスサイズのことでしょうか。
1000バイトって小さいですよね。

有償版にして、メモリとcpuを積めば、早くなるならそうしたいです。
でも、設計が間違っているなら直したい。

今、cpuは一つのコアのみ100%になっている状態です。
エクスプレスでも4コアまで対応なのに、あと一つある1コアをつかってくれないんだろう。
マネージメントスタジオが予約しているからなのだろうか。
962NAME IS NULL:2013/06/22(土) 16:02:21.47 ID:???
実行計画を表示できました。

hash machという処理がいくつかあって、
それが10から30%のコストを占めていました。
他はほとんど0%でした。

でも、これがわかってどうなるんだろう。
hash machはテーブルの結合で避けられないし。
963NAME IS NULL:2013/06/22(土) 16:06:05.80 ID:???
実行計画の見かたとか、実行計画から具体的にどうやってパフォーマンスを
改善するかとかは企業秘密なんで教えられません。
ごめんね。
964NAME IS NULL:2013/06/22(土) 16:06:18.15 ID:???
>>958
直積でもinnner joinでも、よっぽど複雑なSQL書かない限り違いはない
おそらく同じ実行計画で実行される

まずプロシジャのソース見てどこが遅いSQL文なのか探せ
それが見当もつかないようじゃ実行計画見ても理解出来んのじゃないかな

>>960
単なる慣れの問題じゃね
つかSQLServerの実行計画のグラフィカル表示はよく出来てる
あと1行で900バイト超えるようなインデックスは設計考え直した方が良い
カバードインデックスならINCLUDE使え。いちいち指定するのめんどいけど
965NAME IS NULL:2013/06/22(土) 16:18:52.66 ID:???
結局 84分もかかって結果がでました。
22万行を入力して、11000行ほどの結果がかえりました。

>プロシジャのソース見てどこが遅いSQL文なのか探せ
コスト表示されるパーセンテージを見ても、相対的な処理の重たさしかわかりませんよね。
nullを許容した複数列でテーブルを結合する処理だと思うんですが。
その相対コストも高いし。
設計段階では考慮していなかったデータ分析が必要になって、
無理矢理に文字列型のnullを含められる列をつかって大きいテーブルを結合させることになったんです。


>1行で900バイト超えるようなインデックス
ってなんですか。
1行が持っているインデックスが作られる列で、
その値の大きさが900バイトを超えるってことでしょうか。
大きい値を持つ列はいけないという理解でいいですか。
966NAME IS NULL:2013/06/22(土) 16:22:24.50 ID:???
>>962
テーブルの結合は避けられなくても、テーブルを結合する方法はいくつかある
なぜその方法なのか、それより早い方法が無かったか検討するのに実行計画見るんだが

そのレベルじゃ実行計画を見ても無理だろ
遅いSQL上げたら誰かが見てくれるかもな
967NAME IS NULL:2013/06/22(土) 16:36:35.27 ID:???
>>865
気になってるんだが、nullを他の値と比較しても真にはならんぞ
オプションにもよるが、null=nullも真にはならんぞ
つまり、結合項目がnullの行は結合されないってことだぞ

あとインデックスのサイズに制限があるから、大きいインデックスは作れない
インデックス作ったときにエラーも警告も出てないなら気にするな

まさかインデックスないってオチじゃないだろうな
968NAME IS NULL:2013/06/22(土) 16:40:13.08 ID:???
簡単に言うと「キー参照」「RID Lookup」を消して
適切なインデックスの上を走らせればいいんだけど

実行するのはかんたんではないw
969NAME IS NULL:2013/06/22(土) 16:58:16.86 ID:???
>>967
>null=nullも真にはならんぞ

is nullを使うようにしています。

>まさかインデックスないってオチじゃないだろうな

最初から結合に使おうと思っていた列は、設計時に「ユニーク」指定していました。
つまり、列に PRIMARY KEY 制約 で作成したもののみでした。
そして今、見たら、今回のプロシジャで使っている結合時につかう文字列型列にはインデックスはついていなかったようです。

今、あわててインデックスの作成を試そうとしているのですが、
・インデックス名
・インデックスの種類
・一意
・キー列
があって、どう指定すれば最適なのかがよくわかりません。

キー列に、必要だと思われるすべての列を追加して、
適当にインデックス名を名づけて、非クラスター化で作成すればいいんでしょうか。
970NAME IS NULL:2013/06/22(土) 17:02:41.52 ID:???
各テーブルの where, join に指定されている列を
分散度が高い順に並べる

一意制約は不要
非クラスタで

プラン表示したときにインデックス表示されなかった?
面倒ならそれでもいいよ
971NAME IS NULL:2013/06/22(土) 17:06:03.46 ID:???
>>970
>分散度が高い順に並べる
 ちょっとわかりません

>一意制約は不要
>非クラスタで

はい、とりあえずインデックスを作って、
再度、あの重たい処理を動かしてみます。

インデックスってすぐに作られるんでしょうか。
作成「ok」ボタンを押して、すぐにストアドプロシジャを動かしても大丈夫かな。
972NAME IS NULL:2013/06/22(土) 17:09:18.97 ID:???
20万件もデータがあるなら、「すぐ」ではないわな。
973NAME IS NULL:2013/06/22(土) 17:09:28.89 ID:???
>分散度が高い順に並べる
あちこちで、よく使われるってことですね

今、ストアドプロシジャを実行しています。
さっきは、80分かかったので、今度はどれくらいになるか楽しみだ。
974NAME IS NULL:2013/06/22(土) 17:13:20.81 ID:???
> あちこちで、よく使われるってことですね

カーディナリティが高い、ってことだろ。
975NAME IS NULL:2013/06/22(土) 17:19:00.86 ID:???
>>971
クラスタ化インデックスの方が早い可能性もあるぞ
もしそのテーブルにほかにクラスタ化インデックスがなかったら試してみてもいいかも

>>972
カーディナルと項目長にもよるけど、今時のマシンで20万件なら
非クラスタ化ならわりとすぐできるんじゃね
976NAME IS NULL:2013/06/22(土) 17:36:20.69 ID:???
>>972
20万件のテーブルをT1 T2と二つ目の前に「並」べて、
T1のselectで「スカラ相関クエリ」を挿入し、
その中でT2を漁って、条件に合致するもののsum集計をとります。
なので、20万回相関クエリを参照することになるのだと思います。

そうして処理を経たこの20万行導出テーブル1と、
また別の導出テーブル2(※)4万行を直積させてwhere条件で抜粋し、集約関数を掛けます。

直積で、20万行*4万行=80万行
where句で除外して、最終的に、4万行(導出テーブル2)と同じ行数が返るはずです。
でもさっきやったら、1万行しか返ってこなかったので、調べてみるとnullを含む列がすべて除外されていました。
where句のこの除外では、is nullも合わせて使っているんですが、ちょっと失敗しているみたいです。


別の導出テーブル(※)は、
さっきの20万行テーブルと、別の同じくらいのテーブルとをinner joinし、
ある条件でグループ化したものを集約しています。
3万5千行ほどに集約されます。
この処理は、インデックスを作るとめちゃくちゃ早くなりました。
風呂に入れるくらいの時間がかかっていたのが、お茶を一気飲みするくらいの時間に短縮されました!!


ありがとうございます!!
977NAME IS NULL:2013/06/22(土) 17:41:45.46 ID:???
>直積で、20万行*4万行=80万行

すみません間違えました。

200000 * 40000 = 8,000,000,000

80億行でした。
978NAME IS NULL:2013/06/22(土) 17:46:57.58 ID:???
>>974
はい、わかりました。

カーディナリティーって、全行数のそれぞれの値がバラバラであることを表していたんですね。
それじゃあ、インデックスは必要ですね。
979NAME IS NULL:2013/06/22(土) 17:50:04.48 ID:???
>>973
今処理が終わりました。
36分になりました。
最初は80分かかっていたので、半分ほどに短縮されました!!!

80億行の直積を処理しているのだから、仕方ないですね。

ストアドプロシジャを見直すしかないか。
たぶん、今は、もうこれ以上考えられない・・・
980NAME IS NULL:2013/06/22(土) 17:54:12.26 ID:???
SQLやテーブル構成見てみないとわからんが
最終結果が4万行ならもっと早くできる気がしないでもないが
981NAME IS NULL:2013/06/22(土) 17:58:53.90 ID:???
>>980
処理に必要な時間って、だいたい最終結果量に依存するのですか。
プロセスではなく。

たしかに、一番外側のselectのwhere句で一行のみを出力するように指定するだけで、
内部の80億直積にもかかわらずに、一瞬でできました。
オプティマイザに最適なプロシジャにすれば、短縮の余地があるってことですね。
982NAME IS NULL:2013/06/22(土) 18:01:52.54 ID:???
> sql処理って丸一日かけて行うことも普通にあるんでしょうか

についてコメントしておくと、バッチ処理やらで一日かかるようなのは普通にあるよ。
983NAME IS NULL:2013/06/22(土) 18:04:23.06 ID:dUXTmCsd
>>982
そうなんですか。
「ストアドプロシジャや設計を見直せ」という言葉がいつも聞こえるので、
いけないのではないかと思っていました。
(もちろん、そういう場合もあるけど)

でも、分量が本当に多ければ、時間はかかってしまいますよね。
コメントありがとうございます。
984NAME IS NULL:2013/06/22(土) 18:09:46.80 ID:???
関係ないけど。
4時間かかってたバッチを頑張って5分で終わるように改善したら客にスゲー
怒られた事があるわw
元のバッチのリリースから3年位経ってたんだけど、出来るなら何でもっと早く
改善しなかったのかと(ry
985NAME IS NULL:2013/06/22(土) 18:13:55.65 ID:???
>>984
それ、すごいですね!!

そんなにうまい具合に流れてくれるようになるんですね。
頭がすっきりしたとき、散歩しているときに、アイデアが湧けば、
頑張ってみたいと思いました。

4時間→5分なので、これはいろいろ相手先は時間節約できたはずですよね。
まさか怒られるとは。
986NAME IS NULL:2013/06/22(土) 18:19:20.94 ID:???
その導出テーブルとやらが実行中に変化しないなら
事前に一時テーブルに突っ込むとかインデックス付きビューにするとかすれば
987NAME IS NULL:2013/06/22(土) 18:31:21.69 ID:???
>>986
レスありがとうございます。

導出テーブルは実行中には変化しません。
ただ、各導出テーブルの導出すること自体は、インデックスを作成したことによって、
劇的に改善されました。(別のストアドプロシジャに導出クエリだけを切り分けて実行してみました。)

問題は、どうも、導出テーブル同士の結合にあるように思いました。
直積結果が、80億にもなってしまうからです。

それとも、一時テーブルにすると、それでも高速に結合ができるようになればいいんですが。
988NAME IS NULL:2013/06/22(土) 18:34:08.09 ID:PkS5dfVe
テーブル結合段階で、列の値を参照しますが、
これって、導出ではなく一時テーブル同士を結合させることで、
インデックスが効くようになって高速化しますか?
989NAME IS NULL:2013/06/22(土) 18:49:08.15 ID:???
そもそもホントに直積取る必要があるのか非常に疑わしい
990NAME IS NULL:2013/06/22(土) 18:50:35.05 ID:dUXTmCsd
>>989
そうですよね
この辺りを見直して、改善の可能性を探りたいと思います。
991NAME IS NULL:2013/06/22(土) 21:33:54.73 ID:???
>>985
>4時間→5分なので、これはいろいろ相手先は時間節約できたはずですよね。
>まさか怒られるとは。

当たり前だ、「今まで時間余計に掛けやがって、損害請求したいぐらいだ」と思うのが普通。
992NAME IS NULL:2013/06/22(土) 21:49:56.83 ID:???
すみません。

相関クエリを、通常のテーブルを相関させて書くことはできますが、
相関クエリを、導出テーブルをつかって書くことはできるでしょうか。

外側のテーブルとして導出テーブルを使います。
それを内側の相関クエリ内で使いたいんです。

しかし、as table1 T1 などとして導出テーブルに相関名をつけられません。


select
x
,y
,z
,(select SUM(S) from table2 T2 where T2.k = T1.k) as r

from
)
select x,y,z,k
from abc
) as table1 T1 ←導出テーブルでこのT1という相関名をつけられません
993NAME IS NULL:2013/06/22(土) 22:15:28.91 ID:???
余白が少なってきたので、こちらへ移動します!
よろしくお願いします。

SQL質疑応答スレ 14問目

http://toro.2ch.net/test/read.cgi/db/1371476534/
994NAME IS NULL
次スレ

Microsoft SQL Server 総合スレ 10
http://toro.2ch.net/test/read.cgi/db/1371907307/