۲۴ فروردین ۱۳۸۷

Microsoft Server No.5

Microsoft Office SharePoint Server

Microsoft Office SharePoint Server (MOSS), is part of SharePoint, and runs on top of WSS, and builds on it by adding both core features as well as end user web parts to it. Its main strength is enabling an organization’s information to be organized and aggregated in one central, web-based application and provide a taxonomy for corporate data. MOSS integrates closely with applications in the Microsoft Office suite and adds various features such as hierarchical organization of content areas, enhanced navigation, Single Sign On, personalization features, indexed search, the Business Data Catalog, and in-browser rendering and, in certain cases, editing of Microsoft Office documents. It can also be used to create specialized document-specific libraries, such as Microsoft PowerPoint slide libraries, which can be used to share not only specific slides from a presentation but their design as well. The latest version, MOSS 2007, improves over its predecessor, SPS 2003, in integrating with Microsoft Office applications, enterprise content management (with the integration of Microsoft Content Management Server into MOSS), Enterprise Search, web content management, more specialized document management, records management, Web 2.0 collaboration functionality like blogs and wikis, delivery of information stored in SharePoint via RSS, and the ability to take content and lists offline with Outlook 2007 and Microsoft Access. A MOSS application can abstract multiple WSS sites under the covers.     


MOSS 2007 also comes with two other specific installations:
     SharePoint Server for Search, which exposes only the indexed search Enterprise search      capabilities.
     Microsoft Office Forms Server, which is a stand-alone installation of the Infopath Forms      Services feature.


Architecture

The architecture is composed of Web Server front ends running the WSS application with MOSS plugging-in functionality where required, generally a search service which crawls the data store creating an index, a number of other services, and the database back-end, a standard enterprise architecture.
As such it can be built out by load balancing more web servers on the front end and building larger clusters of SQL Server on the back-end. Though recommended to be installed on physical machines, virtualization has been used with MOSS and the previous marks to create this architecture, though not officially supported at the time of writing.
SharePoint allows administrators to create Web Applications each on its own port. A separate web application on a separate port can contain site collections, each having its own database in SQL Server. Site collections can have sites which can contain subsites. A web server can contain hundreds of site collections.
One of the weaknesses of the tool is its own ease of use. Administrators may be tempted to start one port 80 and build a single site collection with sub-sites underneath, exposed to the company as a home page and sub-pages. Though this makes logical sense for a large organization or one with bespoke portals using custom Web Parts or Forms Server, it can cause problems. All the sites in a site collection will be stored in the same database, which can become too large to effectively back-up. Moreover, bespoke development using the same Web Application and Application pool can bring a company-wide internet down.
MOSS 2007 also allows content types and document libraries to have information management policies, which allows the triggering of workflow or deletion of information after a certain fixed event or time period, helping to reduce many of the size-growth problems of earlier versions.


Features
Office 2007 integration
MOSS integrates closely with Microsoft Office applications. It can render Microsoft Office documents in web pages. In addition, with the proper server side infrastructure, it can allow the documents to be edited from within the browser as well. For other document types in a document library, Microsoft Office applications can directly edit the document in the document library. This feature is available for Microsoft Excel and Microsoft InfoPath. Using Excel Services, MOSS can allow Excel 2007 workbooks to be loaded, edited, and displayed in a SharePoint page. All calculations happen on the MOSS server. MOSS can also host and render Microsoft InfoPath forms using the Infopath Forms Services to have it viewed and filled out using a browser.  

Microsoft Office Outlook can also be used for accessing and synchronizing SharePoint document libraries. On connecting a document library with Outlook, the library will be listed in the navigation pane, and the files in it will be listed along with certain metadata such as author. Compatible Microsoft Office documents will be previewed in the preview pane and Microsoft Office Outlook search bars can be used to search the libraries as well. The search entered using the Outlook bar will be federated to the SharePoint server, and the results will be displayed in Outlook itself. By synchronizing a document library, Outlook can make the files available offline, which can be opened and edited using other Microsoft Office 2007 applications; the changes will be synchronized back to the SharePoint library by Outlook.

While it is not necessary to use Microsoft Office 2007 to take advantage of the integration with the Microsoft Office suite, it offers the most integration with MOSS 2007. A few examples of the improved integration with Office 2007 include:
   2-way synchronization of Outlook Calendar and SharePoint Calendar.
   Overlaying a SharePoint Calendar on top of user's Outlook 2007 Calendar.
   SharePoint Task-Assignment Synchronization into user's Outlook Task List.
   Offline Synchronization of SharePoint Documents.
   Viewing SharePoint RSS feeds through Microsoft Office Outlook
   Display of Meta-data values for a given document type in the Office Ribbon as a user is editing    a document from a document library.

See Also THIS
Watch this

Microsoft Server No.4


 
Live Communications Server


Microsoft Office Communications Server , is an enterprise real-time communications server, providing the infrastucture to allow instant messaging, presence, audio-video conferencing and web conferencing functionality.  


Client Software
Microsoft Office Communicator 2007 (MOC07) and LiveMeeting console are the client side applications paired for use with OCS 2007. Microsoft Office Communicator leverages the OCS server to find, monitor, and communicate (instant messages, presence, telephony)with other users within an organization.

Features
One basic use of Office Communications Server is instant messaging and presence within a single organization. This includes support for rich presence information, file transfer, instant messaging as well as voice and video communication. (These latter features are often not possible even within a single organisation using public IM clients, due to the effects of negotiating the corporate firewall and Network Address Translation).
OCS 2007 also supports remote users, both corporate users on the internet (e.g. home workers) as well as users in partner companies. OCS 2007 supports "federation" - enabling interoperability with other corporate IM networks. Federation can be configured either manually (where each partner manually configures the relevant edge servers in the other org) or based on use of the appropriate SRV records in the DNS.
Microsoft Office Communications Server uses the Session Initiation Protocol (SIP) for signaling along with the SIMPLE extensions to SIP for IM and presence. Media is transferred using RTP/SRTP. The Live Meeting client uses PSOM to download meeting content. The Communicator client also uses HTTPS to connect with the web components server to download address books, expand distribution lists, etc. By default, Office Communications Server encrypts all signaling and media traffic using SIP over TLS and SRTP. There is one exception to this - traffic between the Mediation Server and a basic media gateway is carried as SIP over TCP and RTP. 

Compliance
OCS 2007 also has the capability to log and archive all instant message traffic passing through the server and to create Call Detail Records for conferences and voice. These features provide a measure of compliance, increasingly a legal requirement for many organizations, however the Archiving server is not an overall end-to-end compliance solution. Archiving requires you to install the Archiving Server and to configure front end servers accordingly.

Public IM Connectivity (PIC)
OCS 2007 also enables organizations to interoperate with the three of public IM providers: AOL, MSN, and Yahoo. PIC was first introduced with Service Pack 1 for Live Communications Server 2005, PIC is licensed separately.

Previous Versions
2007 - Office Communications Server 2007
2006 - Live Communications Server 2005 with SP1
2005 - Live Communications Server 2005
2003 - Live Communications Server 2003

See Also THIS
Ebook

Microsoft Server No.3

Microsoft Office Project Server

Microsoft Office Project Server is a project management server solution made by Microsoft.
With Microsoft Office Project Server and its clients, your organization can more effectively manage and coordinate work ranging from one-time projects to complex programs across the entire project life cycle. Office Project Server is designed to be accessible by its clients, Microsoft Office Project Professional and Microsoft Office Project Web Access.
Microsoft Office Project Server is designed to support collaboration between project managers who are using Microsoft Office Project Professional and team members who are using Microsoft Office Project Web Access 2003. The Microsoft Office Enterprise Project Management (EPM) Solution is an integrated system that includes Project Professional , Project Web Access , and Project Server .

Project Server provides timesheets, status reports, portfolio analysis and modeling, enterprise resources, and enterprise templates. When integrated with Microsoft Windows SharePoint Services, Project Server provides document management and issues and risk tracking features.
Users access Project Server by means of Project Web Access, a browser-based client that enables team members, resource managers, and executives to enter and view timesheet information and view portfolio reports. Project managers can create projects or create or modify the Enterprise Resource Pool by using Project Professional and save that data to the Project Server database.
Project Server is flexible and is designed to enable you to extend your EPM Solution. You can begin by using a limited number of enterprise features and then add additional features as needed.  
 

Versions for Windows
    2007 - Office Project Server 2007
    2006 - Office Project Server 2005
    2003 - Office Project Server 2003
    2002 - Project Server 2002
    2000- 
    Project Central Server

    Description
    Microsoft extends the capabilities of Microsoft Project with Project Server and Web Access. Microsoft Project server stores project information in a central database, protected from unauthorized access and corruption. A Project Administrator can control security defining users and access rights.

    The Project Center supports reports across an organization at the project level. Managers can drill down into project details.

    The project manager needs to communicate project plans and to distribute task assignments to team members. The assignment of tasks can be distributed to team member home pages in Web Access. They need to communicate status and changes to keep the project manager up to date. Project Server supports electronic communication over the web via Web Access.

    Resource workloads can be analyzed by project and by resource with the Resource center, allowing organizations to forecast future resource requirements and make more efficient use of resources.

    The view definition is easier to understand and more robust with Web Access than with Microsoft Project. Views can be protected to assist standardization. PS stores custom calendars, views, tables, filters, and fields, in an Enterprise global area where users have access to the latest version every time they restart Microsoft Project.

    Gain visibility and insights
      Budget Tracking and Cost Resources permit better financial insight and tracking.

      The Proposals capability in Office Project Web Access manages plans and activities prior to project approval.

      The Activity Plan capability of Office Project Web Access helps manage ongoing operations activities after project completion.

      The Reporting Data Service permits easy user reporting with common business reporting tools such as Microsoft Office SharePoint Server 2007.

      With the Cube Building Service, users can easily select data to build portfolio analyzer cubes, for sophisticated analysis and reporting.

      Project Server 2003 consists of the following software components:

            Project Server Front-End service Handles all Project Web Access and Project Data Service requests.

           View Processing service Generates static views of published data for Project Web Access.

          Session Manager service Handles the session-state information for each client that is connecting to Project Server 2003 from Project Web Access.



      Project Server 2003 requires the services and support of the following Microsoft applications:

      Internet Information Services (IIS) 5.0 or later
      Provides the foundation for secure and scalable Web-based solutions. IIS is included as part of the Microsoft Windows 2000 Server and Microsoft Windows Server 2003 operating systems.

      Microsoft SQL Server 2000
      Provides database management for users who want to take advantage of all enterprise functionality that is built in to Project Server 2003 in a scalable environment. Both SQL Server 2000 Standard Edition and SQL Server 2000 Enterprise Edition support the enterprise functionality of Project Server 2003, but only SQL Server 2000 Enterprise Edition supports advanced deployment features such as failover or HTTP Internet support. You must install SQL Server 2000 before you can install Project Server 2003 or configure Windows SharePoint Services for Project Server 2003.

      SQL Server 2000
      Analysis Services Provides online analytical processing (OLAP) services, which are required for the Portfolio Analyzer feature of Project Server 2003. The Portfolio Analyzer feature is only available as an enterprise feature of Project Server 2003.

      Windows SharePoint Services
      Provides document library and issues and risks tracking services when properly configured for Project Server 2003. You can download Windows SharePoint Services from the Microsoft Web site, or you can configure an existing installation of Windows SharePoint Services for Project Server 2003.

      Microsoft Office SharePoint Portal Server 2003
      Enables the indexing and searching of Project Server 2003 document libraries.

      Project Professional
      Provides enterprise-wide project and resource management capabilities, collaboration functionality, and scenario analysis tools for organizations that require an enterprise project management solution. To access Project Server 2003, Project Professional 2003 has the following Internet browser requirements: Internet Explorer 5.01 with SP3 or later

      Internet Explorer 5.5 with SP2 or later

      Internet Explorer 6 with SP1 or later (recommended)

      The Microsoft Office Project
      Add-in for Outlook Enables users to keep track of tasks that are assigned to them in projects. Tasks can be tracked in Microsoft Outlook 2000 or later (or Outlook Web Access in a limited capacity). The Outlook Integration add-in is available from the Project Web Access Home page.

      Microsoft Internet Explorer version 5.01 (or later)
      Enables access to the Project Web Access user interface (UI). Internet Explorer 5.5 or later is required in order to use all available Project Web Access features.


        If u have High Speed Internet watch this

Microsoft Server No.2

              
Microsoft SQL Server
Microsoft SQL Server is a relational database management system (RDBMS) produced by Microsoft. Its primary query language is Transact-SQL, an implementation of the ANSI/ISO standard Structured Query Language (SQL) used by both Microsoft and Sybase.

Architecture
The architecture of Microsoft SQL Server is broadly divided into three components: SQLOS which implements the basic services required by SQL Server, including thread scheduling, memory management and I/O management; the Relational Engine, which implements the relational database components including support for databases, tables, queries and stored procedures as well as implementing the type system; and the Protocol Layer which exposes the SQL Server functionality.

The architecture of SQL Server
SQLOS
SQLOS is the base component in the SQL Server architecture. It implements functions normally associated with the Operating System - thread scheduling, memory management, I/O management, buffer pool management, resource management, synchronization primitives and locking, and deadlock detection. Because the requirement of SQL Server is highly specialized, SQL Server implements its own memory and thread management system, rather than using the generic one already implemented in the Operating System. It divides all the operations it performs into a series of Tasks - both background maintenance jobs as well as processing requests from clients. Internally, a pool of worker threads is maintained, onto which the tasks are scheduled. A task is associated with the thread till it is completed, only after its completion is the thread freed and returned to the pool. If there are no free threads to assign the task to, the task is temporarily blocked. Each worker thread is mapped onto either an Operating System thread or a fiber, which are user mode threads, which is used to implement co-operative multitasking. Using the latter, even though all the book-keeping jobs of thread management has to be implemented in SQLOS (in addition to the native OS implementation), it can optimize for the particular use. SQLOS also includes synchronization primitives for locking as well as monitoring for the worker threads to detect if they have entangled themselves into a deadlock and takes necessary measures to recover from the situation.
SQLOS handles the memory requirements of SQL Server as well. Reducing disc I/O is one of the primary goals of specialized memory management in SQL Server. As such, it maintains a buffer pool, handled by SQLOS, which is used to cache data pages from the disc as well as to satisfy the memory requirements for other components, including query processor, and other internal data structures.[1] SQLOS also has to take care that the memory allocated is used efficiently, as such it monitors all the memory allocated from the buffer pool, ensuring that the components return unused memory to the pool, as well as shuffling data in and out of the cache to make room for newer data. For changes that are made to the data in buffer, SQLOS writes the data back to the disc lazily, that is when the disc subsystem is either free, or there have significant number changes made to the cache, while still serving requests from the cache. For this, it implements a Lazy Writer, which handles the task of writing the data back to persistent storage.
SQL Server normally supports up to 2 GB memory on x86 hardware, though it can be configured to use up to 64 GB if Address Windowing Extension is used on supporting OS. For x64 hardware, it supports 8 TB of memory, and 7 TB for IA-64 systems. However, when running x86 versions of SQL Server on x64 hardware, it can access 4 GB of memory without any special configuration.

Relational engine
The Relational engine is the component, which implements the relational data store, using the capabilities provided by SQLOS, which is exposed to this layer via the private SQLOS API. It implements the type system, to define the types of the data that can be stored in the tables, as well as the different types of data items (such as tables, indexes, logs etc) that can be stored. It includes the Storage Engine, which handles the way data is stored on persistent storage devices, as well as implement methods for fast access to the data. The storage engine implements log-based transaction so as to ensure that any changes to the data are ACID compliant. It also includes the query processor, which is the component that allows data to be retrieved. The specification of what needs to be retrieved is provided in the form of a SQL query, which it optimizes and translates into the sequence of operations needed to retrieve the data. The operations are then scheduled on to the worker threads, which are scheduled for execution by SQLOS.


Protocol layer
Protocol layer implements the external interface to SQL Server. All operations that can be invoked on SQL Server are communicated to it via a Microsoft-defined format, called Tabular Data Stream (TDS). TDS packets can be encased in other physical transport dependent protocols, including TCP/IP, Named pipes, and Shared memory. Consequently, access to SQL Server is available over these protocols. In addition, the SQL Server API is also exposed over web services.

Data storage
The main unit of data storage is a database, which is a collection of tables with typed columns. SQL Server supports different data types, including primary types such as Integer, Float, Decimal, Char (including character strings), Varchar (variable length character strings), binary (for unstructured binary blob of data), Text (for textual data) among others. It also allows user-defined composite types (UDTs) to be defined and used. SQL Server also makes server statistics available as virtual tables and views (called Dynamic Management Views or DMVs). A database can also contain other objects including views, stored procedures, indexes and constraints, in addition to tables, along with a transaction log. An SQL Server database can contain a maximum of 231 objects, and can span multiple OS-level files with a maximum file size of 220 TB.[1] The data in the database are stored in primary data files with an extension .mdf. Secondary data files, identified with an .ndf extension, are used to store optional metadata. Log files are identified with the .ldf extension.
Storage space allocated to a database is divided into sequentially numbered pages, each 8 KB in size. A page is the basic unit of I/O for SQL Server operations. A page is marked with a 96-byte header which stores metadata about the page including the page number, page type, free space on the page and the ID of the object that owns it. Page type defines the data contained in the page - data stored in the database, index, allocation map which holds information about how pages are allocated to tables and indexes, change map which holds information about the changes made to other pages since last backup or logging, or contain large data types such as image or text. While page is the basic unit of an I/O operation, space is actually managed in terms of an extent which consists of 8 pages. A database object can either span all 8 pages in an extent ("uniform extent") or share an extent with up to 7 more objects ("mixed extent"). A row in a database table cannot span more than one page, so is limited to 8 KB in size. However, if the data exceeds 8 KB and the row contains Varchar or Varbinary data, the data in those columns are moved to a new page (or possible a sequence of pages, called Allocation unit) and replaced with a pointer to the data.
For physical storage of a table, its rows are divided into a series of partitions (numbered 1 to n). The partition size is user defined; by default all rows are in a single partition. A table is split into multiple partitions in order to spread a database over a cluster. Rows in each partition are stored in either B-tree or heap structure. If the table has an associated index to allow fast retrieval of rows, the rows are stored in-order according to their index values, with a B-tree providing the index. The data is in the leaf node of the leaves, and other nodes storing the index values for the leaf data reachable from the respective nodes. If the index is non-clustered, the rows are not sorted according to the index keys. An indexed view has the same storage structure as an indexed table. A table without an index is stored in an unordered heap structure. Both heaps and B-trees can span multiple allocation units.

Buffer management
SQL Server buffers pages in RAM to minimize disc I/O. Any 8 KB page can be buffered in-memory, and the set of all pages currently buffered is called the buffer cache. The amount of memory available to SQL Server decides how many pages will be cached in memory. The buffer cache is managed by the Buffer Manager. Either reading from or writing to any page copies it to the buffer cache. Subsequent reads or writes are redirected to the in-memory copy, rather than the on-disc version. The page is updated on the disc by the Buffer Manager only if the in-memory cache has not been referenced for some time. While writing pages back to disc, asynchronous I/O is used whereby the I/O operation is done in a background thread so that other operations do not have to wait for the I/O operation to complete. Each page is written along with its checksum when it is written. When reading the page back, its checksum is computed again and matched with the stored version to ensure the page has not been damaged or tampered with in the mean time.

Logging and Transaction
SQL Server ensures that any change to the data is ACID-compliant, i.e., it uses transactions to ensure that any operation either totally completes or is undone if fails, but never leave the database in an intermediate state. Using transactions, a sequence of actions can be grouped together, with the guarantee that either all actions will succeed or none will. SQL Server implements transactions using a write-ahead log. Any changes made to any page will update the in-memory cache of the page, simultaneously all the operations performed will be written to a log, along with the transaction ID which the operation was a part of. Each log entry is identified by an increasing Log Sequence Number (LSN) which ensure that no event overwrites another. SQL Server ensures that the log will be written onto the disc before the actual page is written back. This enables SQL Server to ensure integrity of the data, even if the system fails. If both the log and the page were written before the failure, the entire data is on persistent storage and integrity is ensured. If only the log was written (the page was either not written or not written completely), then the actions can be read from the log and repeated to restore integrity. If the log wasn't written, then also the integrity is maintained, even though the database is in a state when the transaction as if never occurred. If it was only partially written, then the actions associated with the unfinished transaction is discarded. Since the log was only partially written, the page is guaranteed to have not been written. So, the data is still in a consistent state. Removing the unfinished log entries means as if the transaction is undone. SQL Server ensures consistency between the log and the data every time an instance is restarted.

Concurrency and locking
SQL Server allows multiple clients to use the same database concurrently. As such, it needs to control concurrent access to shared data, to ensure data integrity - when multiple clients update the same data, or clients attempt to read data that is in the process of being changed by another client. SQL Server provides two modes of concurrency control: pessimistic concurrency and optimistic concurrency. When pessimistic concurrency control is being used, SQL Server controls concurrent access by using locks. Locks can be either shared or exclusive. Exclusive lock grants the user exclusive access to the data - no other user can access the data as long as the lock is held. Shared locks are used when some data is being read - multiple users can read from data locked with a shared lock, but not acquire an exclusive lock. The latter would have to wait for all shared locks to be released. Locks can be applied on different levels of granularity - on entire tables, pages, or even on a per-row basis on tables. For indexes, it can either be on the entire index or on index leaves. The level of granularity to be used is defined on a per-database basis by the database administrator. While a fine grained locking system allows more users to use the table or index simultaneously, it requires more resources. So it does not automatically turn into higher performing solution. SQL Server also includes two more lightweight mutual exclusion solutions - latches and spinlocks - which are less robust than locks but are less resource intensive. SQL Server uses them for DMVs and other resources that are usually not busy. SQL Server also monitors all worker threads that acquire locks to ensure that they do not end up in deadlocks - in case they do, SQL Server takes remedial measures, which in many cases is to kill one of the threads entangled in a deadlock and rollback the transaction it started. To implement locking, SQL Server contains the Lock Manager. The Lock Manager maintains an in-memory table that manages the database objects and locks, if any, on them along with other metadata about the lock. Access to any shared object is mediated by the lock manager, which either grants access to the resource or blocks it.
SQL Server also provides the optimistic concurrency control mechanism. Also called multi version concurrency control, it allows a new version of a row to be created whenever the row is updated, as opposed to overwriting the row, i.e., a row is additionally identified by the ID of the transaction that created the version of the row. Both the old as well as the new versions of the row are stored and maintained, though the old versions are moved out of the database into a system database identified as Tempdb. When a row is in the process of being updated, any other requests are not blocked (unlike locking) but are executed on the older version of the row. If the other request is an update statement, it will result in two different versions of the rows - both of them will be stored by the database, identified by their respective transaction IDs.

Data retrieval
The main mode of retrieving data from an SQL Server database is querying for it. The query is expressed using a variant of SQL called T-SQL, a dialect Microsoft SQL Server shares with Sybase SQL Server due to its legacy. The query declaratively specifies what is to be retrieved. It is processed by the query processor, which figures out the sequence of steps that will be necessary to retrieve the requested data. The sequence of actions necessary to execute a query is called a query plan. There might be multiple ways to process the same query. For example, for a query that contains a join statement and a select statement, executing join on both the tables and then executing select on the results would give the same result as selecting from each table and then executing the join, but result in different execution plans. In such case, SQL Server chooses the plan that is supposed to yield the results in the shortest possible time. This is called query optimization and is performed by the query processor itself.
SQL Server includes a cost-based query optimizer which tries to optimize on the cost, in terms of the resources it will take to execute the query. Given a query, the query optimizer looks at the database schema, the database statistics and the system load at that time. It then decides which sequence to access the tables referred in the query, which sequence to execute the operations and what access method to be used to access the tables. For example, if the table has an associated index, whether the index should be used or not - if the index is on a column which is not unique for most of the columns (low "selectivity"), it might not be worthwhile to use the index to access the data. Finally, it decides whether to execute the query concurrently or not. While a concurrent execution is more costly in terms of total processor time, because the execution is actually split to different processors might mean it will execute faster. Once a query plan is generated for a query, it is temporarily cached. For further invocations of the same query, the cached plan is used. Unused plans are discarded after some time.
SQL Server also allows stored procedures to be defined. Stored procedures are parameterized T-SQL queries, that are stored in the server itself (and not issued by the client application as is the case with general queries). Stored procedures can accept values sent by the client as input parameters, and send back results as output parameters. They can also call other stored procedures, and can be selectively provided access to. Unlike other queries, stored procedures have an associated name, which is used at runtime to resolve into the actual queries. Also because the code need not be sent from the client every time (as it can be accessed by name), it reduces network traffic and somewhat improves performance. Execution plans for stored procedures are also cached as necessary.

SQL CLR
Microsoft SQL Server 2005 includes a component named SQL CLR via which it integrates with .NET Framework. Unlike most other applications that leverage .NET Framework functionality, SQL Server itself hosts the .NET Framework runtime, i.e., memory, threading and resource management requirements of .NET Framework are satisfied by SQLOS itself, rather than the underlying Windows operating system. SQLOS provides deadlock detection and resolution services for .NET code as well. With SQL CLR, stored procedures and triggers can be written in any managed .NET language, including C# and VB.NET. Managed code can also be used to define UDTs which can be persisted in the database. Managed code is compiled to .NET assemblies and after being verified for type safety, registered at the database. After that, they can be invoked like any other procedure. However, only a subset of the Base Class Library is available, when running code under SQL CLR. Most APIs relating to user interface functionality are not available.
When writing code for SQL CLR, data stored in SQL Server databases can be accessed using the ADO.NET APIs like any other managed application that accesses SQL Server data. However, doing that creates a new database session, different from the one in which the code is executing. To avoid this, SQL Server provides some enhancements to the ADO.NET provider that allows the connection to be redirected to the same session which already hosts the running code. Such connections are called context connections and are set by setting context connection parameter to true in the connection string. SQL Server also provides several other enhancements to the ADO.NET API, including classes to work with tabular data or a single row of data as well as classes to work with internal metadata about the data stored in the database. It also provides access to the XML features in SQL Server, including XQuery support. These enhancements are available only when running code under SQL CLR, and not available generally.

Services
SQL Server also includes an assortment of add-on services. While these are not essential for the operation for the database system, these provide value added services on top of the core database management system. These services either run as a part of some SQL Server component or out-of-process as Windows Service and presents their own API to control and interact with them.

Service Broker
The Service Broker, which runs as a part of the database engine, provides a reliable messaging and message queuing platform for SQL Server applications. Used inside an instance, it is used to provide an asynchronous programming environment. For cross instance applications, Service Broker communicates over TCP/IP and allows the different components to be synchronized together, via exchange of messages.

Replication Services
SQL Server Replication Services are used by SQL Server to replicate and synchronize database objects, either in entirety or a subset of the objects present, across replication agents, which might be other database servers across the network, or database caches on the client side. Replication follows a publisher/subscriber model, i.e., the changes are sent out by one database server ("publisher") and are received by others ("subscribers"). SQL Server supports three different types of replication:

Transaction replication
Each transaction made to the publisher database (master database) is synced out to subscribers, who update their databases with the transaction. Transactional replication synchronizes databases in near real time.

Merge replication
Changes made at both the publisher and subscriber databases are tracked, and periodically the changes are synchronized bi-directionally between the publisher and the subscribers. If the same data has been modified differently in both the publisher and the subscriber databases, synchronization will result in a conflict which has to be resolved - either manually or by using pre-defined policies.

Snapshot replication
Snapshot replication published a copy of the entire database (the then-snapshot of the data) and replicates out to the subscribers. Further changes to the snapshot are not tracked.

Analysis Services
SQL Server Analysis Services adds OLAP and data mining capabilities for SQL Server databases. The OLAP engine supports MOLAP, ROLAP and HOLAP storage modes for data. Analysis Services supports the XML for Analysis standard as the underlying communication protocol. The cube data can be accessed using MDX queries. Data mining specific functionality is exposed via the DMX query language. Analysis Services includes various algorithms - Decision trees, clustering algorithm, Naive Bayes algorithm, time series analysis, sequence clustering algorithm, linear and logistic regression analysis, and neural networks - for use in data mining.

Reporting Services
SQL Server Reporting Services is a report generation environment for data gathered from SQL Server databases. It is administered via a web interface. Reporting services features a web services interface to support the development of custom reporting applications. Reports are created as RDL files.
Reports can be designed using recent versions of Microsoft Visual Studio(including Visual Studio.NET 2003 onwards) with Business Intelligence Development Studio, installed or with the included Report Builder. Once created, RDL files can be rendered in a variety of formats including Excel, PDF, CSV, XML, TIFF (and other image formats), and HTML Web Archive.

Notification Services
SQL Server Notification Services is a platform for generating notifications, which are sent to Notification Services subscribers. A subscriber registers for a specific event or transaction (which is registered on the database server as a trigger); when the event occurs, Notification Services uses Service Broker to send a message to the subscriber informing about the occurrence of the event.

Integration Services
SQL Server Integration Services is used to integrate data from different data sources. It is used for the ETL capabilities for SQL Server for data warehousing needs. Integration Services includes GUI tools to build data extraction workflows integration various functionality such as extracting data from various sources, querying data, transforming data including aggregating, duplication and merging data, and then loading the transformed data onto other sources, or sending e-mails detailing the status of the operation.

Full Text Search Service
SQL Server Full Text Search service is a specialized indexing and querying service for unstructured text stored in SQL Server databases. The full text search index can be created on any column with character based text data. It allows for words to be searched for in the text columns. While it can be performed with the SQL LIKE operator, using SQL Server Full Text Search service can be more efficient. Full Text Search (FTS) allows for inexact matching of the source string, indicated by a Rank value which can range from 0 to 1000 - a higher rank means a more accurate match. It also allows linguistic matching ("inflectional search"), i.e., linguistic variants of a word (such as a verb in a different tense) will also be a match for a given word (but with a lower rank than an exact match). Proximity searches are also supported, i.e., if the words searched for do not occur in the sequence they are specified in the query but are near each other, they are also considered a match. T-SQL exposes special operators that can be used to access the FTS capabilities.
The Full Text Search engine is divided into two processes - the Filter Daemon process (msftefd.exe) and the Search process (msftesql.exe). These processes interact with the SQL Server. The Search process includes the indexer (that creates the full text indexes) and the full text query processor. The indexer scans through text columns in the database. It can also index through binary columns, and use iFilters to extract meaningful text from the binary blob (for example, when a Microsoft Word document is stored as an unstructured binary file in a database). The iFilters are hosted by the Filter Daemon process. Once the text is extracted, the Filter Daemon process breaks it up into a sequence of words and hands it over to the indexer. The indexer filters out noise words, i.e., words like A, And etc, which occur frequently and are not useful for search. With the remaining words, an inverted index is created, associating each word with the columns they were found in. SQL Server itself includes a Gatherer component that monitors changes to tables and invokes the indexer in case of updates.
When a full text query is received by the SQL Server query processor, it is handed over to the FTS query processor in the Search process. The FTS query processor breaks up the query into the constituent words, filters out the noise words, and uses an inbuilt thesaurus to find out the linguistic variants for each word. The words are then queried against the inverted index and a rank of their accurateness is computed. The results are returned to the client via the SQL Server process.   
                      
The SQL Server Full Text Search service architecture
 
Editions
Microsoft makes SQL Server available in multiple versions, with different feature sets and targeting different users. These versions are:

SQL Server Express Edition
SQL Server Express Edition is a scaled down, free edition of SQL Server, which includes the core database engine. While there are no limitations on the number of databases or users supported, it is limited to using one processor, 1 GB memory and 4 GB database files. The entire database is stored in a single .mdf file, and thus making it suitable for XCOPY deployment. It is intended as a replacement for MSDE. The Full-Text Search Service is made available as a free add-on to SQL Server Express edition as well. In addition, a stripped down version of SQL Server Management Studio is also available for this edition.

SQL Server Workgroup Edition
SQL Server Workgroup Edition includes the core database functionality but does not include the additional services.

SQL Server Standard Edition
SQL Server Standard edition includes the core database engine, along with the stand-alone services. It differs from Enterprise edition in that it supports less number of active instances (number of nodes in a cluster) and does not include some high-availability functions such as hot-add memory (allows memory to be added while the server is still running), and parallel indexes.

SQL Server Enterprise Edition
SQL Server Enterprise Edition is the full-featured version of SQL Server, including both the core database engine and add-on services, while including a range of tools for creating and managing an SQL Server cluster.

SQL Server Developer Edition
SQL Server Developer Edition includes the same features as SQL Server Enterprise Edition, but is limited by the license to be only used as a development and test system, and not as production server. This version is available to download by students free of charge as a part of Microsoft's DreamSpark program.

Tools:

SQLCMD
SQLCMD is a command line application that comes with Microsoft SQL Server, and exposes the management features of SQL Server. It allows SQL queries to be written and executed from the command prompt. It can also act as a scripting language to create and run a set of SQL statements as a script. Such scripts are stored as a .sql file, and are used either for management of databases or to create the database schema during the deployment of a database.

Visual Studio
Microsoft Visual Studio includes native support for data programming with Microsoft SQL Server. It can be used to write and debug code to be executed by SQL CLR. It also includes a data designer that can be used to graphically create, view or edit database schemas. Queries can be created either visually or using code. Visual Studio 2008 onwards, Visual Studio provides intellisense for SQL queries as well.

SQL Server Management Studio
SQL Server Management Studio is a GUI tool included with SQL Server 2005 for configuring, managing, and administering all components within Microsoft SQL Server. The tool includes both script editors and graphical tools which work with objects and features of the server. A version of SQL Server Management Studio is also available for SQL Server Express Edition, for which it is known as SQL Server Management Studio Express (SSMSE).
A central feature of SQL Server Management Studio is the Object Explorer, which allows the user to browse, select, and act upon any of the objects within the server. It can be used to visually observe and analyze query plans and optimize the database performance, among others. SQL Server Management Studio can also be used to create a new database, alter any existing database schema by adding or modifying tables and indexes or analyze performance. It includes the query windows which provides a GUI based interface to write and execute queries.

Microsoft SQL Server Management Studio showing a query, the results of the query, and the Object Explorer pane while connected to a SQL Server database engine instance.Business Intelligence

Development Studio
Business Intelligence Development Studio (BIDS) is the IDE from Microsoft used for developing data analysis and Business Intelligence solutions utilizing the Microsoft SQL Server Analysis Services, Reporting Services and Integration Services. It is based on the Microsoft Visual Studio development environment but customizes with the SQL Server services-specific extensions and project types, including tools, controls and projects for reports (using Reporting Services) and data mining structures such as Cubes, Roles and Multidimensional views (using Analysis Services).
See Also This 

Microsoft Server No.1

                                                  معرفی سرور ماکروسافت                                                                                                             
ISA SERVER
Microsoft Internet Security and Acceleration Server
Microsoft Internet Security and Acceleration Server (ISA Server) is described by Microsoft as an "integrated edge security gateway". Originating as Microsoft Proxy Server, ISA is a Firewalling & Security product based on Microsoft Windows primarily designed to securely publish webservers and other server systems, provide Stateful, Application-Layer Firewalling, act as a VPN endpoint, and provide Internet Access for client systems in a Business Networking environment.
ISA 2000 and 2004 have also been included in the Premium Edition of Microsoft Small Business Server, as well as being sold as Appliance devices by a number of Third Party vendors.

Current Version
The present version of ISA Server is ISA 2006, released on 17th October 2006. ISA 2006 is designed to run on the Windows Server 2003 and Windows Server 2003 R2 platforms (ISA 2006 drops support for Windows 2000 as the host platform). ISA 2006 is a stateful packet and application layer inspection firewall, virtual private network and web cache (both forward caching and reverse caching) server.

ISA 2006 introduces a variety of improvements upon the previous version, ISA 2004, including support for authentication via Secure LDAP, (LDAPS) to multiple LDAPS providers or Active Directory forests, integrated support for Exchange 2007 (also backported to ISA 2004), support for publishing Microsoft SharePoint, Single sign-on, Cross-Array Link Translation, Web Publishing Load Balancing (with cookie-based affinity for Integrated NLBS) as well as variety of improvements to wizards such as a Branch Office VPN Connection Wizard, improved certificate management, and Link translation.

Intelligent Application Gateway
On February 1st 2007, Microsoft Launched the Intelligent Application Gateway product with IAG 2007. IAG is based on technology obtained during the acquisition of Whale Communications announced on May 18, 2006, and is based on ISA 2006. IAG is sold solely as a Hardware Appliance, and provides Endpoint Compliance and SSL VPN functionality.   

Versions

Microsoft Proxy Server
The ISA Server product line originated with Microsoft Proxy Server. Microsoft Proxy Server v1.0 was first launched in January 1997, and was designed to run on the Windows NT 4.0 platform. Proxy Server v1.0 was a basic product designed to provide Internet Access for clients in a LAN Environment via TCP/IP. Although well-integrated into the NT4 platform,Proxy Server v1.0 only had basic functionality, and came in only one edition. Extended support for Proxy Server v1.0 ended on March 31, 2002.
Proxy Server v2.0 was launched in December 1997, and included better NT Account Integration, improved Packet Filtering support, and support for a wider range of Network Protocols. Proxy Server v2.0 exited the extended support phase and hit End of Life on the 31st December 2004.

ISA 2000
On the 18th of March 2001, Microsoft launched ISA 2000. ISA 2000 introduced the Standard and Enterprise editions which ISA continues to ship under, with Enterprise-grade functionality such as High-Availability Clustering not included in the Standard Edition. ISA 2000 required Windows 2000 (any edition), and will also run on Windows Server 2003. In accordance with Microsoft's Support Lifecycle Policy, ISA 2000 was the first ISA product to use the 10 year support lifecycle with 5 years of Mainstream support and five years of Extended support. ISA 2000 reaches End of Life on the 12th of April 2011.

ISA 2004
ISA Server 2004 was released on the 8th September 2004. ISA 2004 introduced multi-networking support, integrated virtual private networking configuration, extensible user and authentication models, Application-Layer Firewall support, support for the H.323 protocol, Active Directory Integration, SecureNAT, Secure Server Publishing, and improved management features.
ISA Server 2004 Enterprise Edition included array support, integrated Network Load Balancing (NLB), and Cache Array Routing Protocol (CARP). One of the core capabilities of ISA Server 2004 was its ability to securely publish Web servers. For example, some organizations use ISA Server 2004 to publish their Exchange services (e.g., OWA, RPC over HTTP, ActiveSync, OMA). Using the Forms-based Authentication (FBA) authentication type, ISA Server can be used to pre-authenticate web clients so that traffic from unauthenticated clients to published clients is not allowed.
Microsoft Internet Security and Acceleration Server 2004 is available in two editions, Standard and Enterprise. Enterprise Edition contains features enabling policies to be configured on an array level, rather than on individual ISA Servers, and load-balancing across multiple ISA Servers. Each edition of ISA Server is licensed per processor (the version included in Windows Small Business Server 2000/3 Premium includes licensing for 2 processors), and requires Windows Server 2003 Standard (32 bit) or Enterprise (32 bit) Edition server on which to run. Appliance hardware containing Windows 2003 Appliance Edition and ISA Server Standard Edition is available from a variety of Microsoft Partners.

Timeline
Date               Version
2006              ISA Server 2006 (released on 9/6/2006)
2004              ISA Server 2004 (internal version is 4.0)
2000              ISA Server 2000 (internal version is 3.0)
1997               Proxy Server 2.0
1996               Proxy Server 1.0

Look Also This
© تمام حقوق و مزايای این سایت متعلق به شخص شهرام میباشد و هرگونه استفاده غير شرعی از نوشته های من حرام و موجبات پيامد ناهنجار تف و لعنت و نفرین نویسنده ... خواهد شد .