jamshid6 の回答履歴

全1251件中21~40件表示
  • SQLServer2005での復元の自動化について悩んでいます。

    SQLServer2005での復元の自動化について悩んでいます。 下記の構成でシステムを運用しています。 サーバー1(本番) OS:WindowsSvr2003R2 DB:SQLServer2005 サーバー2(障害用サブ) OS:WindowsSvr2003R2 DB:SQLServer2005 通常は本番用を使用してシステムの運用を行っているのですが、 H/Wの障害などが発生した際には、サーバー2で運用します。 ですので、システムが休止している際にサーバー1のDBをサーバー2 に移行する必要があります。 バッチやSPで自動的に行いたいのですが、何か良い方法はないでしょうか。 アドバイスをお願いします。

  • SQLServerのselect文でデータ数1万くらいのDBから

    SQLServerのselect文でデータ数1万くらいのDBから top n と order by つきで取得したときに、 10秒以上かかってしまいます。 top n だけや order byだけであれば、そんなにかかりませんが、 同時に扱う場合、なぜこんなに時間がかかってしまうのでしょうか?

  • カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。

    カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。 処理はオーソドックスなスタイルでコーディングしているとします。 「ループ処理内で、FETCH NEXTした際に、最終行か判断したい」という質問です。 EOFで最終行だと判断するのは一般的ですが、ループ内で通常行と最終行の切り分けをしたいのです。特に何かの制約や事情があるわけではありませんので、実現できればそれでOKです。 要するに、最終行レコードが、通常行レコードの処理とかぶらなければ、用件は満たせるのですが、あまり懲りたくもないのもあって、ちょっと実装イメージが思い浮かばず、困ってます。 ご回答お願いします。

  • SQL Server2005 2008の文字列検索のスピードについて

    SQL Server2005 2008の文字列検索のスピードについて 初歩的な質問で申し訳ありません。 下記のような文字列比較にて処理結果取得時間に差がある理由が知りたいのですが? ご存知の方がいらっしゃいましたらご回答願います。 下記の処理パターンで調査した結果「パターン1」の処理結果は早いのですが、 「パターン2と3」は、処理結果取得までに数分かかります。 (抽出結果は20件程度) SELECT COUNT(*) FROM [dbo].[注文データ] パターン1 WHERE [注文データ].[納品日] > (SELECT CONVERT(VARCHAR,DATEADD(dd,-10,GETDATE()),112) FROM DUAL) パターン2 WHERE [注文データ].[納品日] > CONVERT(VARCHAR,DATEADD(dd,-10,GETDATE()),112) パターン3 WHERE [注文データ].[納品日] > '20100601' CREATE TABLE [dbo].[注文データ]( [品番] [varchar](10) NOT NULL, [品名] [varchar](60) NOT NULL, [発注数量] [decimal](9, 2) NOT NULL, [納品日] [char](8) NOT NULL, PRIMARY KEY CLUSTERED ( [納品日] ASC, [品番] ASC ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON ) ON [PRIMARY] ) ON [PRIMARY] CREATE TABLE [dbo].[DUAL]( [DUMMY_COL] [varchar](1) NOT NULL, CONSTRAINT [PK_DUAL] PRIMARY KEY CLUSTERED ( [DUMMY_COL] ASC ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON ) ON [PRIMARY] ) ON [PRIMARY] ■「注文データ」テーブルは過去1年間の累積で   120万件程度の注文履歴ファイルとする。 ■「DUAL」テーブルは「DUMMY_COL」に「0」をセットした   1件のデータとする。 よろしくお願い致します。 m(_ _)m

  • SQLで日付を条件に削除したい

    SQLで日付を条件に削除したい update の列にdatetime 型で更新日が入っています。 2010年の6月以降を削除したいのですが どうにもうまくいきません。(一応以下のようなことをやってみたりしました) どのように書いたらいいでしょうか?? DELETE FROM SYS WHERE update >#2010/06#

  • SQLで特定の文字を含むものを削除

    SQLで特定の文字を含むものを削除 パソコン初心者です。 SQLでデータベースからたとえば(’)シングルコートを 含むもののみ削除することはできますか?

  • SQLServer2008StandardEditionを利用していま

    SQLServer2008StandardEditionを利用しています。 データバックアップリストアについて教えてください。 TableAに商品管理情報を日次で追加しています。 TableAを含むデータベースを深夜に日次でフルバックアップを取得しています。 ある日、管理者が間違えてTableAのレコードのうち1行を削除してしまいました。 この時に、現状では、TableAのレコードを復元するには以下の方法を利用しています。 1.データベースフルバックアップデータを別名でリストアする 2.リストアデータベースから削除したTableAのレコードを手動でコピーする。 3.リストアしたデータベースを削除する。 もう少し簡単に削除した行だけをリストアするような方法は無いでしょうか?

  • カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。

    カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。 処理はオーソドックスなスタイルでコーディングしているとします。 「ループ処理内で、FETCH NEXTした際に、最終行か判断したい」という質問です。 EOFで最終行だと判断するのは一般的ですが、ループ内で通常行と最終行の切り分けをしたいのです。特に何かの制約や事情があるわけではありませんので、実現できればそれでOKです。 要するに、最終行レコードが、通常行レコードの処理とかぶらなければ、用件は満たせるのですが、あまり懲りたくもないのもあって、ちょっと実装イメージが思い浮かばず、困ってます。 ご回答お願いします。

  • SQLServer2008StandardEditionを利用していま

    SQLServer2008StandardEditionを利用しています。 データバックアップリストアについて教えてください。 TableAに商品管理情報を日次で追加しています。 TableAを含むデータベースを深夜に日次でフルバックアップを取得しています。 ある日、管理者が間違えてTableAのレコードのうち1行を削除してしまいました。 この時に、現状では、TableAのレコードを復元するには以下の方法を利用しています。 1.データベースフルバックアップデータを別名でリストアする 2.リストアデータベースから削除したTableAのレコードを手動でコピーする。 3.リストアしたデータベースを削除する。 もう少し簡単に削除した行だけをリストアするような方法は無いでしょうか?

  • カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。

    カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。 処理はオーソドックスなスタイルでコーディングしているとします。 「ループ処理内で、FETCH NEXTした際に、最終行か判断したい」という質問です。 EOFで最終行だと判断するのは一般的ですが、ループ内で通常行と最終行の切り分けをしたいのです。特に何かの制約や事情があるわけではありませんので、実現できればそれでOKです。 要するに、最終行レコードが、通常行レコードの処理とかぶらなければ、用件は満たせるのですが、あまり懲りたくもないのもあって、ちょっと実装イメージが思い浮かばず、困ってます。 ご回答お願いします。

  • '(シングルクォーテーション)の検索

    '(シングルクォーテーション)の検索 SQL Server 2005 Express Edition を使っています。 '(シングルクォーテーション)を含む文字列を検索したいのですが できずに困っています。 どのようなクエリを組むべきでしょうか? 教えてください。 よろしくお願いします。 現在は select * from テーブル名 where 列名 like '%\'%' としていますがエラーになります。

  • 【SQL Server 2005】データベース・ミラーリング

    【SQL Server 2005】データベース・ミラーリング ■質問1 監視サーバ、プリンシパルサーバ、ミラーサーバの三台構成で、 プリンシパルサーバがどういう状態になったら、ミラーサーバに処理を引き継ぐのですか? ハートビート監視でしょうか?それともインスタンスの状態を監視している? ■質問2 監視サーバ、プリンシパルサーバ、ミラーサーバの三台構成で、 プリンシパルサーバとミラーサーバに、それぞれIIS上で動作する同一の動的Webサイトを作成し、 NLBで負荷分散することはできますか?

  • SQL Server2005のクエリで「今週のデータ」を抽出したいので

    SQL Server2005のクエリで「今週のデータ」を抽出したいのですがうまく出来ません。 between datename (weekday, getdate()) on datename(weekday, getdate() +6 ) 「今週の」という条件は、本日の日付から週始めの月曜日を算出して、その値にプラス6をした日曜日までのデータを取得、という感じで行いたいのですが、 肝心の月曜日の求め方が分かりません。 参考書やネットを調べても分からなかったため、この場をお借りして質問させていただきました。 何卒ご教授お願いいたします。

    • ベストアンサー
    • noname#142623
    • SQL Server
    • 回答数1
  • 【SQL Server 2005】データベース・ミラーリング

    【SQL Server 2005】データベース・ミラーリング ■質問1 監視サーバ、プリンシパルサーバ、ミラーサーバの三台構成で、 プリンシパルサーバがどういう状態になったら、ミラーサーバに処理を引き継ぐのですか? ハートビート監視でしょうか?それともインスタンスの状態を監視している? ■質問2 監視サーバ、プリンシパルサーバ、ミラーサーバの三台構成で、 プリンシパルサーバとミラーサーバに、それぞれIIS上で動作する同一の動的Webサイトを作成し、 NLBで負荷分散することはできますか?

  • batからOSQLを起動してデータを落としたのですが・・・

    batからOSQLを起動してデータを落としたのですが・・・ 出力されたTXTデータのスペース箇所(SELECTで引き抜いた時にはそう見えていました。)にNULLという文字が入っています。 単純にテーブルのその項目にNULLが入っているという事は分かるのですが・・・ 今回の質問はそのNULLと言う文字をスペースに置き換えてTXT出力する方法を教えて欲しいです。 BATで置換を提案したのですが、処理に時間がかかりすぎるという事で却下されました。 OSQLをBATから起動する時にパラメータを使ってそういう事が出来るのか、 SQL発行する記述にUPDATE文を付ければいいのかどうやれば良いのかが分かりませんので 是非ともご教授宜しくお願い致します。

  • batからOSQLを起動してデータを落としたのですが・・・

    batからOSQLを起動してデータを落としたのですが・・・ 出力されたTXTデータのスペース箇所(SELECTで引き抜いた時にはそう見えていました。)にNULLという文字が入っています。 単純にテーブルのその項目にNULLが入っているという事は分かるのですが・・・ 今回の質問はそのNULLと言う文字をスペースに置き換えてTXT出力する方法を教えて欲しいです。 BATで置換を提案したのですが、処理に時間がかかりすぎるという事で却下されました。 OSQLをBATから起動する時にパラメータを使ってそういう事が出来るのか、 SQL発行する記述にUPDATE文を付ければいいのかどうやれば良いのかが分かりませんので 是非ともご教授宜しくお願い致します。

  • Sqlserver2005でテーブルを作成してい分からなかったので質問

    Sqlserver2005でテーブルを作成してい分からなかったので質問します。 [テーブルA]  {フィールド1}主キー   (データ1000)   (データ1001)   (データ1002) これを親とするテーブルBを作成して [テーブルB]  {フィールド1}主キー{フィールド2}主キー  (データ1000)   (データ1001)  (データ1001)   (データ1002)  (データ1002)   (データ1003) [テーブルB]の{フィールド1と2}を[テーブルA]の {フィールド1}にリーレーションを張って [テーブルA]の{フィールド1}のデータが消した時に[テーブルB]の{フィールド1,2} のデータ、どちらかに該当するデータがあった場合に行ごと削除したいので {フィールド1,2}のリレーションシップの設定の「DeleteRule」を2つとも「重ねて表示」としたいのですが 「パスが循環するか、複数のパスに連鎖する可能性があります。ON DELETE NO ACTION、ON UPDATE NO ACTION、を指定するか、他の FOREIGN KEY 制約を変更してください。 制約を作成できませんでした。以前のエラーを調べてください。」 と表示されて出来ませんこの場合フィールド1,2どちらか1つのフィールドしか DeleteRule「重ねて表示」に設定できないのでしょうか? こういう風に分岐する道筋を明記するテーブルを作りたいのですが 1━┳2    ┗3   自分の作ったテーブルの構造が良くないかもしれないので上に書いてあるような テーブルでは駄目だという方もどういったテーブル構造が良いのか教えて欲しいです

  • ご教授お願い致します。

    ご教授お願い致します。 MicrosoftSQL2008で テーブルに在庫データと受払データの2種類があります。 在庫データは受払データを1行にまとめた情報で 年月で管理しています。 また、受払データはその詳細で年月日で管理しています。 質問は、この二つのテーブルをビューで1つに結合したいのですが 結合に在庫データの年月と受払データの年月日だと特定の日付のみしか 結合されません。 よって、方法を教えて頂ければ幸いです。 尚、例を下に記述します。 ■在庫データ 年月    品番 入庫数 出庫数 2010/06/01 A   3    1 2010/07/01 A 0 1 ■受払データ 伝票No. 日付  品番 入出庫区分 数量 1 2010/06/02 A 入庫    1 2 2010/06/03 A 入庫    2 3 2010/06/04 A 出庫    1 4 2010/07/02 A 出庫    1    結合は在庫データの2010/06/01だと受払データの  伝票No.が1から3まで  2010/07/01だと伝票No.4です。

  • ODBC SQLサーバーでSQLを実行したい・・・

    ODBC SQLサーバーでSQLを実行したい・・・ 昨日から入り浸っている初心者PGです。 昨日は、実行日から直近の金曜日の日付を抽出するというSQLを質問させて頂きました。 今回は前月の月初第一金曜日に当たる日付を出力するSQLについての質問となります。 下記のSQLは先輩が作成したSQLになります。 もっと簡単に書けないか悩んでいます。 補足として日付は8桁で出力をしたいです。(例:20100507) 宜しければご教授賜りたいです。(原文そのままコピーしてますw) /* いけてるsql */ SELECT case (6 - (datepart(Dw,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime)))) when '-1' then datename(year,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime) + 6) + datename(month,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime) + 6) + RIGHT('00'+CONVERT(varchar,datename(day,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime) + 6) ),2) else datename(year,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime) + (6 - (datepart(Dw,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime))))) + datename(month,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime) + (6 - (datepart(Dw,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime))))) + RIGHT('00'+CONVERT(varchar,datename(day,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime) + (6 - (datepart(Dw,cast(datename(year,dateadd(mm, -1, getdate())) + '-' + datename(month,dateadd(mm, -1, getdate())) + '-' + '01' as datetime))))) ),2) end

  • ODBC SQLサーバーでSQLを使いたい・・・

    ODBC SQLサーバーでSQLを使いたい・・・ SET NOCOUNT ON DECLARE @EDATE DATETIME DECLARE @CUNT INT SET @COUNT = 0 WHILE ( @I <> -7 ) BEGIN IF ( DATANAME( WEEKDAY, DATEADD( DD, -1, GETDATE()))) = "金曜" BREAK ELSE SELECT @CUNT = @CUNT + 1 END SET @EDATE = CONVERT( CHAR, CONVERT( VARCHAR, DATEADD(DD, @COUNT, GETDATE()), 112) SELECT @EDATE 実行日からさかのぼり、金曜日の日付を表示したいSQLを作成しています。 なぜか"金曜"がおかしいとエラーが出てしまいます。 どなたかわかる方いましたらご教授お願い致します。