SQL Server
- DBアクセス簡易ツールを教えてください。
ACCESSのようなODBCでデータベースに接続し、検索・追加・更新・削除ができるようなフリーウェアで良いものがあれば教えてください。
- ベストアンサー
- SQL Server
- kumazoro
- 回答数3
- 複数の値を1レコードに表示したい。
お世話になります。 早速ですが、Topを使って上位3番までの値を抽出し、 その値を1レコードに出力させたいのですが、SQL文のみでの出力方法が思い浮かびません。 どなたか、知恵をお貸しください。 【通常の出力】 中国 39 米国 22 英国 12 【やりたい出力】 中国39 米国22 英国12
- ベストアンサー
- SQL Server
- a_lone_Bee
- 回答数2
- コマンドプロンプトサービスの停止と開始について
OS Windows Server2003 バックアップを取るため SQL Serverサービスをタスクで自動で開始と停止をやりたいんですが、 バッチを組み実行したところ、開始は問題ないのですが 停止するときにバッチがそのまま止まってしまいます。 ログを調べたところ次の文面が表示されていました。 ※「次のサービスは MSSQLSERVER サービスに依存しています。 MSSQLSERVER サービスを停止すると、これらのサービスも停止されます。 SQLSERVERAGENT この操作を続行しますか? (Y/N) [N]: 」 コマンドプロンプトで「y」を実行すると停止します。 このようにバッチを組んでいます。 開始バッチ set log=c:\log\SQL-service-start.log net start mssqlserver >> %log% net start SQLServerAgent >> %log% 停止バッチ set log=c:\log\SQL-service-stop.log net stop mssqlserver >> %log% 申し訳ございませんが、ご教授の方お願いします。
- ベストアンサー
- SQL Server
- red-tree
- 回答数2
- 項目名の制限について
初歩的な質問で恐縮です。 SQL Server2005 Express を使っています。 テーブルやストアドプロシージャの項目名の先頭に算用数字は使え ないのでしょうか・・・? たとえば、「4月期売上」のようにするとエラーになります。 (漢数字「四月売上」にするとOKです) よろしくお願いします。
- ベストアンサー
- SQL Server
- pon_s
- 回答数1
- xp_cmdshellについて
現在、Windows XP Pro、SQL Server2005 Developer Editionで開発を行っています。 行いたいことは、DMLトリガによって入力画面のあるプログラム(例えばメモ帳など)を実行したいと思っているのですが、下記のサイトで調べた結果、xp_cmdshellではできそうもありません。 そこで、どうにかして入力画面のあるプログラムを実行したいと思っているのですが、なかなか見つからず困っています。 (セキュリティに関しては、無問題とします。) SQL Server 2005でこのようなプログラムを作成できますか? また、どのようにすれば良いでしょうか? 具体的なソース、参考サイト等ありましたら、教えてください。 よろしくお願いします。 参考サイト:http://support.microsoft.com/kb/323411/ja
- ベストアンサー
- SQL Server
- spiral1111
- 回答数4
- DTS クエリーデザイナ で更新クエリー
今回、訳あってSQL2000Severを導入する事になり勉強中です。 今までAccessでDB更新/追加/削除は経験あり、HPを見ても移行は簡単なイメージがありましたが、更新クエリーだけイメージがあいません。 TBL A /TBL B の2つのTBLがあり、TBL Aの項目をTBL Bで更新しようとする場合,Accessならクエリーで2つのTBLを追加してTBL AをTBL Bの項目で更新できたのですが、DTSデザイナで更新を選択するとTBL Aしか追加できません。 又、クエリアナライザを使ってもJOINの後の構文エラーから先に進めない状態です。 初歩的質問で申訳ありませんが、助言できる方がいらっしゃいましたら助けて下さい。 サンプルSQL UPDATE [TBL A] AS A INNER JOIN [TBL B] AS B ON A.KOUMOKU = B.KOUMOKU SET [A].[TANKA] = [B].[TANKA]; キーワード 'AS' 付近に正しくない構文があります。
- ベストアンサー
- SQL Server
- OneTree
- 回答数1
- SQL SERVER 2005 でデータベース名を変更
初心者です。よろしくお願いします。失敗してしまい非常に困ってます。 SQL SERVER 2005です。 SQL SERVER認証でローカルサーバーに接続しています。 そのローカルサーバーにAという名前のデータベースがあったのですが 間違えて名前をBに変えてしまいました。 そしたらSQL SERVERに接続出来なくなりました。 Aという名前で接続してたときと同じログイン名とパスワードを使用したら localhostに接続出来ません。 ユーダーの既定のデータベースを開けません。 ログインに失敗しました。 ユーザー"(ユーザー名です)" はログイン出来ませんでした。 microsoft SQL server エラー4064 というエラーが出ました。 どうにかして元のAというデータベース名に戻したいです。 http://support.microsoft.com/kb/307864/ja を参考にコマンドプロンプトで下記の作業を行いました。 SQL Server ログインで SQL Server 認証を使用してインスタンスに接続している場合は、コマンド プロンプトで次の行を入力し、Enter キーを押します。 sqlcmd -S InstanceName -d master -U SQLLogin -P Password 注 : InstanceName には、接続先の SQL Server 2005 インスタンスの名前が入ります。SQLLogin には、既定のデータベースが削除されている SQL Server ログイン名が入ります。Password には、SQL Server ログインのパスワードが入ります。 3. sqlcmd プロンプトで次の行を入力し、Enter キーを押します。 ALTER LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName 注 : AvailDBName には、SQL Server ログインでアクセスできる、そのインスタンス内の既存のデータベースの名前が入ります。 4. sqlcmd プロンプトで GO と入力し、Enter キーを押します。 これを実行してもBというデータベースに接続(?)は出来ましたが 名前をもとに戻すことが出来ません。 いくら調べても分からないので(調べ方が悪いのかも知れませんが・・) どなたか教えていただけないでしょうか。よろしくお願いします。
- 締切済み
- SQL Server
- shutalui77
- 回答数1
- 空文字の意義
どうして、sqlserverには、空文字が存在するのでしょうか? oracleには、空文字は存在せず、すべてnull値として扱ってくれて非常に、わかりやすいです。 他にも、マイクロソフトの製品(Access,やvbの変数)は、空文字を扱っていますが、空文字を扱うとは、何かメリットあるのでしょうか? わたしは、プログラマーですが、うっとうしくてほかなりません。
- ベストアンサー
- SQL Server
- androp
- 回答数2
- SQLServerにて一時テーブルの中身を確認する方法
現在、VisualBasic6.0+SQLServer2000(クライアントツールは2005)にて、 システムのカスタマイズを行っています。 一時テーブル(ローカル一時テーブル)を利用しているプログラムがいくつかあり、 接続中はtempdbに一時テーブルができているのが確認できるのですが、 プログラムを起動しておいて(デバッグ状態にしておいて)、 一時テーブルの中身を確認しようと思っても、中のデータを覗く方法がありません。 右クリックしても「テーブルを開く」等のメニューが出てきません。 中のデータを覗くよい方法は何かありませんでしょうか?
- ベストアンサー
- SQL Server
- generalmar
- 回答数1
- SQL Server 2005 と 2008の違いについて
現在、以下の構成でシステム開発を行っております。 Windows Server 2003,.NET Framework 2.0、 SQL Server 2005でデータベース管理を行っております。 今後、SQL Serverを2008にした場合、 SQL文等の違い、注意すべき点(動作検証の追加等)はありますか? 以前2005を使用していて今後2008での管理を検討されておられる方、 その他お詳しい方、是非ご教授下さい。
- ベストアンサー
- SQL Server
- pkg2008
- 回答数1
- SQLServerでのデータ比較ツール
SQLServerにsamp、sampbakというテーブルがあったとします。 sampのバックアップがsampbakなのですが、どうもデータがずれてしまっているようで、簡単に比較抽出できるようなツールはありませんでしょうか? よろしくお願いします。
- ベストアンサー
- SQL Server
- jmine
- 回答数3
- SQL Serverが自動で起動しない。
小規模な職場(チェーン店の本部)でヘルプデスク的な業務に携わっています。 店舗に設置しているPC(Win-XPpro)にMS SQL Server7.0を導入しているのですが、ある日突然PCの起動時に接続しなくなりました。 (PC起動後タスクトレイのアイコンが緑の再生マークになっているはずが赤の停止マークになったまま) 手動で接続すれば大丈夫なのですが、一体どういう事なのでしょうか? 専門的なITスキルはほとんど無いので原因が全くわかりません。 社内にはSEやシステム管理者等の技術者がおらず問合せ先も限られている為、ここで質問させて頂きました。 宜しくお願い致します。
- ベストアンサー
- SQL Server
- mgrqr011
- 回答数1
- sqlcmdの自動実行方法について
sqlcmdから指定の時間に、sqlを実行したいのですが、方法がわかりません。 プロンプトを立ち上げて、 sqlcmd !!sqlcmd -E -d db -i c:\a.sql -o c:\1.txt の実行で、読み込んだsqlが1.txtに出力される事までは、確認できています。 申しわけありませんが、ご存知の方ご教示宜しくお願い致します。
- ベストアンサー
- SQL Server
- yamachan_tomo
- 回答数1
- バッチからSQLCMDを実行する方法
以下のようなコマンドをバッチファイル(.bat)に記載し、実行しています。(ローカルのsqlserverにwindows認証で入れる事は確認済みです。) !!sqlcmd -E -d database -i c:\sql\a.sql ですが、バッチを実行してもsqlcmdが動作せず、 「'!!sqlcmd'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」 というエラーが発生します。 バッチファイルから、sqlcmdの実行方法をご存知の方、申し訳ありませんがご教示お願いします。
- ベストアンサー
- SQL Server
- yamachan_tomo
- 回答数1
- SQLServerからエクセルにデータを抽出する方法
お世話になります。 会社でSQLServerを使っており、その中から必要なデータのみエクセルで取り出そうと考えていますがどうもうまくいきません。 日付(datetime型)を含むデータの中から今日の分のデータだけピボットテーブルでエクセルに取り出す場合、MSクエリを使って抽出するときの方法を教えてください。(getdate()を使ってみましたが”getdateは組み込み関数名として認識されません”とエラーが出ます。 よろしくお願いします。
- 締切済み
- SQL Server
- nyaokin
- 回答数3
- SSISにて、一時テーブルを使ったファイルの取り込みがうまく行かない場合がある
SQL Server2005 の SSISにて、一時テーブルを作成し、 その一時テーブルにフラットファイルを読み込む、 といった処理を行っています。 こちらの処理について、 SSIS インポート及びエクスポートウィザードで 作成した処理であれば問題なく動作するのですが、 手動で作成した処理だと、ウィザードで生成された パッケージと同じように設定しても、 検証の段階で 「##tblのfistload行セットが開けませんでした」 といったエラーメッセージが表示されてしまい、 実行そのものが出来ない状態にあります。 なぜ、ウィザードだと出来て、手動だと出来ないのか。。 プロパティ系の設定はひととおり抑えたつもりです。 どなたか同じ現象を体験した方、 また、解決方法をご存知の方がいらっしゃいましたら 何卒ご教授くださいませ。
- ベストアンサー
- SQL Server
- junzo_ex
- 回答数2
- データベースの圧縮について
お世話になります。 初歩的な質問かもしれませんが、よろしくお願いします。 SQL Server 2000 を使用しています。 比較的大きいサイズのデータベース「A」があります。 Dataフォルダ内のサイズは次の通りです。 ・A.mdf 50MB ・A_1.mdf 4.4GB ・A_log.ldf 1.2GB この「A」を別の用途で使用したいため、全てのテーブルのデータを削除しましたが、Dataフォルダ内のサイズがほとんど変わりません。 プロパティのデータベースの圧縮で見ると、空き容量が98%と表示されているので、無駄な領域が多いのは分かるのですが、実際に圧縮をかけても小さくなりませんでした。 方法が悪いのかもしれませんので、データベースを圧縮する手順を教えて頂ければ幸いです。 よろしくお願いします。
- ベストアンサー
- SQL Server
- chaozux
- 回答数3
- ストアドプロシージャで外部プログラムを起動するには?
こんにちは。 SQL Serverから外部プログラムを呼び出すストアドプロシージャを作りたいと思っていますがなかなか上手くいきません。 データベースの内容が変わったときに(INSERT,DELETE等で)特定の外部プログラムを実行するストアドプロシージャを作りたいと思っています。 (SQL Serverに関してまったくの素人なので言葉に誤りがあるかもしれません) 外部プログラムを呼び出す機能として、拡張ストアドプロシージャでxp_cmdshellというものがあるらしいのですが、sysadminユーザしか使うことが出来ず、セキュリティ上にも問題があるとのことなので、xp_cmdshellを使わずに外部プログラムを呼び出す方法を探しています。 具体的な方法、ソース等ありましたら、教えてもらえないでしょうか? また、そんなこと出来ないと言ったことでも教えてもらえると助かります。 現在の環境 Windows XP Professional SQL Server 2005 Developer Edition 宜しくお願いいたします。
- 締切済み
- SQL Server
- kunimi1111
- 回答数1
- データベースの選定について
データベースの選定についてアドバイスお願いします。 現在は各個人用のPC数台と共用PC1台をLANで結んでいます。 共用PCにはアクセスで作成したシステムが入っており、このシステムを利用する者が必要なときに共用PCを使って作業しています。 アクセスの運用はデータ保存テーブル用MDBファイルとアプリケーション用MDBファイルを接続して利用しているという状況です。 最近になって各個人のPCからデータベースを利用する方が便利だろうということでシステムの改良を考えています。 共用PCをデータベースサーバーとして運用することで問題を解決できると思うのですが、具体的にどのような方法が最適なのかアドバイスをお願いしたいのです。 1)各個人用PCにアプリケーションMDBファイルを配布して、サーバーにはデータ保存テーブルMDBを置く。 2)SQLサーバーを導入する。 1)の方法が一番お手軽だと思っていますが、MDBは同時に複数が使用することができないということなので問題が生じる可能性があります。 しかし、そういうケースはそれほど多くないと思われますので実際の運用面では大きな問題は発生しないかもしないだろうと考えています。 ただ、あくまでもアクセスファイルは共有することを念頭に置いていないらしいので不安もあります。 2)の方法はSQLサーバー導入のハードルが高いですが、時間的余裕は多少ありますので余っているPCでテストしながらチャレンジする価値はあると考えています。 この場合、どのSQLサーバーを選定するかが問題となります。 データ件数がMDBの限界を超える心配は当面ありません。 現在のところ、一日に共有PCを使ってアクセスを利用する頻度は多くても10回までです。 SQLは無償で利用できるものを考えています。具体的にはMySQLかマイクロソフトのSQL Server Expressです。 アクセスは一般的な作業ならこなせますが、SQLサーバーは全く初心者です。もちろん勉強する意志はあります。 この状況を踏まえた上でデータベースを選定するなら、どの選択がよいでしょうか? ・導入の容易さ ・システムの安定性 の面からのご意見をお聞かせ下さい。 具体的な移行方法については自分で調べるつもりです。 宜しくお願いします。
- 締切済み
- SQL Server
- fujika1980
- 回答数2
- SQL側の一時テーブルをAccessのレポートにするには?
SQL SerVer 2005 + Access(adp) にてDBを作成しています。 あるレポートのサブレポートに一時テーブルの値を使用したいのですが、 表示されません。 作成したSQLは下記で、EXECでは表示されます。 Access側のクエリを開こうとすると、 「ストアドプロシージャは実行されましたが、レコードは返されませんでした」 という結果が返ってきます。 SQL側の一時テーブルをAccessのレポートのソースにするにはどうしたらいいのでしょうか? 教えてください。 注:ダイレクトにサブレポートを作成すると、メインレポートとリンクしません。 新規にテーブルを作成したものは、メインレポートとサブレポートがリンクします。 しかしあるレポートのためだけに、二重にテーブルを作成したくありません。 一時テーブルで済ませられるのなら、そうしたいと思います。 よろしくお願いします。 ---------------------------------------------- --伝票分の業者請求書 レポートに表示する ---------------------------------------------- ALTER procedure [dbo].[S_業者請求伝票分R] @myid int as begin ---一時テーブルの作成 create table #業者請求 (kr発注物件ID int, kr発注ID int, kr業者請求日 datetime, kr業者請求額 money, kr最終支払 smallint, kr請求メモ nvarchar(7),kr会社名 nvarchar(30),kr特記 nvarchar(20),kr受注登録ID int) ---一時テーブルに値を代入 insert into #業者請求(kr発注物件ID, kr発注ID, kr業者請求日, kr業者請求額, kr最終支払, kr請求メモ,kr会社名,kr特記,kr受注登録ID) SELECT hh.発注物件ID, ga.発注ID, ga.業者請求日, ga.業者請求額, ga.最終支払, ga.請求メモ,zz.会社名,hh.特記,hh.受注登録ID FROM dbo.T_業者請求 AS ga left outer JOIN dbo.T_発注 AS hh ON ga.発注ID = hh.発注ID INNER JOIN dbo.T_住所 AS zz ON hh.会社ID = zz.会社ID where hh.受注登録ID=@myid end begin select * from #業者請求 end
- ベストアンサー
- SQL Server
- h_ko
- 回答数2