32

デスクトップアプリケーションに新しいSQLServerExpress LocalDB(「Denali」という名前のコードだと思います)を使用することを検討しています。

現在SQLCompactで実行されていますが、ユーザーはネットワーク上の複数のPC間でデータベースを共有したいと考えています。残念ながら、これはSQL Compactで実行できることではないため、他のソリューションを調査しています。

クライアントには、データベースファイルを他のサイトに簡単に送信したり、フラッシュディスクにバックアップしたりする機能が必要です。バックアップと復元にはかなりの「管理者」の知識が必要なため、SQLExpressにアクセスすることは避けています。

それで、私の質問は、新しいSQL Express LocalDBは、ネットワーク経由および/またはmdfファイルを含む共有ネットワークフォルダー経由のデータベースへのリモート接続をサポートしていますか?

LocalDBは、接続文字列(AttachDbFileName)に接続されたローカルDBのパスを指定することをサポートしているため、共有ネットワークフォルダーオプションがあります。

注:この質問は、SQL Expressの新しいバージョン「Denali」の「LocalDB」に関係し、SQL ServerExpress2008以前には関係しません。LocalDBのリリースを発表しているこちらの記事を参照してください:http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

4

3 に答える 3

30

いいえ、SQL ServerExpressLocalDBはリモート接続を受け入れません。

共有ネットワークフォルダを使用するというアイデアは機能する可能性がありますが、ファイルをコピーする前にLocalDBインスタンスがシャットダウンされていることを確認できる場合に限ります。また、特定のデータベースファイルを同時に開くことができるのは1つのLocalDBインスタンスのみであることに注意してください。そして、ログファイルを忘れないでください!

追加のセキュリティ警告:SQL Server Compactデータベースとは異なり、SQL Server Expressデータベース(LocalDBデータベースを含む)は、安全なデータ交換形式として設計されていません。たとえば、それらに埋め込まれた.NETアセンブリに悪意のあるコードが含まれている可能性があります。したがって、信頼できないソースからデータベースを開かないでください。

たぶん、バックアッププロセスを自動化するシンプルなツールを顧客に提供する方が良いでしょう。

于 2012-02-09T19:12:34.443 に答える
3

これは新しいスレッドではありませんが、SQLServerExpressデータベースLocalDBでの私の経験を共有したいと思います。

LocalDbEngineでSQLデータベースを使用するWPFC#プロジェクトがあります。問題なく動作しています。データベースはWPFアプリで使用できます。このアプリをより多くのPCとのネットワークで動作させたいと思いました。ネットワーク上で、別のPCが接続文字列のUNCパスを使用して自分のPCからデータベースを使用できます。
リモート接続が機能しているように見えました。ただし、リモートPCが接続されていると、ローカルWPFアプリでデータベースを使用できません。最初にアプリを実行すると、リモートPCが接続できませんでした。したがって、これはリモート接続が機能していることを示していますが、複数の接続は許可されていません。
OK、私はあきらめず、PCからアプリを2回実行しましたが、同じSQLLocalDBエンジンが複数の接続をローカルでのみ処理できることを示すアプリが機能していることを確認しました。

この経験が誰かに役立つことを願っています。ありがとう。

于 2017-08-11T12:18:53.507 に答える
2

要するに、そうすることができます。これは、それを構成する方法に関するチュートリアルです。

また、発生する可能性のある潜在的な問題のある別の投稿があります。

どちらも、リモート接続を受け入れるようにSQLServerExpressを構成する方法を説明しています。

于 2012-02-08T12:59:43.857 に答える