MDF and LDF files on another machine


I have my LDF and MDF files on  machine 1 , but SQL Server is installed on Machine 2.  I would however like to be able to view this database on Machine 2 without installing SQL on Machine 1.  Is there any way I can create a linked server, or ever better actually view the data as a normal database on machine 1?

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


It is not possible to Have ur datafiles in one machine..and access the database from the other  Machine.

It Might be possibel if u r using SAN..
Nope, you need to attach them to Machine 2.  SQL Server will not let you attach files on a network share--it can't guarantee data integrity across a network....

kinton, did you need more help on this??

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

Dishan FernandoSoftware Engineer / DBACommented:
Q.     Can I create SQL Server databases on network drives?

A.  First ask yourself what your reason is for doing this?  Your performance
will almost certainly be degraded and any network glitches (which are far more
common than SCSI/fibre bus glitches) will cause a database corruption.  Putting
i/o's across a network (even a fast, switched, network) is typically slower
than via SCSI/fibre and the latency is a lot longer.  Network packet sizes are
much smaller than scsi packets giving less throughput and more cpu utilization
by the device drivers on the host.

If you do use a network drive then make sure you have a dedicated cross-over or
switched connection between the SQL Server box and the network drive machine
otherwise your performance will be further affected by contention with other
network traffic.

SQL Server currently has no concept of sharing a database that is held on
another server.  Only one server can access the database file at any one time -
the exception being that multiple SQL Servers could probably open a read-only
database on a shared-drive.  Therefore there is no advantage to having it on a
"network drive" - it can only be backed-up/accessed from the server running SQL
Server anyway.

If the reason for wanting SQL databases on a network drive is to keep all your
storage central, then you can't completely achieve that result this way as you
can't boot NT from a network drive, so you would still need disks in local
servers for NT, pagefiles etc.  And these should be protected via hardware raid
as the loss of an NT disk will prevent users getting at your databases just as
much as the loss of a disk containing the database itself.

Now saying that it IS possible to store databases on network drives as long as
SQL is fooled into thinking they are in fact local drives.  Under 6.5 you must
map a drive letter to a network share - UNC paths will not work.  With SQL 7.0
UNC paths will work as long as you use trace flag 1807.

There is more information on this in Q196904.  This describes the support being
allowed in SQL 7.0 for use against Network Appliance networked raid units only.
 Note that these will suffer the same performance penalties as if you were
accessing a network share on an NT box, as effectively that is what they are.  
These boxes run a proprietary operating system on an embedded Alpha chip that
talks the SMB protocol required to handle NT-style network file-io.  They can
be connected to almost any LAN/WAN infrastructure as they support all the
standard network types.

If you want centralised storage another method is to use a shared-SCSI/fibre
disk array - these can be attached to servers via SCSI or fibre connectors and
can achieve distances of up to 20Km using optical extenders.  These arrays can
support up to 64 or so separate servers and are sold by Digital (Compaq)
Storageworks and EMC amongst others.  Although it is a "single raid unit", each
server sees a physically separate set of "disks" - the partitioning logic in
the raid array can allow different servers to use the same physical disks but
they are logically partitioned and the different servers cannot see this and
see their storage as dedicated.  There is no sharing of data at the
partition/file/database level.

Another method is to use a SAN - storage area network.  These are fibre or
copper based "networks" of storage and/or backup devices.  The "network" is
dedicated for data access. Each attached device is usually fibre-channel based,
or is SCSI with an appropriate connector.  Each device may be able to be
partitioned into sets of available resources (disk/tape), but each resource can
currently only be allocated to a single server attached to the "network".  
Servers attach to a SAN with a SAN "nic" card.  As SAN technology matures it
may be possible to share resources between multiple servers, but this needs
changes to the NT kernel as well as the SAN/fibre drivers.

v1.07 2000.05.25
Applies to SQL Server versions  : All
FAQ Categories                  : Database Administration
Related FAQ articles            : n/a
Related Microsoft Kb articles   : Q196904 "Support for Network Database Files"
Other related information       : n/a
Authors                         : Neil Pike

 Neil Pike MVP/MCSE.  Protech Computing Ltd
 Reply here - no email
 SQL FAQ (484 entries) see
 ( in lib 7)
kintonAuthor Commented:
I've set the trace flag to 1807.  Now I use the following code to try and set up the database:

EXEC sp_attach_db @dbname = N'pubs',
   @filename1 = N'\\Callsync\Data\SoftSync_CallData_Data.mdf',
   @filename2 = N'\\Callsync\Data\SoftSync_CallData_Log.ldf'

However I get the following error messaage:

Server: Msg 5105, Level 16, State 4, Line 1
Device activation error. The physical file name '\\Callsync\Data\SoftSync_CallData_Data.mdf' may be incorrect.

I've checked the location and this is definately correct

Any ideas would be greatly appreciated?
dishanf, the following statement is incorrect  "SQL Server currently has no concept of sharing a database that is held on another server"

KINTON, do not try and connect to databases over the network--even with the traceflag.  This is not a support installation by Microsoft (unless you attach by SAN or NAS)....
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Storage Software

From novice to tech pro — start learning today.