• 締切済み

ストアド バージョンの確認方法について

SQL Server 2005 Express Editionについて教えてください。 ストアドの登録していますが、そのバージョン情報をOSQLなどから、確認したいと思っております。 確認方法を教えていただけますでしょうか。 取得したい情報は、Manegment Studioにて、ログイン後、[データベース]-[DB][プログラミング]-[アセンブリ]にある物を右クリックすると表示される[アセンブリのプロパティ]画面の、その他のバージョン情報です。 ちなみに、SELECT * FROM sys.assembliesを実行するとclr_nameにはversion=0.0.0.0が表示されます。 ここでは、管理していないのでしょうか。

  • tom47
  • お礼率25% (1/4)

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

そうみたいですね。 情報はASSEMPLYPROPERTYを使えば取れます。 スカラー関数にして使うのも手です。 CREATE FUNCTION getAssemblyVersion(@AsssemblyName sysname) RETURNS varchar(100) AS BEGIN RETURN (SELECT CONVERT(varchar,ASSEMBLYPROPERTY(@AsssemblyName,'VersionMajor')) +'.'+CONVERT(varchar,ASSEMBLYPROPERTY(@AsssemblyName,'VersionMinor')) +'.'+CONVERT(varchar,ASSEMBLYPROPERTY(@AsssemblyName,'VersionBuild')) +'.'+CONVERT(varchar,ASSEMBLYPROPERTY(@AsssemblyName,'VersionRevision'))) END

tom47
質問者

お礼

jamshid6様 ご返答後遅くなりまして申し訳ございません。 関数の使用法がわからず、戸惑っておりましたが、 SELECT以降~を使用すれば情報の取得が出来ることがわかりました。 望んでいたことが無事に出来ました。 ありがとうございました。

関連するQ&A

  • SQLServer2005のストアドプロシージャのデバックの設定方法をご教示ください

    SQLServer2005でストアドプロシージャを作成しました。 VisualStudioを使用すればデバッグ(一行ずつ実行して、変数の中身や動作を確認)できるということですが、設定がうまくできません。 ストアドプロシージャ作成は初めてで、周りにも経験者がいないため解決策がわからない状態です。 ご存知の方、気がついたことがある方は、ぜひご教示ください。 ■■ マシン環境 ■■ OS:Windows2003Server DB:SQLServer2005 ■■ 試した方法 ■■ 1.DBサーバマシンのVisualStdio2005を使用 上記マシンに、SQLServer2005をインストールしたとき、  VisualStudio2005が自動的にインストールされたので これを使用することを考えました。 VisualStudio2005の「サーバーエクスプローラー」に、 今回作成したストアドプロシージャを表示するところまではできたのですが、 デバッグ実行できません。 メニューから「ストアドプロシージャのステップイン」を選択してデバッグウインドウを表示するらしいのですが メニューには、以下のものしか表示されません。  新しいプロシージャの追加 / 開く / 実行 ためしに実行すると、ストアドプロシージャは動作します (テーブルへのデータINSERTをストアドでコーディングしており、実行後に指定値が入っていたため) しかし、デバッグポイントを設定できず、ステップ実行もできません。 2.別マシンのVisualStdio2003を使用 私の開発マシンにはVisual Studio 2003が入っているため、 DBサーバマシンとリモートで接続して、上記と同様の設定を行いました (このVisual Studio2003はC#開発用にインストールしたものです)。 こちらは、メニューに「ストアドプロシージャのステップイン」が出ました。しかし……。 メニューから「ストアドプロシージャのステップイン」を選択してデバッグウインドウが表示されたときに、以下のメッセージボックスが出ます。 「SQL Server データベースが正しくセットアップされていないか、またはユーザーに master.sp_sdidebug を実行する権限がないため、ストアド プロシージャをデバッグできません。」 デバッグウインドウ上でデバッグポイントは設定できますが、 ストアドプロシージャを実行してもデバッグポイントでとまらず ステップ実行もできません。 (同様にINSERTしたテーブル値から、ストアド自体は動作していると判断) なお、1.2.共にSA認証でSQLServer2005にログオンしています。 SQLServer のデバッグできるのは、sysadminサーバロールを持つユーザだけらしいですが、 SA認証で使用しているユーザには「sysadmin」のサーバロールは設定しています。 ■■ 質問 ■■ 1) QLServer2005インストールで自動的にインストールされるVisualStudioでは、 ストアドプロシージャのデバッグはできないのでしょうか? それとも、SQLServer2005インストール時に、開発環境等の追加設定や、 別途VisualStudio2005をインストールする必要があるのでしょうか? それとも、別にSQLServer management Studioや構成ツール等で設定が必要なのでしょうか? または、メニューに「ストアドプロシージャのステップイン」を出す設定(方法)をご存知の方、ご教示をお願いします。 2) 「SQL Server データベースが正しくセットアップされていないか、またはユーザーに master.sp_sdidebug を実行する権限がないため、ストアド プロシージャをデバッグできません。」 このメッセージはどうすれば回避できるのでしょうか? SQL Server データベースが正しくセットアップされていないということですが、 これまで特に支障がないため問題はないと思っているのですが……。 検索で以下のサイトを見つけましたが、SQLServer2000のため参考になるかは疑問です。   http://support.microsoft.com/kb/839280/ja   http://support.microsoft.com/kb/886680/ja 以下のサイトは、どうすれば原因回避できるのかわかりませんでした(勉強不足を感じております)   http://msdn2.microsoft.com/ja-jp/library/ms164014.aspx master.sp_sdidebug を実行する権限の設定方法をご存知の方、ご教示いただけませんでしょうか? 3) Visual Studio以外で、SQLServer2005のストアドプロシージャをデバッグする方法がありましたらご教示ください。 変数の途中の値を一時テーブルにINSERTして確認するくらいしか方法はありませんでしょうか? 申し訳ございませんが、もしご存知の方、ご教示いただけませんでしょうか? なお、設定やマシン環境で記述不足等ありましたら、ご指摘いただければと思います。 以上です。よろしくお願いします

  • MYSQLでストアドプロシージャの引数を二つ

    MYSQL初心者で参考書にかじりついてプログラミングしています。 主にDBの内容をPHPで吐き出させるといった使い方をしています。 SQL文があまりにも長ったらしくなってきたのでストアドプロシージャを使いたいのですが、使っているSQL文が (SELECT * FROM .変数. WHERE .変数. LIKE '.変数.') UNION (SELECT * FROM .変数. WHERE .変数. LIKE '.変数.'); となっており、引数を複数使えないとスッキリさせられない状況です。 ストアドプロシージャで複数の引数を設定することはできないのでしょうか?

    • ベストアンサー
    • MySQL
  • 2台のサーバー間でのテーブル結合方法

    2台のサーバーでそれぞれSQL Server2000 とSQL Server2005を動かしています。 2台のサーバーの中の別のDBの中にあるテーブルを結合したいのですが、可能なのでしょうか? ちなみに [データベース名1]のサーバーに接続した状態で SELECT a.*,b.* FROM [データベース名1].[dbo].[テーブル名1] AS a INNER JOIN [ServerIPアドレス].[データベース名2].[dbo].[テーブル名2] AS b ON a.ID=b.ID とやると 「sys.serversにサーバー 'ServerIPアドレス' が見つかりませんでした。 正しいサーバー名を指定したかどうかを確認してください。 必要であればストアド プロシージャ sp_addlinkedserver を実行し、 サーバーを sys.servers に追加してください。」 というエラーになってします。 宜しくお願いします。

  • AccessVBAからのストアド起動について

    現在、Accessで元来の記述にストアド起動の1文を追加し、 SQLserver上のmasterデータベースに登録しているストアドを起動させようとしております。 起動方法として、xp_cmdshellを利用してみたのですが、 しかし、起動に必要なパラメータの受け渡しが上手くいかないため、動作が正常に行われません。 『』部は実際には定数が入っております。 VBA内容は以下の通りです。 ・既存箇所 set DB = createobject( "adodb.connection" ) DB.oprn "PROVIDER = SQLOLEDB.SERVER = "『サーバIPアドレス』","『ログインID』","『ログインパスワード』" ~~~(ここで開いたDB中のテーブル上のデータを読み取るなど実行) ・追加しようとしている記述(Null時はNz関数で""に置換) A = 「パラメータ1」 B = 「パラメータ2」 C = 「パラメータ3」 (これらは上記のDBからRecordsetで取得。必要な値が取得できることは確認済み) strsql= "EXEC MATSER..xp_cmdshell ’EXEC mastter..『ストアド名』 & A & B & C & "'" DB.Execute stersql sqlserver上で起動するときは EXEC mastter..『ストアド名』 'パラメータ1' ,'パラメータ2' ,'パラメータ3' で起動することが確認記できております。 既存部でパラメータ引き渡しの必要のないストアドは動作しているため、 パラメータの引き渡しに問題があると判断しておりますが、 何パターンか変更してもうまく動かないため、 アドバイスをいただければと思います。

  • vb.net自作ソフトのバージョンについて

    の質問です。visual studio 2010を使用しています。ソフトを作成しました。フォームの右上ヘルプ→バージョン情報でバージョンを表示したいのです。以下2つ質問があります。 (1)このバージョンは、setupプロジェクトのプロパティのversionを取得した方がよいのでしょうか?それとも、アプリケーションのアセンブリ情報にあるアセンブリバージョンを取得した方がよいのでしょうか? (2)現在setupプロジェクトのプロパティのversionには、1.0.0を入力してありますが、作成したsetup.exeにマウスカーソルをかざすと、10.0.30319.1と薄く表示されます。この情報はどこから取得しているのでしょうか?(添付画像をご覧ください。) 御教示いただけると幸いです。

  • VisualBasic.net Standard Version2003について

    先日表題のソフトを購入しました。 会社でのホストコンピュータはIBMのiSeriesというのを使用しています。 バージョンアップを重ねてSystem38→AS400→iSeriesと移行し、 通常のシステム開発はRPGやCLを使用しています。 VisualBasic.netを購入した目的は会社のホストコンピュータと接続して、 便利なWindowsアプリケーションやWEBアプリケーションを作成したいと思っています。 そこで、何冊か本を買ってきて独学で勉強しているのですが、 外部データベースへの接続というところで躓いています。 それはデフォルト?でMicrosoft AccessとSQLデータベースへの接続はできるのですが、 DB2に接続しようとすると「このバージョンではSQLデータベースとmdbへの接続のみサポートしています」と表示されDB2への接続ができません。 もちろんサポートしていないのですから接続はできないのでしょうが、 どのバージョンの.netならVB.netやASP.netからDB2への接続は可能なのでしょうか? Standard以上になると個人で買うにはちょっと高くて躊躇してしまいます。 それとも外部データベースへの接続という便利な機能以外でも、 接続する方法はあるのでしょうか?

  • IEのバージョンチェック

    html内にIEのバージョンを表示させました。 navigator.userAgent と navigator.appVersion をdocument.writeしました。 結果は Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) 4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) でも、IEのヘルプのバージョン情報で見ると InternetExplorer 8 で バージョンが8.0.6001.18702 です。 IE7.0 と表示されるJavaScriptは外部のIISサーバを閲覧しているhtmlに表示されます。 自分の環境でIEを立ち上げ(defaultはgoogleサイト)て、アドレスバーにjavascript:alert(・・・ とするとIE8.0になります。 さらに、自分ではIE8をインストールしてあるつもり(?)です。 閲覧するwebサーバに依存するのでしょうか? 初歩的な質問かもしれませんが、他の人に説明しなければならないため わかりやすく教えていただけないでしょうか。

  • ユーザーが定義したストアドプロシージャ一覧の取得

    SQL Server 2005で、 db内のストアドプロシージャ一覧を取得したいと思っています。 select o.* from syscomments c , sysobjects o where c.id = o.id and o.type='P' order by o.name といったように記述すれば一覧は取得できるようですが、 これだとシステムストアドプロシージャも表示されてしまいます。 ユーザーで定義したストアドプロシージャのみ取得したいのですが、可能でしょうか? 何か良い手段をご存じの方がいらっしゃいましたらアドバイス頂けますと嬉しいです。 どうぞよろしくお願いいたします。

  • ストアドプロシージャについて

    ストアドプロシージャで、Accessのクエリーを実行させテーブルの中の指定したIDのデータを削除させるという流れなのですが・・ 以下のソースで実行はできるのですが、削除ができていないので原因がわかりません。アドバイスお願いします。 package CallableStatement; import java.sql.*; import java.io.*; public class cCallableStatement { public static void main(String[] args) { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection db=DriverManager.getConnection("jdbc:odbc:sample","",""); CallableStatement cllDelete; int ID = 3;        // 削除 cllDelete = db.prepareCall("{call DELETE(?)}"); cllDelete.setInt(1,ID); cllDelete.executeUpdate(); } } 環境はwin2000 pro forte for java 4.0 jdk : 1.4 データベース: Access2000

  • バージョンの確認方法

    ESETサポート情報を見ても利用プログラムのバージョンの確認方法が分かりません。 Windowsで利用していますが、説明文にある画面右下の通知領域にあるESET製品のアイコンが表示されていません。 ※OKWAVEより補足:「ESETセキュリティ ソフトウェア シリーズ」についての質問です。