Servers and Versions


While this book can only attempt to keep up with Microsoft's ever-morphing version configurations, it can try to outline the basic versions, highlight the differences, and note where each version is best applied to your application requirements. Yes, I touched on these issues in Chapter 1, "Application Architectures," when I suggested how to choose one version of SQL Server over another. In any case, I suggest you look on Microsoft's website[1] for up-to-the-minute details and prices. Basically, there are now six basic versions of SQL Server 2005and one version that only calls itself SQL Server, but isn't:

[1] www.microsoft.com/sql/howtobuy/default.asp

  • SQL Server 2005 Enterprise Edition: This is the most comprehensive version of SQL Serverand most expensive (it retails for $14,000 or so). It contains a comprehensive set of tools to create, manage, tune, and profile the DBMS. It also includes many features that large corporate production sites need. No, I don't expect a lot of you have access to this version unless you work in a large corporate (or independently wealthy) organization. This version is the only place that you can get the new Report Builder. No, this is not just Reporting Services, but an entirely new reporting interface.

  • SQL Server 2005 Developer Edition: This is a license-restricted version of the Enterprise Edition. It generally costs $50 or less and includes all of the tools and functionality included in the Enterprise Edition. This version cannot (by license) be used in a production environment. This edition is popular with developers (and authors), as it has all the tools they need to manage databases, users, and rights. Unfortunately, since it exposes functionality not available in other versions, applications developed against the Developer Edition might not work against the more affordable versions. Just be cognizant of the features you're accessing. The aforementioned web site has a chart that lists the specific features. I summarize that chart in Figure 2.1.

    Figure 2.1. Comparing versions of SQL Server.

  • SQL Server 2005 Standard Edition: Supports most functionality and tools included in the Enterprise Edition, except the high-end features such as Advanced Analysis Features for OLAP, Comprehensive Analysis Services, Distributed Partitioned Views, High Availability extensions, Virtual Interface System-Area Network, and Web-enabled analysis. It also does not have the new Report Buildera feature you might consider if you want your customers to write their own reportsPeter and I are not that thrilled with it. For those considering a way to manage and distribute reports on a more limited basis, you'll find that Reporting Services is hosted in virtually all versions of SQL Servereven the Expressbut not in SQL Server Everywhere. The Standard edition is limited in the sense that it supports only 4 CPUs but an unrestricted RAM cachebut it's more expensive than the SQL Server 2000 version: It retails between $2,800 and $3,000, but the Workgroup edition is cheaper than the old Standard edition. New for 2005 is the ability to mirror the database and automatically redirect a client in the event of database failure (post SP1). It also supports those of you who plan to use the new 64-bit processors from Intel and AMD. In this version, "passive" servers are free. That is, you can set up clustering, backup, and recovery servers at no additional cost.

  • SQL Server 2005 Workgroup Edition: This version is new for 2005 and pretty much replaces the Standard edition. It's meant to provide a lower-cost bridge between the free Express edition and the now pricey Standard edition. It's also cheaper than the old Standard editionretailing for about $740 to $3,900, depending on how you choose to scale the licenses. It's feature-limited like the Express editionit's held to two CPUs and 3GB of buffer cache, so it's designed to be a cheaper step up for those working with the Express edition that need more performance and scalability.

  • SQL Server 2005 Express Edition: This version is free, but it's limited even furtherto 1GB RAM cache and one CPU. SQL Server Express edition is designed to replace MSDE but leaves the thread governor behind. The only limit on performance is the buffer cache and single-processor support. It now includes a tools suite, better performance, and scalability. I'll take a closer look at this edition next. Note that SQL Server Express also changes how replication is supportedit's an important difference, so when it comes time to convert an existing MSDE-based system, be aware that there are new replication restrictions.

  • SQL Server 2005 ExpressAdvanced Services Edition: This version is identical to SQL Server Express, except that it comes bundled with Reporting Services, full-text search, and a customized version of SQL Server Management Studio. The real difference here is that it has a bigger footprintit's about 235MB on disk. This makes it harder (more expensive) to download and deploy.

  • SQL Server Everywhere: As I said in Chapter 1, this isn't really SQL Server, but it plays SQL Server in a soap opera. Well, not reallyit's really SQLCE, er, SQL Mobile Edition renamed. While it's very different from SQL Server, it can play an important role when your application needs a light, fast, easily deployable and encryptable database. I'll be providing a lot more content in my new EBook. Check the support site for details.

Since I expect that most readers are interested in the Standard, Workgroup, and SQL Express versions of SQL Server 2005, I don't plan to spend a lot of time talking about the advanced features afforded by the Enterprise EditionI'll leave that up to Microsoft. All of these versions (except SQL Server Everywhere) use the same core binary executables. They all execute the same T-SQL, use the same database files, and run the same server-side executables, including CLR-based stored procedures, functions, triggers, aggregates, and user-defined types. This means applications developed for the Express Edition can be easily upgraded to the Standard or Enterprise editions.

SQL Server Side-By-Side

One of the MSDN leads at Microsoft asked me to include my own side-by-side comparison chart that highlights the differences among the various editions. While the chart shown in Figure 2.1 might not be particularly scientific, it does put the versions into a slightly different perspective than the charts and sexy marketing material provided in the Microsoft documentation. Sure, the number of users supported is pretty arbitraryas you've seen so far in this chapter (and will find out later in other chapters), there are a lot of factors that gate how much work and how many users can be supported on a single SQL Server license. Of course, this number assumes that you choose to use the (more expensive) processor license or have purchased a sufficient number of Client Access Licenses (CALs).

All of these versions are supported by Visual Studioto one extent or another. In some cases, you'll have to revert back to SQL Server Management Studio to get some real work done. Don't throw away your toolset before venturing in to support SQL Server Everywhereit's also supported by Visual Studio and SQL Server Management Studio (to some extent).

Introducing...SQL Server Express Edition

In a SQL Server Magazine editorial published in 2003, Mike Otey hit a nerve when he said that "MSDE is free, but unsuitable for most multi-user projects." I don't think this is true. I followed up with an article that, for one reason or another, was never published. What I attempted to do in that article was to help to correct any misconceptions the readers (and Mike) had about MSDE and better describe what it is and why it's important to SQL Server developers. Well, clearly, it's too late to be talking about MSDEit's already morphed into the SQL Express edition of SQL Server. At this point, I want to compare MSDE and the new Workgroup, Express, and "Everywhere" versions to help everyone (even Mr. Otey) understand where these editions fit and what they are capable of doing, and understand their limitations.

I have been championing MSDE for quite a while nowwell before I left Microsoft in 2000. As a result, I feel a certain kinship to this particular version of SQL Server. I liked it because it provided a "free" alternative to JET and was a far better choice for small- to medium-size applications needing access to a professional, more scalable, and more secure DBMS. I saw MSDE (and now SQL Server Express) like the free cigarettes given to GIs in their C rationsbut without risk of lung cancer. These SKUs are designed to get developers at all levels comfortable with writing applications that depend on SQL Server's unique features. When they find that the free versions aren't enough, they have to come back to Microsoft for a fix on the real thing.

For years after its release, MSDE was an orphanit really didn't have its own product manager to champion it, protect it, and help educate the developer community. I wrote a number of articles about MSDE and continued to lurk on the public newsgroups in an attempt to keep the developer community informed about MSDE and how it can best be used. This was an uphill battle, as MSDE was far harder to install than JET and generally misunderstood thanks to countless "experts" telling developers that MSDE was limited to eight (or five) connectionsit's not.

All of that has changed. Microsoft and the SQL Server and Visual Studio teams have fully embraced MSDE in the SQL Server Express Edition (SSEE). Today, there's an entire team dedicated to SSEE. No, I'm not thrilled about how it's being "positioned" in the market, but as developers, we can use it as we think bestregardless of how Microsoft wants to position it. The problem (as I see it) is that SSEE is being targeted to so-called "hobbyists"people building "toy" applications. In contrast, I see SSEE as a viable SQL Server engine for small businesssuitable for use almost anywhere that JET is used today. It can support one to hundreds of users if the application is written carefully and can even be used to host data services on a web site. With the announcement of the Advanced Services Edition, SQL Server Express now supports full text search and Reporting Services. That puts it in the class of serious DBMS enginesit's more than a toy.

What Is SQL Server Express?

As I said, SQL Server 2005 Express edition is Microsoft's replacement for the MSDE Edition of SQL Server. It uses the same SQL engine implemented in SQL Server 2005 but comes packaged for use where far fewer users are expected to be servicedin smaller enterprises and smaller web sites. The biggest differences between MSDE and SSEE are in how they're installed and how they limit scalability. We'll see how SSEE's architecture has been completely redesigned to make its use more like the way you install and use Access/JET databaseswithout the deployment problems associated with MSDE. Since the new Advanced Services version of SSEE includes Reporting Services (for local data) and full-text search, you might find it's not necessary to upscale to Workgroup or Standard editions just to get those featuresat least, not right away.

SQL Server Express Edition has gone a long way toward building a better solution for applications that need:

  • A replacement for JET databases. That is, a DBMS that can be taken over by an IT department, if neededone that meets HIPA security requirements, uses all of the power of SQL Server to protect data and referential security, and does all of this regardless of how the user mistreats it.

  • A DBMS that can scale from a single user to several dozen users without requiring an upgrade to SQL Server Standard editionwithout having to worry about a governor degrading performance when it's needed most.

  • A DBMS that runs the same stored procedures, functions, aggregates, user-defined types, and extended stored procedures, whether they're written in T-SQL, in C++, or in a CLR assembly.

  • A DBMS that can work as easily on a small web site as in a client/server configuration.

  • A DBMS engine that can be installed easily and can be easily updated in place when service packs are made available. This means setup routines that are easy to integrate into your application's deployment scripts.

  • A DBMS that can be accessed by simply pointing to a DBMS file installed with or passed to an application in code. Because SQL Server Express is designed to permit databases to be attached on-the-fly, it's easier than ever to use "loose" SQL Server MDF database files and deploy them with your application. This makes it far easier to deploy a stand-alone SQL Server Express database .MDF file, as could be done with JET databases.

  • A DBMS that exposes a standard way to refer to a shared instance of SQL Server. When SSE is installed, by default, it's installed with the same instance name: SQLEXPRESS. This means your application's connection string can more easily target the SQL Server Express, whether it's installed on the local system or on the local area networkassuming the application setup routines take advantage of this feature. I'll talk about instance issues a little later.

What MSDE Issues Does SQL Server Express Edition Address?

While MSDE has been widely adopted by a large number of serious businesses, they often have to deal with a number of issues on their ownimplementing non-standard solutions that sometimes conflict with other companies' attempts to solve the same or other issues. These include:

  • Deployment: How is SQL Server installed along with an application? There is a litany of related issues here. For example, can SSEE be installed by a user, or do you need administrator's rights? What if SQL Server is already installed? What if the desired instance name collides with other existing instances? Should the application share an existing SQL Server instance or create a unique instance? What happens when the application that installed the shared SQL Server instance is uninstalledshould it also uninstall the SQL Server instance? If so, what happens to the other databases that instance is hosting?

  • Database deployment: How are databases installed on the target server? After installation, is the database visible to other applications on the server? How can applications hide proprietary data? How are Logins, Roles, and Users and their permissions configured?

  • Security: If you choose to share an instance of SQL Server, what password should be used for the system administrator (SA) account? How can user accounts be set up? Should the application simply use Integrated Security managed by the domain controller? What if there is no Active Directory?

  • Performance: MSDE uses a governor that limits the number of simultaneous operations on the server. What if your single-user application needs to perform several operations at once, but the governor kicks in and slows it down? Frankly, I'm not sure this issue is that widespread. I've heard very few people complain that the governor kicked in and made their application run too slowly. Sure, I've heard of applications not running particularly fast, but these were (generally) caused by brute-force queries or "challenged" database implementations. That said, I feel it's kinda onerous that you have to worry about a governor sitting there waiting to slow things down when things get busy.

  • Scalability: MSDE databases are limited to 2GB. What if you need to store more data than that? Does it mean you must upgrade your target systems to use a $1,500 Standard Edition SQL Server, which might cost more than all of the systems that expect to use it? Again, most of the complaints I've heard about in this regard are when people stored binary large objects (BLOBs) like documents or pictures in the database. Once they replaced the BLOBs with a path to the BLOB file, their databases shrunk down to a reasonable size. Consider that you can store about 4 million 500-byte rows in a 2GB database. Most medium- to small-business don't have quite that many customers, orders, and items.

  • Tools: The MSDE version of SQL Server is the "deployment" configuration. As such, it does not include any tools needed to administer the server or the databases it manages. I still recommend that developers buy the $49 (SRP) Developer Edition, which includes a full suite of tools to manage their MSDE databases. However, due to licensing restrictions, these tools cannot be deployed with an application. This means developers have to build their own client-side tools or simply build needed functionality into their deployed applications.

  • Administration: Regardless of how it's done, applications must take on quite a few administrative responsibilities. This is especially true for SQL Server Express systems where there is no "SA" or administrator at the keyboard. These admin responsibilities include managing the Login Account(s), permissions, backup, restore, and log maintenance. No, your end-user is not usually capable and should not be required or trusted to perform these operationsit's up to your application to do so. While JET databases needed periodic compression or repair, MSDE (and any SQL Server database) needs to periodically back up (and dump) the logs and database, but compression is done automatically. This issue becomes fairly significant when the database is not managed centrally where administrative and maintenance tasks can be more easily managed. Again, this is up to your application to do.

  • Service Packs: Since MSDE is often embedded in applications, users might not know that they have an instance of SQL Server installed. As such, they aren't aware that they might need to post a SQL Server service pack to protect their data and systems from attack even if they see it on the 5 o'clock news. To help prevent some of the problems caused by worms and other attacking viruses, MSDE SP3(a) disabled network connectivity so applications are unable to connect to the server over the intranet (or Internet). This issue notwithstanding, posting SQL Server updates to MSDE installations is problematic, as the Microsoft upgrades don't always work with custom setup scripts used to deploy MSDE applications and databases.

How Does SQL Server Express Address These Issues?

Developers, architects, and IT managers all over the world have been discussing and arguing about solutions to the aforementioned issues for several years. While there aren't solutions to all of these problems, SQL Server Express has addressed many of them by making some fairly fundamental changes. Before we get caught up in the differences, it's important to know what hasn't changed. SQL Server Express Edition is still free (with the usual licensing and use restrictions) and it still supports virtually all of the same features as MSDE except the ability to expose and manage a replication Publisher. Yep, this means that you'll need to pay for the Workgroup edition of SQL Server to be able to publish replicated tables.

SQL Server Express Edition with Advanced Services now supports Reporting Services, and it can be a Data Source for a server hosted on SQL Server 2000 Standard Edition. By default, setup still disables the ability to expose SQL Server Express instances to the network (as was first implemented in MSDE SP3), but visibility can be easily enabled. Let's take a closer look at SQL Server Express to see how it addresses each of the issues.

Deployment

SQL Server Express is designed to be downloadable over the web and installed on a user system just like any other systems-software. Yes, this assumes SQL Server Express is installed by the System Administratorthat is, unless you use the new User Instance feature that I discuss later in this chapter and again in Chapter 9, "Getting Connected." You can use the interactive Setup program (as I describe later) or run a command-line Setup executable. With "quiet" mode, the user need not see any SQL Server Express setup dialogs at alljust like the way you installed the MDAC stack and JET.

When you install SQL Server Express, by default, the Setup program attempts to create a common SQLEXPRESS instance. If it's already in place, you'll be given the choice of abandoning setup or choosing another instance name. The idea here is to get all applications that use SQL Server Express to share a common instancenot create one of their own. This makes application configuration easier (in some respects) and reduces the memory and disk footprint on the user system as well.

If you uninstall your application, it's also a good idea to uninstall any unique SQL Server Express instance your application installed. However, Microsoft recommends that you leave any SQLEXPRESS instances in place unless you're sure the system does not have any other dependant applications or databases that use it. One way to determine these cross-dependencies is to search the Master database for other databases that other applications might have attached or created. I'll show you how to create databases and dump the schema in Chapter 3, "Relational Databases 101."

Security

By default, SQL Server Express is configured to protect your data far more than MSDE (and certainly more than JET). As you install SSEE, you're given the opportunity to further tighten security or loosen it, depending on your requirements. One of the first decisions you'll have to make is to choose how the setup utility configures the SQL Server Express instance. An "instance" is simply an independent copy of SQL Server. Since Version 2000, SQL Server permits you to install several independent instances of the server executables. Each instance is treated like a separate entityeach has its own Master database, its own security configuration, and its own place on disk and in memory. When SQL Server Express is set up, each application (or you) must to decide whether it can coexist with other applications using a shared instance or whether it requires its own independent instance. There are security issues associated with each configuration, as I outline shortly. Note that SQL Server Express permits you to install up to 15 instances, but I don't expect folks to install more than 1 or 2 except in very (very) special circumstances. Remember, each instance consumes system RAM, so having more instances running can be very expensive.

Installing a Common Instance

By default, SQL Server Express assumes that you want to create (or use) a common instance named "SQLEXPRESS". Yes, you can also name your own "common" instance, but this assumes that all programs you install know this unique name. If you keep the default name (SQLEXPRESS), other applications can automatically share this common instance. With this approach, all databases are managed by a single shared Master database, and there is one System Administrator (SA) passwordwhich need never be revealed. When using a common instance, you might be able to see other installed databases, and other applications might be able to see your databaseunless you make sure that appropriate permissions are put in place. Generally, for home, hobbyist, or small office implementations, you don't usually have to worry about one application disturbing data in another database. If you install a single common instance, only one set of SQL Server DLLs, caches, and other memory-resident structures are loaded into memory. This means only one SQL Server instance consumes CPU resources.

Installing an Independent Instance

During setup, if you set the instance name to your own value, the installation program creates an entirely independent version of SQL Server Express. This instance has its own Master database; its own files, DLLs, and memory footprint; and its own SA password. Each independent instance starts a separate SQL Server service (program) that consumes memory and CPU cyclesin addition to any other instances that might be installed. While this approach gives you more security, in the sense that only those granted access to this instance can see the databases it manages, it's more expensive to implement and maintain. That's because each instance duplicates DLLs, caches, and other in-memory structures.

Installing the "Default" Instance

Another approach is to remove the instance name during setup. In this case, SQL Server Express is installed as the "default" instanceassuming a default instance isn't already installed. Only one server instance can be installed as the "default" instance. Again, if this is the only instance installed on your system, there is very little difference between the other configurations except when it comes time to connect to SQL Server Express, as I discuss later in this chapter.

Activating the User Instance

A new feature for SQL Server Express is the ability to open a Connection using the "User Instance = True" key. In this case, SQL Server and the SqlClient provider work together to create a private user-specific instance of SQL Server in the user's Documents and Settings folder hierarchy. This instance is given its own Master, Model, and TempDb, as well as rights to be accessed by the user as SA. I discuss this approach (which is fraught with issues) later in Chapters 3 and 9.

Choosing the System Administrator's Password

The System Administrator (SA) password is the key that unlocks the entire database. The SA is permitted to do anything with or to the databases or the information they contain. The SA can add, change, or remove databases all without anyone knowing the changes have been made. It's critical that this password be set correctly and protected. By "correctly," I mean that the password must be complex enough to prevent anyone (or any program) from easily guessing the value. No, "password" is not a good choicebut it's better than nothing.

When you install SQL Server Express using a common instance, there is only one SA password to worry about. Since the SA account is accessible only when you choose to install using Windows authentication, the SA password need never be revealed. In any case, when you install SQL Server Express and specify mixed-mode security, you're asked to provide an SA password.

Microsoft (and I) recommend that you configure your SQL Server Express instance to use Windows Integrated Security authenticationat least, at first. This means the computer and Windows domain system administrator accounts are granted full "SA" access to the SQL Server Express instance. Sure, you'll need to be a computer or domain administrator to perform maintenance and install databases, as well as perform operations as simple as changing the database table values. No, this does not mean everyone who uses SQL Server Express should be an administrator. It does mean that as part of the setup regimen, you'll need to create a "user" or application Login and set appropriate permissions on the tables, views, functions, and stored procedures that your application needs. I discuss this in more detail later in this chapter.

Performance

SQL Server Express has abandoned the concept of a "governor." Frankly, I've rarely seen the governor slow down any MSDE system, but by dropping the governor, Microsoft has removed a point of confusion about the scalability of the SQL Server engine. Yes, SQL Server Express has ways to limit scalability and performance. SQL Server Express is programmed to address only 1GB of available system RAM for its buffer pool. This limits the number of data pages and procedures in the cache. Any professional can tell you that the easiest way to improve performance to SQL Server is to add memory to the system, which automatically permits SQL Server to allocate more memory to the cache. Limiting usable RAM cache to 1GB means that you'll (eventually) cap performance as you add load to the SQL Server Express instance. Does that mean SQL Server Express can support 1,000 users? Sure, if the load (diverse operations/second) placed on the SQL Server Express instance is not that great. In the same way, 10 users could bog down any version of SQL Serverespecially if the application is not written efficiently. Consider that the RAM cache does not have to be very large to hold all of the pertinent data and procedure pages if the application is focused and the database is small.

SQL Server Express is also limited to a single processor instead of being able to run threads on additional processors if your system supports it. This limitation also tends to scale back the upper limit of the performance you can expect from SQL Server Express. Again, with efficient design, your application should still be able to scale to several dozen users without problems.

When an application using SQL Server Express ends, SQL Server does not shut down. No, there is no "autoshutdown" option in the SQL Server Express version. Because of this, the SQL Server engine is left in memory and continues to consume system RAM and CPU resources even after your application has ended. Yes, it's possible to write SQL Management Objects (SMO) or other (easier to write) routines to shut down the SQL Server Express instance, but this needs to be done only when you're sure it's not being shared by other applications.


Scalability

While MSDE databases are limited to 2GB, SQL Server Express database files are capped at 4GB. This means you can store twice as much data as beforethat's over 8 million 500-byte rows. Frankly, why some small companies think this is a big issue puzzles me. I've worked with large corporate and small city mainframe databases that fit nicely on a single 40MB disk packalong with the data logs for our Star Trek game. I guess people like to use the database to store a lot of documents and pictures of their pets. If you eliminate the BLOBs, SQL Server Express can support most medium-size business databases. As with MSDE, the log file size in SQL Server Express Edition is not limitedat least, not artificially. You still need to back up and truncate the logs periodically, as I discuss later.

Replication

One of the more important issues (and serious limitations IMHO) of SQL Server Express edition is the inability to publish replications. That is, SQL Server Express edition can be a transactional or merge replication subscriber, but not a publisher. MSDE, on the other hand, supports both snapshot and merge replication publications as well as subscriptions. Given the importance of replication architectures and how SQL Server Everywhere is likely to use replication to sync its database, having to buy the Workplace edition to host a replication publication seems, well, expensive.

Crippled Features

There is another set of features that Microsoft crippled in SQL Server Express editionthey didn't want to give too much away. These include Query Against Views, Indexing XML datatypes, index performance improvements, parallel service security, failover clustering, log shipping, database mirroring, high-availability maintenance features, and rich status reporting. Sure, some of these features will impact performance, but others won't really be missed until you start working with larger, enterprise-size database systems or have to support many more users.

Tools

Microsoft has changed its approach to the tools as well. Even if you don't count the new GUI setup, when you download SQL Server Express, a new version of OSQL, SQL Computer Manager (MMC snap-in), and SQLCMD command-line tools are included to help manage the SQL Server Express instance. In addition, Microsoft has retooled its SQL Server Management Studio to accommodate the limitations (and features) of SSEE. It's available via separate download called the "SQL Server 2005 Express Edition Toolkit," which contains these tools along with Reporting Services. I think you'll find that to get all of the free features of SSEE, you'll have to download three or four separate packages. I'll show you how to install all of those later in this chapter.

Administration

Yep, all of the tasks you had to do to administer MSDE also have to be done with SQL Server Expressjust as they have to be done with other versions of SQL Server. I would love to see an automated log backup script that periodically dumps the database and logs, and then truncates the log. Perhaps that's something that some enterprising third party needs to create. Until then, I recommend developers build these admin tasks into their applications and use SMO or the new framework factory classes to perform these needed maintenance functions and use Windows Scheduler to help. Again, I'm writing a new EBook on these database admin classes.

Service Packs

SQL Server Express can be installed only using the Windows Installer (MSI) installation package files. Unlike MSDE, you won't be able to create custom MSM setup scripts. In other respects, upgrades are done the same as in SQL Server Standard Edition, so you'll need to update the SQL Server engine via traditional Service Packs. Microsoft is acutely aware of the issues in this regard and is still formulating a better strategy.

What About the Workgroup Edition?

The newest member of the SQL Server family pushes the Standard edition up the SKU tree, so it would be the next logical step up from the Express editionat least, price-wise. The Workgroup edition should perform better than the Express edition, as it supports three times as much RAM cache (3GB) and two CPUs instead of just one. It also supports more replication scenarios, but not as many as the Standard edition. It can now host Reporting Services, but as I'll show you in Chapter 14, there are new reporting options afforded in the "lesser" editions. The Workgroup edition does support log shipping, Data Transformation Services (to import and export data), and limited replication publishing.




Hitchhiker's Guide to Visual Studio and SQL Server(c) Best Practice Architectures and Examples
Hitchhikers Guide to Visual Studio and SQL Server: Best Practice Architectures and Examples, 7th Edition (Microsoft Windows Server System Series)
ISBN: 0321243625
EAN: 2147483647
Year: 2006
Pages: 227

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net