MDF and LDF files on another machine

Posted on 2003-10-31
Medium Priority
Last Modified: 2013-11-15

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?

Question by:kinton
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 9658130

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..
LVL 34

Expert Comment

ID: 9658131
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....

LVL 34

Accepted Solution

arbert earned 750 total points
ID: 9663798
kinton, did you need more help on this??
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  


Assisted Solution

by:Dishan Fernando
Dishan Fernando earned 750 total points
ID: 9668988

Expert Comment

by:Dishan Fernando
ID: 9668993
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
 (faqxxx.zip in lib 7)
 or www.ntfaq.com/Articles/Index.cfm?DepartmentID=800
 or www.sqlserverfaq.com
 or www.mssqlserver.com/faq

Author Comment

ID: 9670496
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?
LVL 34

Expert Comment

ID: 9670934
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)....

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
Backups and Disaster RecoveryIn this post, we’ll look at strategies for backups and disaster recovery.
This tutorial will walk an individual through the steps necessary to enable the VMware\Hyper-V licensed feature of Backup Exec 2012. In addition, how to add a VMware server and configure a backup job. The first step is to acquire the necessary licen…
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question