473,396 Members | 1,933 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

store db objects in *.ndf vs. *.mdf??

I am new to SS2005, and I've just started working on a small test/dev
database.

I recently read that one should store things like tables, views,
constraints, etc. in the *.ndf file rather than in the *.mdf file.

Does this make it any easier to transfer/copy files or databases or
other items from test/dev to production??

If I have a database already with items in the *.mdf file, how do I
transfer things like tables, constraints, views, etc. to an *.ndf file
in another database??

I also read that one can make it the default in SS2005 to store things
in the *.ndf file, how is this done??

Thank you,
Tom

Sep 25 '06 #1
5 4704
On 25 Sep 2006 12:13:23 -0700, tlyczko wrote:
>I am new to SS2005, and I've just started working on a small test/dev
database.

I recently read that one should store things like tables, views,
constraints, etc. in the *.ndf file rather than in the *.mdf file.

Does this make it any easier to transfer/copy files or databases or
other items from test/dev to production??

If I have a database already with items in the *.mdf file, how do I
transfer things like tables, constraints, views, etc. to an *.ndf file
in another database??

I also read that one can make it the default in SS2005 to store things
in the *.ndf file, how is this done??

Thank you,
Tom
Hi Tom,

I'd like to know where you've read this nonsense. For starters, views
and constraints are only stored as metadata. And even for tables, this
is an incorrect general rule.

Very experienced DBAs will sometimes use different filegroups, placed on
seperate spindles, either to tweak performance or to facilitate advanced
backup and recovery schemes for large DBs. This kind of tweaking is not
of the "all tables go to the *.ndf file (the second filegroup)" kind -
indeed, it involves carefully planning the location of each individual
object, based on typical usage patterns.

Beginning DBAs shouldn't worry about this. For now, making sure to place
your datafile (.mdf) on one spindle and the log file (.ldf) on another
spindle is a good start. Worry about diifferent filegroups when you have
plenty of experience and read and experimented enough to know what the
consequences of using different filegroups are.

--
Hugo Kornelis, SQL Server MVP
Sep 25 '06 #2

Hugo Kornelis wrote:
I'd like to know where you've read this nonsense. For starters, views
and constraints are only stored as metadata. And even for tables, this
is an incorrect general rule.
Thanks a lot for responding. :)

I'll try to find the reference, it was in a book about SS2005. The DB
isn't going to be large enough for a long long time to merit separate
locations for the data and log files, though.

Thank you, Tom

Sep 26 '06 #3
On 26 Sep 2006 05:14:45 -0700, tlyczko wrote:
>
Hugo Kornelis wrote:
>I'd like to know where you've read this nonsense. For starters, views
and constraints are only stored as metadata. And even for tables, this
is an incorrect general rule.

Thanks a lot for responding. :)

I'll try to find the reference, it was in a book about SS2005. The DB
isn't going to be large enough for a long long time to merit separate
locations for the data and log files, though.

Thank you, Tom
Hi Tom,

Seperate locations for data and log files are always good.

The data file requires lots of random access, i.e. lots of head
movement. Luckily, SQL Server buffers data read from the data file, so
recently used data doesn't have to be read from disk again. Writes are
buffered as well.

The log file is mainly written to. These writes have to be completed
before SQL Server will signal the client that an operation is finished.
So write performance on your log file is critical to performance. Since
all log writes are sequential, you can gain a lot of performance if you
have the log file on a dedicated disk - the heads hardly have to move
and you write performance is it the highest possible rate - increasing
the time to completion for yur transactions.

--
Hugo Kornelis, SQL Server MVP
Sep 26 '06 #4

Hugo Kornelis wrote:
Seperate locations for data and log files are always good.
The data file requires lots of random access, i.e. lots of head
movement. Luckily, SQL Server buffers data read from the data file, so
recently used data doesn't have to be read from disk again. Writes are
buffered as well.
The log file is mainly written to. These writes have to be completed
before SQL Server will signal the client that an operation is finished.
So write performance on your log file is critical to performance. Since
all log writes are sequential, you can gain a lot of performance if you
have the log file on a dedicated disk - the heads hardly have to move
and you write performance is it the highest possible rate - increasing
the time to completion for yur transactions.
Thank you for explaining...particularly to people like me new to this
software.
However, this test DB is only a few meg for now...it'won't grow very
fast.
We do however have a production SQL server though with Great Plains and
perhaps later another SQL-based app.
Is there any sort of general guideline as to what database size(s) that
this sort of thing becomes particularly important?? Such as DBs over 4
GB or over 6 GB for example??
Thank you, Tom

Sep 27 '06 #5
On 27 Sep 2006 06:09:06 -0700, tlyczko wrote:
>
Hugo Kornelis wrote:
>Seperate locations for data and log files are always good.
The data file requires lots of random access, i.e. lots of head
movement. Luckily, SQL Server buffers data read from the data file, so
recently used data doesn't have to be read from disk again. Writes are
buffered as well.
The log file is mainly written to. These writes have to be completed
before SQL Server will signal the client that an operation is finished.
So write performance on your log file is critical to performance. Since
all log writes are sequential, you can gain a lot of performance if you
have the log file on a dedicated disk - the heads hardly have to move
and you write performance is it the highest possible rate - increasing
the time to completion for yur transactions.

Thank you for explaining...particularly to people like me new to this
software.
However, this test DB is only a few meg for now...it'won't grow very
fast.
We do however have a production SQL server though with Great Plains and
perhaps later another SQL-based app.
Is there any sort of general guideline as to what database size(s) that
this sort of thing becomes particularly important?? Such as DBs over 4
GB or over 6 GB for example??
Thank you, Tom
Hi Tom,

Putting log on a seperate volume increases performance for databases
wiith high data modification rates. This is regardless of size. You can
have databases several TB in size with minimal update activity, or
databases of just a few MB with very high activity - the latter will
proit much more from data-log seperation than the former.

--
Hugo Kornelis, SQL Server MVP
Sep 28 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
by: Rolf Hemmerling | last post by:
Hello ! Beginner's question: What ist the easiest way to store and save objects in a file generated by a C++ program, by using the "standard C++ library" and/or "Standard Template Library (...
9
by: F. Da Costa | last post by:
Hi, Does anybody know why IE5+ does *not* honour array objects (like a table) across a session? Example: Frame A contains a var tableVar which is set via form Frame B (on init) using...
12
by: Sanjay | last post by:
hi, We are currently porting our project from VB6 to VB .NET. Earlier we used to make scale transformations on objects like pictureBox , forms etc.Now Such transformations are made on the...
7
by: Jenny | last post by:
Hi, I have a class foo which will construct some objects in my code. some of the objects store int values into the data deque, while others store float values to the deque. template <class...
0
by: Mark | last post by:
Hi all, I am just playing around with writing a simple space invaders game and was wondering what was the best way to store the layout of the "aliens". I am currently using a multi-dimensional...
2
by: Mel | last post by:
This may be a stupid question, but here goes... I have created a NameValueCollection in my website's application state. If, during a page request, I add a string key and string value to the...
3
by: ExclusiveResorts | last post by:
Can the CallContext be used reliably for storing request specific data? We are developing an application library that uses the CallContext to keep an IdentityMap (hashtable of business objects...
10
by: Craig Lister | last post by:
I'm a newbie.. I'm trying to list all files in a directory, and store them in a aFile object. As I iterate through each file, I store the size, name, path, date etc... How do I store them...
2
by: Alan Silver | last post by:
Hello, I am designing a form that allows people to request the formation of a limited company. When they fill in the form, they have to supply a certain amount of information relevant to their...
4
by: Tom | last post by:
I am trying to put together a system that involves 3 classes derived form a common base class, which is working fine. Except that I want to store them in a map and I find that I cannot do this...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.