This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
In today's competitive environment, an organization needs a secure, reliable, and productive data platform for its business applications. SQL Server provides a platform to build and manage data applications. In addition, it combines data analysis, reporting, integration, and notification services that enable organizations to build and deploy efficient Business Intelligence (BI) solutions.
This chapter discusses the importance of a database server. In addition, it provides an overview of SQL Server, its components, and features. Further, this chapter introduces the Structured Query Language (SQL) that is used to manipulate the data in a database server. Lastly, it discusses the tools provided by SQL Server to improve the productivity of the database developer and manage the server.
In this chapter, you will learn to:
Appreciate SQL Server as a database server
Identify the SQL Server tools
Introduction to SQL Server
Every organization needs to maintain information related to employees, customers, business partners, or business transactions. Organizations build business applications with a user-friendly interface to store and manipulate this information and to generate reports. For this, they need a platform to store and maintain this information in an efficient way. Various Database Management Systems (DBMS) and Relational Database Management Systems (RDBMS), such as SQL Server, Oracle, and Sybase, provide the platforms for storing and maintaining this information.
SQL Server is a data engine introduced by Microsoft. It provides an environment used to create and manage databases. It allows secure and efficient storage and management of data. In addition, it provides other components and services that support the business intelligence platform to generate reports and help in analyzing historical data and predicting future trends.
As a database developer, it is important for you to identify the role of a database server in an organization. You can design a database effectively if you know all the components and services of SQL Server. In addition, you need to understand the basics of SQL, a language that is used to query and manage data.
Role of a Database Server
Organizations have always been storing and managing business data. Earlier, organizations used to store data on paper. With an increase in the usage of computers, organizations started maintaining the same information in computers. Data was stored in an organized way, and it was also easy to retrieve data faster than before. As data retrieval became easy and fast, organizations startedÂ using business applications to support the business operations.
Business applications accept data as input, process the data based on business requirements, and provide data or information as output. For example, an application maintains the details of the number of cars sold for a particular brand, such as Ferrari. Each car has a unique identification number that is already stored in an application. Whenever a sale happens, the application checks whether the unique identification number provided for the car is correct or not. If the unique identification number is correct then the sale details for the same is updated in the application. The data is saved and an output message confirming that the data has been saved is displayed to the user. This process of checking whether the unique identification number exists in the system or not is called a business rule.
Consider another scenario. The Human Resource department of an organization uses an application to manage the employee data. The users need to add the details of new employees. For this, the application provides an interface to enter the employee details. These details are validated for accuracy based on business rules. For example, a business rule is defined to check that the date of joining of the new employee is less than or equal to the current date. If the data meets the requirements, it is saved in the data store.
Based on the preceding scenario, a business application can have the following elements:
The User Interface (UI) or the presentation element through which data is entered.
The application logic or the business rule element, which helps in validating the entered data.
The data storage or the data management element, which manages the storage and retrieval of data.
These elements form the base of the models or architectures used in application development. All these elements can exist on the same computer as a single process or on different computers as different processes. Depending on the placement of these elements, the application architecture can be categorized as:
In a single-tier architecture, all elements of a business application are combined as a single process. If multiple users need to work on this application then it needs to be installed on the computer of every user. This type of architecture has one disadvantage. In case some errors are identified in the application then after rectifying the same, the application has to be installed again on the system of every user. This is a time-consuming process.
To solve the problems of single-tier application, two-tier architecture was introduced. In two-tier architecture, the application is divided into two parts. One part handles the data, while the other provides the user interface. Therefore, this architecture is called two-tier architecture. These two parts can be located on a single computer or on separate computers over a network.
The part that handles the UI is called the client tier. The part that implements the application logic and validates the input data based on the business rules is called the server tier, as shown in the following figure.
A Two-Tier Architecture
In this architecture, the maintenance, upgrade, and general administration of data is easier, as it exists only on the server and not on all the clients.
A two-tier architecture is also called the client-server architecture. A client sends the request for a service and a server provides that service. Most RDBMSs, such as Microsoft Access, SQL Server, and Oracle, support client-server architecture. RDBMS provides centralized functionality while supporting many users.
When implementing complex business solutions in a two-tier architecture, the tier on which the business logic is implemented becomes over loaded. As a result, it takes more time to execute. Therefore, to provide further flexibility, the two-tier architecture can be split into three tiers. In three-tier architecture, the first tier is the client tier. The second or the middle tier is called the business tier. The third tier is called the server tier. The server tier contains a database server that manages the data.
In this architecture, an additional tier called a business tier has been added between the client tier and the server tier, as shown in the following figure.
A Three-Tier Client/Server Architecture
The business tier consists of all the business rules. It consists of the application logic that implements business rules and validates the data. The advantage of a three-tier application is that it allows you to change the business rules without affecting the other two tiers.
For example, in a banking application for loans, the user tier is the front-end used by the customer to specify the loan details. The server tier can consist of an RDBMS in which the data is stored. The business tier lies between the other two tiers and consists of business rules, such as the loan limit and the interest rate charged to a customer. If there is a change in the rate of interest, only the middle tier component needs to be modified.
As the business complexities increased, the business tier became larger and unmanageable. This led to the evolution of n-tier architecture, where the business services model was divided into smaller manageable units. N-tier architecture is also called a multi-tier architecture.
In this architecture, one component near the client tier is responsible to do the client side validation and send the data to the presentation tier. Therefore, it is possible to keep the UI-centric processing component on a computer near the client. The UI-centric processing component is responsible for processing the data retrieved from and sent to the presentation tier. In addition, you may have another component near the database server to manipulate and validate the data. You can keep the data-centric processing components on another computer near the database server, so that you gain significant performance benefits. Data-centric processing components are responsible for accessing the data tier to retrieve, modify, and delete data to and from the database server.
The n-tier architecture consists of the following layers:
UI-centric processing components
Data-centric processing objects
The banking application, when further expanded, can represent an example of nâ€‘tier architecture. The client tier would consist of the user interface, which would include the user interface controls, such as forms, menus, and toolbars. The server tier would consist of data-handling including saving data to the database server.
The business logic would include the rules and guidelines for different types of accounts, interest rates, fixed deposits, ATMs, and loan rules. All of these would form the middle tier. However, there would be some rules that need to be implemented both on the user interface and on the database. You can place these rules either on the UI-centric processing components or data-centric processing components, based on the functionality.
Applications that follow multi-tier architecture can be used across various locations. For example, in Web applications, an application is stored on the Web server. The clients access the application from any location through a browser. The clients make requests to the Web server and receive responses.
The following figure shows the architecture of the Web applications.
The Architecture of the Web Applications
Depending on the type of business rules, the applications can be implemented on any of the tiers, such as Web clients, Web server, or the database server.
To provide support to applications where users can send requests simultaneously, the database server needs to be fast, reliable, and secure. SQL Server is one such complete database platform that provides a fast, reliable, and secure RDBMS. It also helps in data analysis with integrated BI tools. The BI tools are used to prepare reports that are analyzed further to make efficient business decisions.
SQL Server Components
SQL Server contains a number of components. Each component provides specific services and support to the clients connected to the server.
The following figure displays the components of SQL Server.
The Components of SQL Server
As shown in the preceding figure, SQL Server consists of the following core components:
A database engine provides support to store, query, process, and secure data on a database server. It allows you to create and manage database objects, such as tables, views, stored procedure, and triggers. Apart from providing support for data management, a database engine also provides the following background services:
Service Broker: Provides support for asynchronous communication between clients and the database server, enabling reliable query processing. The client application sends a request to the database server and continues to work. These requests are queued up at the server in case the server is not available to process the request immediately. A Service Broker ensures that the request is processed whenever the server is available.
The following figure shows the implementation of Service Broker in the order processing system.
The Implementation of Service Broker in the Order Processing System
The preceding figure describes the example of the order processing system. The client applications are sending orders to the database server to enter the order details. All these orders are placed in a queue, which is managed by the Service Broker.
Replication: Allows you to copy and distribute data and database objects from one database server to another. These servers can be located at remote locations to provide fast access to users at widely distributed locations. After replicating data, SQL Server allows you to synchronize different databases to maintain data consistency. For example, the database servers for your organization might be located at different locations around the world, but all the servers store common data. To ensure that the data in all the servers is synchronized, you can implement data replication. Replication follows the publisher/subscriber model. In this model, the changes are sent out by one database server ("publisher") and are received by others ("subscribers").
The following figure depicts the replication process.
The Replication Process
In the preceding figure, articles are the database objects to be replicated. These articles are stored in a database called publication and are located on the publisher server. The distributor server takes the publications from the publisher server and distributes them to the subscribers.
Full-text search: Allows you to implement fast and intelligent search in large databases. It allows you to search records containing certain words and phrases. You can search for different forms of a specific word, such as 'produce', 'produces', or 'production'. In addition, you can search for synonyms of a given word, such as 'garment', 'cloth', or 'fabric'.
Notification services: Allow you to generate and send notification messages to the users or administrators about any event. For example, the database administrator should be notified when a table is created or deleted. The notification messages can be sent to a variety of devices, such as computers or mobile devices. Notification service is a platform for developing and deploying highly scalable notification applications. It allows developers to build notification applications that send timely, personalized information updates, helping to enhance customer relationships. For example, a brokerage firm sends stock and fund prices based on the customer's preferences.
Data in different sources might be stored in different formats and structures. Integration services allow you to gather and integrate this varied data in a consistent format in a common database called the data warehouse. A data warehouse consists of integrated databases, which can be a DBMS, text files, or flat files. A data warehouse is similar to a physical warehouse that stores raw material or products for further distribution. The organization does not store useless materials or products in its warehouse because it costs money and affects the ability to get products in and out of the warehouse. Similarly, a data warehouse should not contain useless data. The data should be meaningful so that it could be processed quickly. A data warehouse is a large central repository of data that helps in decision-making.
Consider a telecommunications company, where the CEO notices that the frequency of cancellation of services by its customers in the past one year has increased considerably. The company is unable to analyze the service preferences of the customers because data is scattered across disparate data sources. These data sources contain data spanning two decades. In such a case, a data warehouse can be implemented to integrate two decades of historical data from disparate data sources. The integrated data will provide a holistic view of the customers to the CEO.
SQL Server Integration Services (SSIS) Import and Export Wizard provides a series of dialogs to help you complete the process of selecting the data source, the destination, and the objects that will be transferred to create a data warehouse.
Data warehouses are designed to facilitate reporting and analysis. Enterprises are increasingly using data stored in data warehouses for analytical purposes to assist them in making quick business decisions. The applications used for such analysis are termed as BI applications. Data analysis assists in determining past trends and formulating future business decisions. This type of analysis requires a large volume of data to reach a consistent level of sampling.
In the telecommunications company scenario, with the help of the analysis tools querying on the data warehouse, the CEO can identify the customers who are canceling their services. The company can then use this information to provide attractive offers to the identified customers and build loyalty. This kind of information analysis proves to be beneficial to the enterprise in the long run. The enterprise can retain its customers by offering loyalty programs and schemes on the basis of analysis on the historical data.
Consider another example of a soft drink manufacturer that uses data of the past few years to forecast the quantity of bottles to be manufactured in the current month. These forecasts are based on various parameters, such as the average temperature during the last few years, purchasing capacity of the customers, age group of the customers, and past trends of consumption. The requirements for such an analysis include:
A large volume of data
Historical data, that is, data stored over a period of time
Therefore, analysis services help in data analysis in a BI application. Microsoft SQL Server Analysis Services (SSAS) provide Online Analytical Processing (OLAP) for BI applications. OLAP arranges the data in the data warehouse in an easily accessible format. This technology enables data warehouse to do online analysis of the data.
Reporting services provide support to generate complete reports on data in the database engine or in the data warehouse. These services provide a set of tools that help in creating and managing different types of reports in different formats. Using these services, you can create centralized reports that can be saved to a common server. Reporting services provide secure and restricted access to these reports.
Microsoft SQL Server Reporting Services (SSRS) help in creating Web-based reports based on the content stored in a variety of data sources. You can also publish these reports in different formats.
The following figure shows the usage of the various SQL Server core components in a BI application.
The Core Components of SQL Server
SQL Server Integration with the .NET Framework
Microsoft SQL Server is integrated with the .NET Framework, as shown in the following figure.
Integration of SQL Server with the .NET Framework
The .NET Framework is an environment used to build, deploy, and run business applications. These applications can be built in various programming languages supported by the .NET Framework. It has its own collection of services and classes. It exists as a layer between the .NET applications and the underlying operating system.
SQL Server uses various services provided by the .NET Framework. For example, the notification services component is based on the .NET Framework. This component uses the .NET Framework services to generate and send notification messages.
The .NET Framework is also designed to make improvements in code reuse, code specialization, resource management, multilanguage development, security, deployment, and administration. Therefore, it helps bridge the gap of interoperability between different applications.
The .NET Framework consists of the following components:
Development tools and languages
Base class library
Common Language Runtime (CLR)
Development Tools and Languages
Development tools and languages are used to create the interface for the Windows forms, Web forms, and console applications. The tools include Visual Studio and Visual C# Developer. The languages that can be used are Visual Basic.NET, C#, or F#. These components are based on the .NET Framework base classes. These tools also enable you to create database-related codes and objects without switching to the SQL Server database engine. This enables you to work with database objects quickly and easily.
Base Class Library
The .NET Framework consists of a class library that acts as a base for any .NET language, such as Visual Basic, .NET, and C#. This class library is built on the object-oriented nature of the runtime. It provides classes that can be used in the code to accomplish a range of common programming tasks, such as string management, data collection, database connectivity, and file access. In addition, it enables you to connect with a database and generate scripts or create queries for accessing data.
CLR is one of the most essential components of the .NET Framework. It provides an environment for the application to run. CLR or the runtime provides functionalities, such as exception handling, security, debugging, and versioning support to the applications.
Some of the features provided by CLR are:
Automatic memory management: Allocates and de-allocates memory to the application as and when required.
Standard type system: Provides a set of common data types in the form of Common Type System (CTS). This means that the size of integer and long variables is the same across all programming languages.
Language interoperability: Provides the ability of an application to interact with another application written in a different programming language. This also helps maximize code reuse.
Platform independence: Allows execution of a code from any platform that supports the .NET CLR.
Security management: Applies restrictions on the code to access the resources of a computer.
CLR can host a variety of languages. It offers a common set of tools across these languages, ensuring interoperability between the codes. The code developed with a language compiler that targets CLR is called a managed code.
Alternatively, the code that is developed without considering the rules and requirements of the common language runtime is called unmanaged code. Unmanaged code executes in the common language runtime environment with minimal services. For example, unmanaged code may run with limited debugging and without the garbage collection process.
With CLR integration in SQL Server, you can implement programming logics that involve complex operations in the database by using the programs written in any of the .NET-supported languages. CLR integration allows you to create objects in a
.NET-supported language and embed these objects in the database. You can embed the .NET code in database objects such as stored procedure, function, or trigger. Such a database object is called a managed database object.
Features of SQL Server
The components of SQL Server help improve the database management and developer productivity by the following features of SQL Server:
Built-in support for Extensible Markup Language (XML) data: Allows you to store and manage XML data in variables or columns of the XML data type. The XML feature of SQL Server enables you to write code to retrieve data from the database in the form of XML. In addition, it allows you to read an XML document and store the XML data in the database.
CLR integration: Allows you to use the CLR features of .NET Framework in the SQL Server database. It enables you to use the code written in any of the .NET supported languages for implementing complex programming logics in the database. For example, you need to write a code for the verification of the credit card number entered by the user. It will be complex to write the code for the verification of the credit card number in T-SQL. However, the same code can be written effectively using a .NET programming language. Therefore, you can write the code in a .NET programming language and use that code in SQL Server to verify the credit card information.
Scalability: Allows you to distribute the data in large tables into several filegroups. This enables SQL Server to access all the filegroups simultaneously and retrieve the data quickly. This makes the database scalable and helps improve the performance of queries.
Service-oriented architecture: Provides distributed, asynchronous application framework for large-scale applications. This allows the database clients to send requests to the database server even if the server is not available to process the request immediately.
Support for Web services: Allows you to provide direct access to the data from the Web services by implementing the HTTP endpoints. For example, sales executives of an organization need to access the data on the database server through their Personal Desktop Assistant (PDA) devices. However, providing direct access from a PDA device to the database server involves a high cost. Therefore, organization can implement Web services through which each sales executive can log the sales details online from anywhere using any device.
High level of security: Implements high security by enforcing policies for log on passwords. Administrators can also manage permissions on database objects granted to different users.
High availability: Ensures that the database server is available to all users at all times. This reduces the downtime of the server. In SQL Server, high availability is implemented with the help of database mirroring, failover clustering, and database snapshots.
Support for data migration and analysis: Provides tools to migrate data from different data sources to a common database. In addition, it allows building the data warehouse on this data that can support BI applications for data analysis and decision-making.
Intellisense: Provides the feature of auto completion of code written to create or manipulate database objects in the Query Editor window.
Policy-based management: Used to define a set of policies for configuring and managing SQL Server. For example, you can define a policy to set a naming convention for tables and stored procedures. When a user tries to create a table, the table name must map with the naming convention defined in the policy, else an error will be raised.
Resource governor: Used to manage the workload of SQL Server by allocating and managing the server resources, such as CPU time and memory. The resource pool represents the server resource. You can specify the minimum and maximum values of the CPU and memory utilization in a resource pool. These resources are used for running and performing various assigned tasks in SQL Server.
As a database developer, you need to manage the database to store, access, and modify data. SQL is the core language used to perform these operations on the data. SQL, pronounced as "sequel", is a language that is used to manage data in an RDBMS. This language was developed by IBM in the 1970s. It follows the International Organization for Standardization (ISO) and American National Standards Institute (ANSI) standards.
Most database systems have created customized versions of the SQL language. For example, Transact-SQL (T-SQL) is a scripting language used in SQL Server for programming. The applications may have different user interfaces but have a common way to communicate with SQL Server by sending T-SQL statements to the server.
The SQL statements can be divided into the following categories:
Data Definition Language (DDL): Is used to define the database, data types, structures, and constraints on the data. Some of the DDL statements are:
CREATE: Used to create a new database object, such as a table.
ALTER: Used to modify the database objects.
DROP: Used to delete the objects.
Data Manipulation Language (DML): Is used to manipulate the data in database objects. Some of the DML statements are:
INSERT: Used to insert a new data record in a table.
UPDATE: Used to modify an existing record in a table.
DELETE: Used to delete a record from a table.
Data Control Language (DCL): Is used to control the data access in the database. Some of the DCL statements are:
GRANT: Used to assign permissions to users to access a database object.
REVOKE: Used to deny permissions to users to access a database object.
Data Query Language (DQL): Is used to query data from database objects. SELECT is the DQL statement that is used to select data from the database in different ways and formats.
SQL is not a case-sensitive language. Therefore, you can write the statements in any case, lowercase or uppercase. For example, you can use the SELECT statement in lowercase as 'select' or in title case as 'Select'.
Just a minute:
Which of the following features of SQL Server allows the developers to implement their programming logic in any language supported by the .NET Framework?
Support for data migration
3. CLR integration
Identifying SQL Server Tools
SQL Server provides various tools that help improve the efficiency of database developers. SQL Server Management Studio is one such tool that helps in creating and maintaining database objects. SQL Server Business Intelligence Development Studio is another tool that helps in creating and implementing BI solutions. SQL Server also provides tools, such as Database Engine Tuning Advisor and SQL Server Configuration Manager that help the database administrator in configuring the server and optimizing its performance.
Before you start working on SQL Server, it is important to identify the various tools and their features provided by SQL Server.
SQL Server Management Studio
SQL Server Management Studio is a powerful tool associated with SQL Server. It provides a simple and integrated environment for developing and managing the SQL Server database objects. The various components of SQL Server Management Studio, such as query editor, object explorer, and solution explorer are used to create, store and execute queries. SQL Server Management Studio provides the facility to view the execution plans of queries in different formats.
The following table lists the main components of the SQL Server Management Studio interface.
An Object Explorer window provides the ability to register, browse, and manage servers. Using Object Explorer, you can also create, browse, and manage server components. The Explorer allows you to configure the following components:
Security: Used to create login and users, and to assign permissions.
Replication: Used to create and manage publishers and subscribers.
SQL Server Agent: Used to automate administrative tasks by creating and managing jobs, alerts, and operators.
Management: Used to configure Distributed Transaction Coordinator, Database Mail service, or SQL Server logs. In addition, it is used for managing policies and governing resources of SQL Server.
Server Objects: Used to create and manage backups, endpoints, and triggers.
Object Explorer Details
The Object Explorer Details provide the detailed description of all the objects in SQL Server.
The Registered Servers window displays all the servers registered with the management studio. It also helps record connection information for each registered server including the authentication type, default database, network protocol characteristics, encryption, and time-out parameters.
The Solution Explorer window provides an organized view of your projects and files. In this explorer, you can right-click on a project or file to manage or set their properties.
The Query Editor window provides the ability to execute queries written in T-SQL. It can be invoked by selecting the New Query option from the File menu or the New Query button from the Standard toolbar.
The Template Explorer window provides a set of templates of SQL queries to perform standard database operations. You can use these queries to reduce the time spent in creating queries.
The Dynamic Help window is available from the Help menu of SQL Server Management Studio. This tool automatically displays links to relevant information while users work in the Management Studio environment.
The Components of the SQL Server Management Studio Interface
Task 1.1: Opening SQL Server Management Studio
SQL Server Business Intelligence Development Studio
SQL Server Business Intelligence Development Studio is a tool that is based on Visual Studio and provides an environment to develop business intelligence solutions. These solutions are based on the data that was generated in the organization and helps in business forecasting and making strategic decisions and future plans.
Business Intelligence Development Studio helps build the following types of solutions:
Data integration: The integration services allow you to build solutions that integrate data from various data sources and store them in a common data warehouse.
Data analysis: The analysis services help to analyze the data stored in the data warehouse.
Data reporting: The reporting services allow you to build reports in different formats that are based on the data warehouse.
Business Intelligence Development Studio contains templates, tools, and wizards to work with objects that you can use to create business intelligence solutions.
Database Engine Tuning Advisor
Database Engine Tuning Advisor helps database administrators to analyze and tune the performance of the server. To analyze the performance of the server, the administrator can execute a set of T-SQL statements against a database. After analyzing the performance of these statements, the tool provides recommendations to add, remove, or modify database objects, such as indexes or indexed views to improve performance. These recommendations help in executing the given T-SQL statements in the minimum possible time.
SQL Server Configuration Manager
SQL Server Configuration Manager helps the database administrators to manage the services associated with SQL Server. These services include SQL Server Agent, SQL Server Analysis Services, SQL Server Reporting Services, SQL Server Integration Services, and SQL Server Browser service. Administrators can start, pause, resume, or stop these services by using this tool. In addition, it allows you to configure certain properties, such as server alias, network protocols, and connection parameters.
In addition, the tool allows you to manage the network connectivity configuration from the SQL Server client computers. It allows you to specify the protocols through which the client computers can connect to the server.
SQL Server Profiler
SQL Server profiler helps in monitoring the events, such as login connections, execution of DML statements, stored procedures, batches, and security permission checks that are generated within an instance of a database engine. Data captured from these events are used for analysis purposes. In addition, Server Profiler provides an in depth view of the query submission, access of the database against the queries, and return of results after processing of queries. By using SQL Server Profiler, database can be changed and the outcomes of the changes on different database objects are analyzed.
Just a minute:
Which of the following windows of SQL Server Management Studio is used to automate administrative tasks by creating and managing jobs, alerts, and operators?
1. Object Explorer
Which of the following components of SQL Server is used to copy and distribute data and database objects from one database server to another?
List the features of SQL Server.
What is SQL?
What is the use of the DCL statements?
In what ways can you use the Object Explorer window of SQL Server Management Studio?
What is the use of the Template Explorer?
Which tools are used to manage SQL Server?
How can you ensure high availability of the SQL Server database server?
In this chapter, you learned that:
A business application can have three elements: user interface, business logic, and data storage.
A database server is used to store and manage the database in a business application.
SQL Server consists of the four core components: database engine, integration services, analysis services, and reporting services.
A database engine provides support to store, query, process, and secure data on a database server. Integration services allow you to gather and integrate this varied data in a consistent format in a common database called the data warehouse.
Analysis services assist in determining past trends and formulating future business decisions.
Reporting services provide support to generate comprehensive reports on the data stored in the database engine or the data warehouse.
Microsoft SQL Server is integrated with the .NET Framework.
The .NET Framework is an environment used to build, deploy, and run business applications.
The .NET Framework consists of three components: development tools and languages, base class library, and CLR.
SQL Server provides the following benefits:
Built-in support for XML data
Support for Web services
High level of security
Support for data migration and analysis
DDL: To create and manage database objects.
DML: To store and manage data in database objects.
DCL: To allow or deny access to database objects.
DQL: To query data from database objects.
SQL Server provides the following tools to improve the efficiency of the database developers and manage the server:
SQL Server Management Studio
SQL Server Business Intelligence Development Studio
Database Engine Tuning Advisor
SQL Server Configuration Manager
SQL Server Profiler