2008-09-20 10 views
2

私はただサーバーアプリケーションを継承しましたが、データベースの唯一のコピーが破損していると思われますし、作業バージョンがなくなっているので、アプリケーションが実行しているクエリを見つけることができますテーブルを再構築しようとすることはできますか?コンパイルされたアプリケーションでSQLクエリを見つける

編集:データベースと同じ名前の拡張子が付いていないファイルがいくつかありますが、IDKには何かできることがあれば誰にでもアイデアがあります。

私はそれをテストしていないので、私は別のバックアップを見つけることができたが、受け入れられた答えは最も成功する可能性が高いようだ。

答えて

3

SQLクエリのログを有効にして、アプリケーションから要求された内容を確認します。

http://en.wikipedia.org/wiki/Strings_(Unix)

+0

"*。INSERT INTO"これを行う方法に関するアドバイスはありますか?私はLAMPの男で、私の世界の外ではここにいるのです。 – UnkwnTech

+0

SQL Server Configuration Managerを使用してサーバーにアクセスします。 (たとえば、MSDNからインストールします)。次に、ログプロパティを含むサーバーのプロパティを編集できます。最も詳細なログをオンにします。ログエントリ自体は明らかにSQLクエリなので明白です。 –

0

あなたはそれがSQL文字列が埋め込まれているかどうかを確認するためのプログラム上のUNIXコマンド「文字列」を実行することができます(http://www.cygwin.com/)、 'strings'というコマンドがあります。これはファイルタイプを検索し、文字データの連続したシーケンスを出力します(asciiかもしれません)。そのツールは、アプリケーションに埋め込まれたSQLクエリを識別するのに役立ちます。

2

あなたはどちらかのUNIXマシンへのアクセス権を持っている、またはcygwinのユーティリティをインストールすることができた場合:

+0

文字列| grep -E 'UPDATE | SELECT | ...'はおそらく非常にうまくいくでしょう。 :-) – 0124816

2

クエリアナライザ(isqlw.exe)または管理スタジオ(それ以降のバージョン)のツールメニューから通常入手できるSQLプロファイラを探します。

SQLプロファイラを使用すると、アプリケーションで要求されているクエリを示すことができる、サーバー上のトレースを実行できます。

0

あなたは

  • を "SELECT *"

    • を検索するためのファイルを正規表現でした "UPDATE *"
    • "* FROM DELETE"
  • +0

    これはコンパイルされたアプリケーションです。 – UnkwnTech

    関連する問題