Skip to main content

How to Identify the Database Files in SQL Server

In SQL Server programming context, each database is stored as a set of files on the hard disk of the computer. These files may be of following types including

Primary data file

The primary data file contains the database objects. The primary file can be used for the system tables and objects, and the secondary file can be used to store user data and objects. The primary data file has (.mdf) extension.

Secondary data file

The secondary data file also stores the database objects. Very large databases may need multiple secondary data files spread across multiple disks. Databases need not have secondary data files, if the primary data file is large enough to hold all the data in the database. The secondary data file has (.ndf) extension.

Transaction log file

The transaction log file records all modifications that have occurred in the database and the transactions that caused those modifications. At least one transaction log file holds all the transaction’s information and can be used to recover a database. At least one transaction log file must exist for a database. There can be more than one transaction log file. The minimum size of a transaction log file is 512K. The size of the transaction log file should be 25 – 40 percent of the size of the database. The log file have an (.Idf) extension.
A database must consist of a primary data file and one transaction log file.
The database files are stored in filegroups. A filegroup is a collection of files. A database comprises a primary filegroup and any user-defined filegroup. A primary filegroup contains the primary data file and any other files that are not put into any other filegroup. The primary filegroup also contains the system database. When objects are created in the database without specifying the filegroup, they are assigned to the default filegroup. Only one filegroup in a database can be the default filegroup.

A user-defined filegroup is a filegroup that is created by users. You can create filegroups to distribute the data amongst more than one filegroups to improve the performance of database.


Popular posts from this blog

difference between structure and union in C Language

In c language article we will see the difference between union and structure. Both are the user define datatype in c language. See the table which is mentioned below: ASP.NET Video Tutorial Series Structure Union1.The keywordstruct is used to define a structure 1. The keyword union is used to define a union. 2. When a variable is associated with a structure, the compiler allocates the memory for each member. The size of structure is greater than or equal to the sum ofsizes of its members. The smaller members may end with unused slack bytes. 2. When a variable is associated with a union, thecompiler allocates thememory by considering the size of the largest memory. So, size of union is equal to the size of largest member. 3. Each member within a structure is assigned unique storage area of location. 3. Memory allocated is shared by individual members of union. 4. The address of each member will be in ascending order This indicates that memory for each member will start at different offset v…

Difference between Linear search and Binary Search in c language

SQL Video Channel : Download all SQL Video

Binary Search Linear Search Works only on sorted items. such as  1,2,3,4,5,6  etc
Works on sorted as well as unsorted items. 12,4,5,3,2,1 etc Very efficient if the items are sorted Very efficient if the items are less and present in the beginning of the list. such as Suppose your list items are : 12,3,4,5,1 and you want to search 12 number then you get beginning in the list. Works well with arrays and not on linked lists. Works with arrays and linked lists.
Number of comparisons are less More number of comparisons are required if the items are present in the later part of the array or its elements are more.

Memory representation of Linked List Data Structures in C Language

Memory representation of Linked List

             In memory the linked list is stored in scattered cells (locations).The memory for each node is allocated dynamically means as and when required. So the Linked List can increase as per the user wish and the size is not fixed, it can vary.

               Suppose first node of linked list is allocated with an address 1008. Its graphical representation looks like the figure shown below:

      Suppose next node is allocated at an address 506, so the list becomes,

  Suppose next node is allocated with an address with an address 10,s the list become,

The other way to represent the linked list is as shown below:

 In the above representation the data stored in the linked list is “INDIA”, the information part of each node contains one character. The external pointer root points to first node’s address 1005. The link part of the node containing information I contains 1007, the address of next node. The last node …