ネットワーク共有上のMS SQLデータベース

警告: このデータベース接続方法を使用するときに発生する可能性のある問題について、作成者は一切責任を負いません。

Microsoft SQL SERVERは、デフォルトではネットワークリソース上にSQLデータベースを作成することを許可していませんが、MSSQL内部フラグを使用してバイパスすることは非常に可能です。

DBCC TraceOn(1807)
GO
CREATE DATABASE MYDB
ON
(NAME = MYDB,
FILENAME = '\\server\share\MYDB.mdf' )
GO
DBCC TraceOff(1807)


TraceON(1807)のすばらしい束-TraceOff(1807)は、データベースファイルの場所のチェックを無効にします。 これにより、リモートリソースにあるデータベースを接続できます。

新しく作成されたデータベースのメンテナンスに関連する操作は、フラグを変更した後にのみ可能になります。
データベースを作成する代わりに、最初にデータベースファイルをネットワークリソースにコピーすることにより、既存のデータベースに接続できます。
DBCC TraceOn(1807)
GO
sp_attach_db 'SomeDB',
'\\server\share\SomeDB.mdf',
'\\server\share\SomeDB.ldf'
go
DBCC TraceOff(1807)
GO

MSSQLはデータベースのコンテンツをキャッシュするため、キャッシュされていないテーブルを操作しているとき、または更新または挿入手順を実行しているときのみ、ダンプを検出できます。 同時に、接続されているクライアントの数によっては、データベース自体が疑わしい場合があります(データベースファイルが配置されているリソースを切断する場合を意味します)。 フラグを変更したsp_detachおよびsp_attachコマンドを使用して、ベースを上げることができます。 GUIから手でベースを上げることはできません。 フラグの値をレジストリに厳密に登録しても(Microsoftの推奨どおり)効果はありません。 したがって、注意してください。
接続されたデータベースの速度は、ネットワークインターフェイスの速度によって制限されるため、サーバー接続トポロジを事前に検討してください。
幸運と良好な接続:))

(C) Aborche 2009

Source: https://habr.com/ru/post/J58347/


All Articles