Category Archives: Microsoft Database Cluster

Tại sao mô hình SharePoint Farm lại chạy ổn định hơn trên nền ảo hóa VMware vSphere ?


Tôi xin giới thiệu qua mô hình SharePoint Farm bằng một vài hình ảnh sau:

1. Mô hình chuẩn của SharePoint Farm theo vật lý:

WP_20150121_001

2. Cấu trúc 3 tier Model cho SharePoint Farm:

WP_20150121_002_2

3. Cấu trúc Chức năng để triển khai SharePoint Farm:

clip_image004

4. Cấu trúc dữ liệu vật lý của SharePoint Farm:

clip_image006

5. Tổng kết mô hình SharePoint Farm trên nền ảo hóa VMware:

5.1. Hệ thống được vận hành trên vSphere:

Thực tế việc triển khai SharePoint Farm trên nền ảo hóa của VMware vSphere nhằm đảm bảo:

1. Tính năng Physical High Available (HA) và có cân bằng tải nguồn tài nguyên các máy ảo (CPU, Memory, Datastorage – DRS).

2. vMotion – HA để đảm bảo di chuyển tự động và không gây gián đoạn khi gặp sự cố của các máy chủ vật lý.

3. vSphere DRSDataStorage DRS giúp tự động cân bằng tải nguồn tài nguyên và chống sự cố thiếu tài nguyên các máy chủ ảo.

4. vSphere Data Protection Replicate giúp backup/restore và đồng bộ dữ liệu giữa Site Master (là Cluster Data chính đang chạy các máy chủ SharePoint Farm) với Site Backup (là Cluster Data chuyên lưu trữ và khôi phục các máy chủ SharePoint Farm).

5.2. Vì sao không nên dùng Microsoft Cluster Fail ?

Với 4 tính năng quan trọng trên, chúng ta sẽ không cần đến mô hình Cluster Fail truyền thống của Microsoft hay các hãng khác, vì:

1. Lãng phí hệ thống tài nguyên vật lý do phải có 2 cặp máy chủ vật lý có cấu hình giống hệt nhau.

2. Cấu hình Cluster Fail phức tạp, vận hành và duy trì phức tạp, tốn kém thời gian sửa chữa, gián đoạn hệ thống vẫn có khả năng xẩy ra.

3. Cluster fail vật lý thường là chế độ Active – Standby / Active – Passive, do đó không có tính năng Load Balancing “cân bằng tải” cho các dịch vụ ứng dụng, hoặc chia tải các dịch vụ cho từng máy chủ chạy chức năng độc lập. ví dụ: SQL Server 2008 Cluster Fail 2 Notes (thực tế chỉ chạy 1 máy chủ SQL cho tất cả các chức năng: DB, Index, Crawling, Search, Query…đồng thời còn phải thêm chức năng đồng bộ dữ liệu sang máy chủ SQL note 2, khi máy chủ SQL Note 1 – máy chính báo lỗi thì máy chủ SQL note 2 mới đổi thành SQL note chính – điều này chỉ giúp không gián đoạn / mất dữ liệu cho dịch vụ).

SharePoint nâng cao: Phần 2 – Cấu hình Blob Cache và giải mã lưu trữ , chia sẻ các file SharePoint 2010


Mục đích:

– So với phần 1 – cấu hình RBS để giúp SharePoint 2010 chuyển hướng lưu các files audio, media, document ra thư mục file server thay vì mã hóa nhị phân lưu trong SQL server.

– Người quản trị có thể dễ dàng triển khai lưu trữ và khôi phục dữ liệu dạng files đính kèm độc lập với CSDL của SharePoint.

– Bất cập là các file lưu ra thư mục máy chủ SQL Server / NAS là các files và thư mục bị mã hóa tên và nội dung.

 

Triển khai:

Tôi xin chia sẽ với các bạn cách đơn giản để tăng hiệu xuất đọc files, bao gồm cả văn bản (Document), hình ảnh, media, office files (Word, Excel, Power Point, Excess), PDF, và cả file đính kèm (Attached files) bằng cách sử dụng cấu hình thay đổi thông số đối với BlobCache.

 

Trước hết chúng ta xem BlobCache như thế nào trên web server.

 

 

Giờ chúng ta bắt đầu thay đổi thông số cấu hình cho chức năng lưu trữ files (cached files) của SharePoint Server 2010.

Bước 1. Mở IIS : Start -> Administrative Tools -> Internet Information Service (IIS) Manager

image

Bước 2. Click phải chuột lên SharePoint – 80 (hay bất kỳ ứng dụng web nào bạn muốn thay đổi thông số thiết đặt)

image

Bước 3.

click vào Explore

image

Bước 4.

Chọn Notepad để mở file web.conf

image

Bước 5. Tìm giá trị mặc định

Giá trị mặc định của BlobCache

image

<BlobCache location=”C:\BlobCache\14″ path=”\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$” maxSize=”10″ enabled=”false” />

Bước 6. Bạn nên thêm nhiều định dạng khác như:

pdf, doc, docx, xls, xlsx, xlsm, ppt, pptx, pptm, và thiết đặt enabled=”true”.

 

<BlobCache location=”C:\BlobCache\14″ path=”\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv|pdf|doc|docx|xls|xlsx|xlsm|ppt|pptx|pptm)$” maxSize=”10″ enabled=”true” />

– Save lại file web.config, và chạy lệnh cmd:  IISreset /noforce

Bước 6. Ổ đĩa C khi chưa config BlobCache

image

 

Bước 7. Ổ đĩa C sau khi config BlobCache

image

Bước 8. Thêm một file ppt/pdf … vào Share Documents hay bất cứ 1 site/ subsite nào tùy ý

image

Lưu ý:

Với người đầu tiên thực hiện thao tác tải file pdf đó về thì file này được lưu trữ vào ổ đĩa cứng, sau đó từ thao tác lần thứ hai hay với người thứ hai cùng thao tác thì SharePoint web server lấy từ nơi lưu trữ chứ không lấy từ database như lần đầu tiên.

image

File pdf đó đã được copy vào ổ đĩa cứng như sau.

image

 

Link tham khảo: Configure cache settings for a Web application (SharePoint Server 2010) 

Chúc các bạn thành công !

Mời các bạn đón đọc tiếp: SharePoint nâng cao: Phần 3 – Cấu hình User Proflie Service và khởi tạo My Site trên SharePoint 2010

KHÓA ĐÀO TẠO: THIẾT KẾ CÁC GIẢI PHÁP CƠ SỞ DỮ LIỆU CHO MICROSOFT SQL SERVER 2012


1.    Giới thiệu khóa học:

 

          Đây là khoá học cung cấp cho bạn cách thiết kế và giám sát hiệu suất cao, tính sẵn sàng cao của các giải pháp cơ sở dữ liệu trong SQL Server 2012. Trong khóa học này cũng thảo luận về việc lên kế hoạch và thiết kế cho kiến trúc cơ sở dữ liệu, lưu trữ, các đối tượng và các máy chủ. Học viên sẽ có cơ hội thực hành bằng tay các kĩ văng và các tác vụ thiết kế trên môi trường phòng lab ảo và sẽ được học về các chủ đề như nén dữ liệu, tính sẵn sàng cao, chuyển dữ liệu, bảo mật và tính leo thang.

          Sau khi hoàn thành khóa học, học viên có thể:

o    Thiết kế một kiến trúc máy chủ cơ sở dữ liệu phù hợp cho một kịch bản ứng dụng kinh doanh.

o    Thiết kế sơ đồ logic cho một cơ sở dữ liệu dựa trên các yêu cầu của ứng dụng.

o    Thiết kế việc triển khai ở mức vật lý cho cơ sở dữ liệu cho các yêu cầu thiết lập đưa ra.

o    Các lựa chọn giá trị cho bao gồm cả dữ liệu nhị phân tương đối trong việc thiết kế cơ sở dữ liệu.

o    Lên kế hoạch và quản lý các chỉ số cho hiệu suất tối ưu.

o    Mô tả những xem xét quan trọng cho việc thiết kế tính bảo mật trong các trường hợp và các cơ sở dữ liệu của SQL Server.

o    Lên kế hoạch quản lý dựa trên chính sách để quản lý các trường hợp máy chủ, cơ sở dữ liệu và các đối tượng khác của SQL Server 2012

o    Lê kế hoạch giám sát tình trạng của SQL Server.

o    Thực hiện giám sát tình trạng của SQL Server bằng cách sử dụng SQL Server Utility

o    Các định và thực hiện các chiến lược sao lưu thích hợp cho một kịch bản đưa ra.

o    Lên kế hoạch và quản lý việc bảo trì và tự động hóa với nhiều máy chủ.

o    Hiểu về lợi ích của việc sử dụng PowerShell để quản lý SQL Server 2012

o    Thiết kế một chiến lược nhân rộng tối ưu từ tập hợp các thiết lập kinh doanh và các yêu cầu kỹ thuật.

o    Lên kế hoạch và thực hiện một giải pháp mang tính sẵn sàng cao.

2.    Đối tượng nên tham gia

Khóa học này hướng đến các cá nhân – những người thiết kế các giải pháp co sở dữ liệu cho các tổ chức và đã có kinh nghiệm trong triển khai cơ sở dữ liệu và quản trị cơ sở dữ liệu SQL Server. Những cá nhân này thiết kế cơ sở dữ liệu như là một nhiệm vụ chính của họ. Họ có trách nhiệm lập kế hoạch và thiết kế kiến trúc cơ sở dữ liệu, lưu trữ, các đối tượng và các dịch vụ. Họ cũng tạo ra kế hoạch cho môi trường nơi mà giải pháp cơ sở dữ liệu đang chạy.

3.    Điều kiện tham dự khóa học

 

Ngoài các kinh nghiệm chuyên môn, học viên muốn tham gia vào khóa học này nên có các hiểu biết về các công nghệ sau:

          Kinh nghiệm về Transact-SQL

          Quen với các phần phần và các công cụ của SQL Server 2012

          Quen với các đối tượng trong một cơ sở dữ liệu SQL Server.

          Quen với mạng Windows của doanh nghiệp và kiến trúc bảo mật.

Học viên tham gia khóa học này có thể đáp ứng các điều kiện tiên quyết bằng cách tham gia các khóa học sau đây, hoặc có trình độ hiểu biết tương đương.

+ MCSA: SQL Server 2012

Hoặc tham dự:

+ Khóa 10774: Querying Microsoft SQL Server 2012

+ Khóa 10775: Administering a Microsoft SQL Server 2012 Databases

+ Khóa 10776: Developing Microsoft SQL Server 2012 databases with Microsoft SQL Server 2012.

4.    Thời lượng

 

Khóa học kéo dài trong 5 ngày

 

5.    Môi trường học tập

          Bao gồm cả nội dung học lý thuyết và thực hành

          Cơ sở vật chất: phòng học, bảng, bút viết, máy chiếu …được cung cấp theo tiêu chuẩn quốc tế để đảm bảo chất lượng đào tạo cho học viên. Hệ thống ánh sáng tiêu chuẩn, điều hòa nhiệt độ…

          Lớp học trung bình 15 học viên

          Giảng viên có kinh nghiệm và chứng chỉ quốc tế.

6.    Nội dung khóa học

 

Ngày

Buổi

Nội dung chính

Thứ nhất

      Module 1: Thiết kế một kiến trúc cơ sở dữ liệu máy chủ

 

Lý thuyết

       Lên kế hoạch cho kiến trúc cơ sở dữ liệu máy chủ

       Lên kế hoạch cho phần cứng máy chủ

       Xem xet cho vấn đề hợp nhất cơ sở dữ liệu máy chủ

       Quản lý các nguồn tài nguyên máy chủ trong một kiến trúc hợp nhất cơ sở dữ liệu.

Thực hành

       Lên kế hoạch cho việc hợp nhất

       Quản lý các nguồn tài nguyên cho một ví dụ SQl Server

       Quản lý các nguồn tài nguyên cho các ví dụ nhiều SQL Server trong một máy chủ Windows đơn.

Module 2: Thiết kế một sơ đồ cơ sở dữ liệu logic

Lý thuyết

       Mối liên hệ giữa các kĩ thuật thiết kế cơ sở dữ liệu

       Lên kế hoạch cho các sơ đồ và các bảng.

Thực hành

       Lên kế hoạch cho một sơ đồ cơ sở dữ liệu

       Tạo một View để hiển thị thông tin nhân viên trả về

Module 3: Thiết kế một triển khai cơ sở dữ liệu ở mức vật lý

Lý thuyết

       Lên kế hoạch các File và cac Filegroup

       Lên kế hoạch cho một dữ liệu phân vùng

       Lên kế hoạch cho việc nén cơ sở dữ liệu

Thực hành

       Lên kế hoạch cho các File và Filegroups

       Thực hiện chính sách Timesheet tài liệu

Thứ hai

Module 4: Kết hợp tập hợp dữ liệu vào các cơ sở dữ liệu

Lý thuyết

       Xem xét cho các công việc làm với các File dữ liệu trong SQL Server 2012

       Thực hiện FileStream và FileTables

       Tìm kiếm các File dữ liệu

Thực hành

       Tạo các FileTable

       Tạo và sử dụng một chỉ số Full-Text

Module 5: Điều chỉnh cơ sở dữ liệu

Lý thuyêt

       Tối ưu hóa hiệu suất truy vấn bằng cách dử dụng các chỉ số

       Làm việc với các kế hoạch truy vấn

       Giám sát hiệu suất

Thực hành

       Lên kế hoạch cho các chỉ số

       Kiểm tra các chiến lược chỉ số hóa

       Làm việc với các kế hoạch thực hiện

Module 6: Thiết kế tính bảo mật cho cơ sở dữ liệu

Lý thuyết

       Giới thiệu về việc lên kế hoạch cho vấn đề bảo mật

       Lên kế hoạch bảo mật

       Sức chữa bao gồm trong cơ sở dữ liệu.

       Bảo vệ dữ liệu với mật mã hóa

       Thực hành

       Lên kế hoạch bảo mật máy chủ và cơ sở dữ liệu

       Thực hiện một chiến lược truy cập cơ sở dữ liệu

       Thực hiện một mật mã hóa dữ liệu trong suốt

Thứ ba

 Module 7: Quản lý dựa trên chính sách

Lý thuyết

       Giới thiệu về cách quản lý dựa trên chính sách

       Lên kế hoạch và thực hiện quản lý dựa trên chính sách

Thực hành

       Lên kế hoạch cho một chiến lược quản lý dựa trên chính sách

       Thực hiện quản lý dựa trên chính sách

       Kiểm tra việc tuân thủ theo chính sách

Module 8: Giám sát tình trạng máy chủ

Lý thuyết

       Giói thiệu về việc giám sát tình trạng máy chủ

       SQL Server Utility

Thực hành

       Tạo một Unility Control Point

       Cấu hình các chính sách cho tình trạng

Module 9: Thiết kế một giải pháp sao lưu cơ sở dữ liệu

Lý thuyết

       Sao lưu và phục hồi SQL Server

       Lên kế hoạch cho một chiến lược phục hồi

Thực hành

       Lên kế hoạch một chiến lược phục hồi và sao lưu

       Thực hiện một chiến lược sao lưu

       Thực hiện một cách phục hồi từng phần

Thứ bốn

Module 10: Tự động bảo trì nhiều máy chủ

Lý thuyết

        Tổng quan về tự động bảo trì

       Quản lý nhiều máy chủ

Thực hành

       Lên kế hoạch và thực hiện một môi trường cho nhiều máy chủ

       Lên kế hoạch và thực hiện các công việc trên nhiều máy chủ

Module 11: Quản lý máy chủ SQL với PowerShell

Lý thuyết

       Giới thiệu về Windows PowerShell

       Lên kịch bản với Windows PowerShell

Thực hành

       Sử dụng PowerShell để quản lý SQL Server

       Tạo các Script PowerShell

Module 12: Sao chép dữ liệu

Lý thuyết

        Sao chép trong SQL Server

       Lên kế hoạch cho việc sao chép

Thực hành

       Lên kế hoạch sao chép

       Thực hiện sao chép

Thứ năm

Module 13:  Lên kế hoạch cho tính sẵn sàng cao

Lý thuyết

       Tìm hiểu về tính sẵn sàng cao trong SQL Server 2012

       Các nhóm luôn luôn trong trạng thái sẵn sàng

Thực hành

       Tạo một nhóm luôn trong trạng thái sẵn sàng

       Sử dụng một nhóm luôn trong trạng thái sẵn sàng

       Thử nghiệm chuyển đổi dự phòng cho các nhóm luôn sẵn sàng.

Tổng kết và kết thúc khóa học

 

 

Sưu tầm: Overview of Windows Azure SQL Database


Nội dung bài thi Cloud có bài này đây:

Windows Azure SQL Database is a cloud database service from Microsoft. SQL Database provides web-facing database functionality as a utility service. Cloud-based database solutions such as SQL Database can provide many benefits, including rapid provisioning, cost-effective scalability, high availability, and reduced management overhead. This paper provides an architectural overview of SQL Database, and describes how you can use SQL Database to augment your existing on-p

Overview / Survival Guide

An overview/survival guide topic provides a guided view of a technology, solution or technology-related concept or activity through links to internal (TechNet Wiki) and external Microsoft and community information. For example, an overview of hyper-v for beginners or SQL Server pivot table survival guide. Typically, this type of topic will grow over time as other users contribute useful links and descriptions so it is okay to start with a short topic!

Begin with a description of the problem using general terms and broad concepts. This will provide context for the solutions that follow as well as set expectations for the reader. In separate sections, provide scoped guidance using appropriate headers by media type (videos, documents, white papers, blogs), task (plan, design, develop, deploy, maintain), feature (join, insert, delete, update, select), etc.

Media Type/Task/Feature 1

Describe the media type, task or feature. Media type requires less description, other classifications may require more.

  • First Link. Brief description of how reference is useful.

Repeat as needed.

References

Increase the credibility of the article by including useful references. This includes references used for the solution as well as relevant links to the TechNet Library, your blog, and other sites in community.

  • First Reference. Brief description of how reference is useful.

Don’t forget to tag the article with appropriate keywords so other users can find and learn from your experiences!

remises data infrastructure or as your complete database solution.

Last Reviewed: 8/26/2011

 Note

If you wish to contribute to this page, use the Edit tab at the top (sign-in required). If you wish to provide feedback for this documentation please either send e-mail to azuredocs@microsoft.com or use the Comment field at the bottom of this page (sign-in required).

Table of Contents


Introduction

Companies that provide Internet-based applications are facing many challenges today. Users expect access to ever-increasing amounts of data from anywhere, at any time, and from any device. The size, scale of use, and variety of forms of data are expanding rapidly. Developers must build and deploy applications quickly to keep up with these growing demands. Using the traditional on-premise data management model, meeting these needs demands constant investment in and management of servers, operating systems, storage, and networking. IT and operational staff must constantly monitor the infrastructure to ensure that capacity, performance, and availability are maintained as data volumes and user loads increase. Cloud database services, such as Windows® Azure SQL Database, provide an improved way to respond to these challenges. SQL Database is built on three key tenets: manageability, scalability, and developer agility.

From a developer’s perspective, SQL Database offers the well-known rich relational programming model, and uses a familiar data access protocol and simple deployment options. SQL Database simplifies the process of creating, prototyping, and deploying applications that integrate data across the enterprise. SQL Database removes infrastructure obstacles, thereby giving developers more freedom to innovate and experiment with new ways of sharing data.

From the IT management perspective, SQL Database offers a systematic and secure cloud-deployed solution that integrates with your on-premise assets and gives the IT organization oversight and control of distributed data assets. SQL Database is built on the same Microsoft SQL Server® technologies that have already been used and proven in on-premise deployments to provide high availability, reliability, and security.

From the business perspective, SQL Database offers a cost-effective approach for managing data, with a flexible consumption-based pricing plan, near-zero capital and operational expenditures, and the ability to quickly and easily scale up or down as your needs change.

If you are planning to build applications on large or shared data sets, provide on-demand scalable data storage, or augment your on-premise data infrastructure with low-cost, rapidly provisioned cloud-based storage, SQL Database can provide a robust and cost-effective solution.
Return to Top


Key Features

SQL Database is a key component of the Microsoft data platform offering flexibility and scalability; reliability and security; and developer agility. Let’s begin by looking at some of these features.

Manageability

Windows Azure SQL Database offers the high availability and functionality of an enterprise data center without the administrative overhead that is associated with an on-premise solution. This self-managing capability enables organizations to provision data services for applications throughout the enterprise without adding to the support burden of the central IT department or distracting technology-savvy employees from their core tasks to maintain a departmental database application.

Low-Friction Provisioning

When you use the traditional on-premise data infrastructure, the time that it takes to deploy and secure servers, network components, and software can slow your ability to prototype or roll out new data-driven solutions. However, by using a cloud based solution such as SQL Database, you can provision your data-storage needs in minutes and respond rapidly to changes in demand. This reduces the initial costs of data services by enabling you to provision only what you need, secure in the knowledge that you can easily extend your cloud-based data storage if required at a future time.

High Availability

SQL Database is built on robust and proven Windows Server® and SQL Server technologies, and is flexible enough to cope with any variations in usage and load. The service replicates multiple redundant copies of your data to multiple physical servers to ensure data availability and business continuity. In the case of a disaster, SQL Database provides automatic failover to ensure maximum availability for your application.

Published service level agreements (SLAs) guarantee a business-ready service. When you move to SQL Database, you no longer need to back up, store, and protect data yourself.

Scalability

A key advantage of the cloud computing model is the ease with which you can scale your solution. Using SQL Database, you can create solutions that meet your scalability requirements, whether your application is a small departmental application or the next global Web success story.

Global Scalability

A pay-as-you-grow pricing model allows you to quickly provision new databases as needed or scale down the services without the financial costs associated with unused capacity. With a database scale out strategy your application can utilize the processing power of hundreds of servers and store terabytes of data.
SQL Database runs in worldwide data centers, so you can reach new markets immediately. If you want to target a specific region, you can deploy your database at the closest data center. You can harness this global scalability to build the next generation of Internet-scale applications that have worldwide reach, but without the infrastructure costs and management overhead.

Multi-Tenant Support

Independent software vendors (ISVs) who develop Software+Services (S+S) offerings must provide adequate isolation for individual customers’ data. ISV’s must be able to charge each customer the right price for the data storage services that they have consumed. SQL Database provides the flexibility that ISVs need to segregate customer data and implement multi-tenant billing, which enables you to build a global S+S solution quickly and easily.

Developer Empowerment

One of the potential obstacles to building great cloud-based applications is the requirement for developers to learn new tools, programming platforms, and data models. However, SQL Database is built on top of the TSQL language and is designed to be compatible with SQL Server with a few changes, so developers can use their existing knowledge and skills. This reduces the cost and time that is usually associated with creating a cloud-based application.

Familiar Client Development Model

When developers create on-premise applications that use SQL Server as a data store, they employ client libraries that use the Tabular Data Stream (TDS) protocol to communicate between client and server. There is a large global community of developers who are familiar with SQL Server and have experience of using one of the many client access libraries that are available for SQL Server, such as Microsoft ADO.NET, Open Database Connectivity (ODBC), JDBC and the SQL Server driver for PHP. SQL Azure provides the same TDS interface as SQL Server, so developers can use the same tools and libraries to build client applications for data that is in the cloud.

Proven Relational Data Model

SQL Database data is stored in a way that is very familiar to developers and administrators who use SQL Server. You can create a SQL Database Server which is a group of databases that are spread across multiple physical machines. This SQL Database Server is in some ways conceptually analogous to a SQL Server instance and acts as an authorization boundary just as in SQL Server. You can also set geo-location at this level. Windows® Azure™ and SQL Database data centers are located worldwide; if your application is relevant to a specific region, you can increase performance by geo-locating it there.

Within each server, you can create multiple databases that have tables, views, stored procedures, indices, and other familiar database objects. This data model ensures that your database developers can use their existing relational database design and Transact-SQL programming skills, and easily migrate existing on-premise database applications to the cloud.

SQL Database servers and databases are logical concepts that do not correspond to physical servers and databases. This abstraction enables the flexible provisioning that was described earlier in this paper. Administrators and developers can concentrate on data model design because SQL Data Services (SDS) insulates them from the physical implementation and management.

Synchronization and Support for Offline Scenarios

SQL Database is part of the rich Microsoft data platform which integrates with the Microsoft Sync Framework to support occasionally connected synchronization scenarios. For example, by using SQL Database and the Sync Framework, on-premise applications and client devices can synchronize with each other via a common data hub in the cloud.
Return to Top


Typical Scenarios

To see how these key features of SQL Database can benefit organizations, let’s consider some common business application scenarios.

Web Application

Most Web sites require a database to store user input, e-commerce transactions, and content, or for other purposes. Traditionally, such a data-driven Web site is implemented with a database server in the same data center as the Web server.

Using SQL Database, Web developers can choose to place data in the cloud where it is highly available and fault tolerant. As with the departmental application scenario, you can host your Web application on your own server, or by using a third-party Web hosted, and access the data in SQL Database across the Internet. However, to avoid issues of performance and application complexity that latency causes, you should consider hosting the Web site itself in Windows Azure so that it can benefit from co-location with your SQL Database.

Departmental/Workgroup Application

In a large organization, qualified database administrators run the mission-critical, company-wide databases, which receive the benefits of their experience. These databases may also have fault-tolerant configurations that have uninterruptible power supplies, redundant array of independent disks (RAID) storage, and clustered servers.

In contrast, a typical large organization also has many smaller database applications that IT-literate employees in departments and groups across the organization have created. They may have built such applications by using Microsoft Office Access®, Microsoft SQL Server® Express, or third-party software. The databases may be hosted on a single, cheap server, or even on a desktop computer, and they are typically managed by staff whose primary role is not data administration. Although the impact of a database failure is usually limited to the department that uses it, such interruptions can hamper productivity for large groups. It is also difficult to keep track of all such databases throughout your organization.

SQL Database represents an excellent opportunity to reorganize such disparate database applications. By provisioning SQL Databases for small departmental applications, your users can benefit from the self-management capabilities and fault tolerance that SQL Database provides, without placing an additional burden on your IT staff. This centralized approach also makes it much easier to audit the databases in your organization. In addition, because SQL Database has a pay-as-you-grow pricing structure, you can run small database applications very inexpensively.

When you migrate an on-premise client-server application to SQL Database, you can choose to leave the client application on premise and migrate only the data tier, which you can access by using common data access libraries across the Internet. However, if you use this application design, you must consider the latency issues that are inherent in Internet-based connectivity, which may result in more complex code in the client application. A better solution is to move the data access logic to Windows Azure, so that the same data center hosts both the data access code and the data itself. You can create a Web-based user interface (UI) in Windows Azure to which users connect with a browser. Alternatively, you can create a service by using ADO.NET Data Services to write code that exposes a SOAP, REST, or JSON interface to a simple desktop UI.

Data Hub

In a data hub scenario, you typically want to enable various mobile and remote users to collaborate by using the same set of data. Consider an insurance company that has a large mobile sales force that consists of more than five thousand people who are scattered across North America. Keeping customer and pricing data synchronized across the entire sales force is a constant problem. The first part of the problem is getting new customer contact information from the sales force into the internal finance systems. The second part is getting new price-list information out to the sales force. The insurance company needs a solution that will:

  • Keep each salesperson’s portable computer up to date with the latest pricing information
  • Keep the corporate system up to date with new customer information from the portable computer of each salesperson, without the risk of exposing critical corporate data

Currently, product and customer data is stored in a central SQL Server database in the data center. In addition, employees in the sales force use an application that runs on their portable computers and stores data in SQL Server Express. The IT department does not want to open the firewall to the on-premise data center to provide possibly insecure access from each salesperson’s portable computer. The development team can provide a safe and fully synchronized solution that uses SQL Database, by completing the following three tasks:

  1. Create a database in SQL Database to store product data and customer data.
  2. Create a Sync Framework provider for the data center. This Sync Framework provider keeps product and customer data synchronized between the data center and the SQL Database data hub.
  3. Create a second Sync Framework provider for the sales force’s portable computers. This Sync Framework provider keeps product and customer data

synchronized between the field salespeople and the SQL Database data hub.

The diagram in Figure 2 illustrates this solution.

Fig 2: Conceptual overview of a data hub scenario

Product pricing data flows from the enterprise database, through SQL Database, to more than five thousand salespeople. Customer contact data flows from more than five thousand salespeople, through SQL Database, to the enterprise database. When a salesperson’s portable computer is offline, changes that occur to local data are tracked. When the portable computer’s Internet connection is restored, the Sync Framework provider enumerates these changes and sends them to SQL Database. The safety of the corporate data center is ensured.

ISV S+S Offering

ISVs can use SQL Database to offer Software+Services solutions without distracting themselves from their core software development competency so that they can develop a hosting infrastructure capability. Windows Azure provides an ideal environment to host software services without the overhead of maintaining the hosting infrastructure at the premises of the ISV or the customer.

Consider an S+S vendor that provides compliance support to businesses, including financial, government, health-care, real estate, and franchising companies. Such organizations need to store historical data, such as financial records, business transactions, or correspondence, either for future reference or for compliance with record-keeping regulations. The S+S vendor employs a document management system for archived data that provides full text search, together with workflow functionality and check processing. The S+S vendor must also track and report access to resources as required for audit purposes. To reduce data storage costs and help to ensure rapid and secure access to records, the vendor wants to migrate its customers’ archive data to the cloud.

To achieve this aim, the company can create an account with SQL Database, together with Windows Azure accounts within the company space for each of its customers. After customers have an account, they can upload any form of document, such as e-mail, scanned checks, and escrow documents. Some of the documents are stored as binary large objects (BLOBs) in the Windows Azure BLOB store, whereas other documents are stored as structured data in SQL Database with standardized data fields.

In this scenario, it is essential to ensure that each customer’s data is isolated and only available to the right users. The S+S vendor can use SQL Database to implement this isolation and prevent inappropriate access. SQL Database also makes it simple to audit usage so that it is possible to bill customers appropriately.
Developers who write this solution for Windows Azure will find that it is tightly integrated with SQL Database. For example, they can use the familiar SQL Server client libraries that they use on the desktop; they can use one Windows Azure account to authenticate a user across the cloud; and they can use the same geo-location properties for the Windows Azure code and the SQL Database data.
Return to Top


Architectural Overview

In this section, you will see how SQL Database uses databases, how it structures relational data, and how you can connect to data.

Provisioning Model SQL Database is designed to support extreme scale and low cost while providing a familiar environment to administrators and developers. It has the hierarchical provisioning model that is described below to achieve this.

Windows Azure Platform Accounts

To use SQL Database, you must begin by creating a Windows Azure platform account. Using this account, you can access all of the facilities within the Windows Azure platform. This account is also used to bill for usage for all Windows Azure platform services. For more information on getting an account, see Windows Azure Platform Offers .

SQL Database Servers

Each Windows Azure account can contain multiple SQL Database servers. These servers are not implemented as SQL Server instances; instead, you can view them as logical concept that is used to provide a central administrative point for multiple SQL Database servers. Each server includes logins, just as you find in on-premise SQL Server instances, and you can also specify the geographic region your server is located in at this level.

You use Windows Azure Platform Management Portal to create and manage your database server. This portal provides an easy-to-use interface where you can create logins and provision databases.

SQL Databases

Each SQL Database server can contain multiple databases. A new database server has a master database that is just like an on-premise SQL Server instance. In each database, you can create tables, views, indices, stored procedures, and other familiar database objects. You can use the Windows Azure Platform Management portal to create a new database. Alternatively, you can use the Transact-SQL CREATE DATABASE command, and SQL Database Management API .

SQL Databases are implemented as replicated data partitions across multiple physical computers in an SQL Database data center. This architecture provides automatic failover and load balancing. Customer data is spread across multiple physical servers within the geo-location that is specified for the SQL Database server that is hosting the database. In this way, SQL Database achieves high availability and stability for all applications from the smallest to the largest without requiring intensive administrative effort.

Relational Database Model

A key design aim for SQL Database is to provide a familiar environment for database programmers. Therefore, the objects that you can create in a SQL Database are the same as those that are available in a SQL Server database. These include:

  • Tables: store data in rows with a consistent and normalized structure.
  • Indexes: increase the speed of searches and maximize performance.
  • Views: provide alternative ways to look at data in one or more tables.
  • Stored procedures: store common Transact-SQL scripts for simple execution.
  • Triggers: ensure data integrity by executing checks when data is modified.

Both SQL Server and SQL Database use the Transact-SQL language for database creation and data manipulation. Database developers and administrators can therefore be productive immediately in SQL Database by using their existing expertise.

For more information about Transact-SQL, see http://msdn.microsoft.com/en-us/library/ms189826.aspx .

Data Access Architecture

SQL Database exposes a Tabular Data Stream (TDS) endpoint to databases that are hosted in the cloud. TDS is the same network protocol that on premise SQL Server uses, therefore, a desktop client application can connect to SQL Database in the same way it connects to an on-premise SQL Server instance. Such an application runs code that was built by using ADO.NET, ODBC, or whatever technology you prefer to work with. Queries are formulated in the Transact-SQL language. Secure Sockets Layer (SSL) is required when a client application connects to the SQL Database TDS endpoint to ensure security.

In this desktop client application/SQL Database scenario, you must consider the latency that may arise over the cloud and handle it in the client code. The latency is inevitably higher than it would be if the database was on your premises. One way to avoid this latency is to create a Web-based user interface for your database application and host it in Windows Azure. In this scenario, the client code and data is hosted in the same data center, so latency is low. Users connect to such an application by using a Web browser. You can also use this architecture for data-driven Web sites that are hosted in Windows Azure.

In the third architecture that SQL Database supports, you can create application logic by using ADO.NET and the Entity Framework, and host it in Windows Azure.

You can then use ADO.NET Data Services to publish this application as a service that uses a SOAP, REST, or JSON interface, and build a lightweight client application to consume data from the service.

In this way, you avoid latency between the application and SQL Database, but you still provide an Internet-based service interface for your data, which you can then use in rich Internet applications or desktop solutions.

Security Model

Many databases contain sensitive data, so it is essential to carefully control access. This is especially important in a multi-tenant application that involves users from different customers who must be isolated from each other. SQL Database provides the same set of security principals that are available in SQL Server with SQL Server Authentication. You can use these to authorize access and secure your data:

  • SQL Server Logins: Used to authenticate access to SQL Database at the server level.
  • Database Users: Used to grant access to SQL Database at the database level.
  • Database Roles: Used to group users and grant access to SQL Database at the database level.

Scaling Out Databases

You can store any amount of data, from kilobytes to terabytes, in SQL Database. However, individual databases are limited to 150 GB in size. To create solutions that store more than 150 GB of data, you must partition large data sets across multiple databases and use parallel queries to access the data.

Data sharding is a technique used by many applications to improve performance, scalability and cost. Some applications are well suited for partitioning because they use data models with natural partitioning boundaries. For example, applications that store and process sales data using date or time predicates. These applications can benefit from processing a subset of the data instead of the entire data set. Data sharding also enables parallel processing of data. Applications can place multiple data partitions on multiple sets of compute resources and processes the data simultaneously.

Although there is ample literature on the benefits of data sharding, little is said about the cost of managing a distributed database on tens or hundreds of servers. SQL Database provides the infrastructure for applications that require tens or hundreds of databases without the associated administrative cost. An application can partition large data sets into many databases without facing an exponential cost structure and up front capital investment. Provisioning and using three hundred databases is as simple as provisioning three databases. The management burden of keeping hundreds of servers functioning in a synchronized fashion and provide a highly available database is taken on by SQL Database.

In addition, SQL Database provides elasticity in the scale out offering as an application can increase the number of databases when needed and decrease when the requirements change. The ability to scale down without cost penalties prevents the customer from being stuck paying for unused resources when they do not need them.

Even applications with small data sets that require large processing capacity (CPU and IO) can also benefit from partitioning by gaining access to parallel resources.

The decision to use a scale out database strategy is something that should be approached carefully as it can have an impact on the complexity of the application code and is not appropriate for every application, although the benefits described above may make it well worth the effort.
SQL Database provides a built in mechanism to handle sharding of data in the form of Federations in SQL Database – a way to achieve greater scalability and performance from the database tier of your application through horizontal partitioning where one or more tables within a database are split by row and portioned across multiple databases (Federation members); to learn more about Federations in SQL Database see http://msdn.microsoft.com/en-us/library/windowsazure/hh597452.aspx

Deployment

It is possible to create and populate a database entirely in SQL Database by using Transact-SQL. However, in most cases, developers or administrators will design and populate the database on the premises on a development computer or server. When the application is complete, the database must be deployed to the cloud.

To deploy a database to SQL Database, you can create a Transact-SQL CREATE DATABASE script in Microsoft SQL Server® Management Studio using the Generate Script Wizard. You can then run the Transact-SQL script in SQL Database to create the database.

Geo-location for SQL Database is set at SQL Database Server level. Therefore, to deploy a database for a specific region, you should create a new SQL Database Server in that geo-location and connect to it to run the deployment script.
Return to Top


Conclusion and Next Steps

In this paper, we have introduced Windows Azure SQL Database and described its key capabilities and benefits. SQL Database is a cloud-based database service that offers developer agility, application flexibility, and virtually unlimited scalability, with a flexible, cost-effective delivery model. The robust underlying architecture provides reliability, high availability, and security. In addition, support for the most prevalent Internet communication protocols ensures ease of deployment and use. We have examined some scenarios where SQL Database can offer real business value to customers, such as data hub solutions and archival and compliance systems. We’ve also taken a look “under the hood” at the architectural and programming models that provide the core functionality of SQL Database.

Sưu tầm: Getting Started with SQL Azure Development


Trích bài viết của Lynn Langit is a developer evangelist for Microsoft in Southern California. She’s published two books on SQL Server Business Intelligence and has created a set of courseware to introduce children to programming at TeachingKidsProgramming.org. Read her blog at blogs.msdn.com/b/SoCalDevGal.

Bài viết này cũng có trong bài thi cơ đấy.

Microsoft Windows Azure offers several choices for data storage. These include Windows Azure storage and SQL Azure. You may choose to use one or both in your particular project. Windows Azure storage currently contains three types of storage structures: tables, queues and blobs.

SQL Azure is a relational data storage service in the cloud. Some of the benefits of this offering are the ability to use a familiar relational development model that includes much of the standard SQL Server language (T-SQL), tools and utilities. Of course, working with well-understood relational structures in the cloud, such as tables, views and stored procedures, also results in increased developer productivity when working in this new platform. Other benefits include a reduced need for physical database-administration tasks to perform server setup, maintenance and security, as well as built-in support for reliability, high availability and scalability.

I won’t cover Windows Azure storage or make a comparison between the two storage modes here. You can read more about these storage options in Julie Lerman’s July 2010 Data Points column (msdn.microsoft.com/magazine/ff796231). It’s important to note that Windows Azure tables are not relational tables. The focus of this is on understanding the capabilities included in SQL Azure.

This article will explain the differences between SQL Server and SQL Azure. You need to understand the differences in detail so that you can appropriately leverage your current knowledge of SQL Server as you work on projects that use SQL Azure as a data source.

If you’re new to cloud computing you’ll want to do some background reading on Windows Azure before continuing with this article. A good place to start is the MSDN Developer Cloud Center at msdn.microsoft.com/ff380142.

Getting Started with SQL Azure

To start working with SQL Azure, you’ll first need to set up an account. If you’re an MSDN subscriber, then you can use up to three SQL Azure databases (maximum size 1GB each) for up to 16 months (details at msdn.microsoft.com/subscriptions/ee461076) as a developer sandbox. To sign up for a regular SQL Azure account (storage and data transfer fees apply) go to microsoft.com/windowsazure/offers/.

After you’ve signed up for your SQL Azure account, the simplest way to initially access it is via the Web portal at sql.azure.com. You must sign in with the Windows Live ID that you’ve associated to your Windows Azure account. After you sign in, you can create your server installation and get started developing your application.

An example of the SQL Azure Web management portal is shown in Figure 1. Here you can see a server and its associated databases. You’ll notice that there’s also a tab on the Web portal for managing the Firewall Settings for your particular SQL Azure installation.

image: Summary Information for a SQL Azure Database

Figure 1 Summary Information for a SQL Azure Database

As you initially create your SQL Azure server installation, it will be assigned a random string for the server name. You’ll generally also set the administrator username, password, geographic server location and firewall rules at the time of server creation. You can select the location for your SQL Azure installation at the time of server creation. You will be presented with a list of locations (datacenters) from which to choose. If your application front end is built in Windows Azure, you have the option to locate both that installation and your SQL Azure installation in the same geographic location by associating the two installations.

By default there’s no access to your server, so you’ll have to create firewall rules for all client IPs. SQL Azure uses port 1433, so make sure that port is open for your client application as well. When connecting to SQL Azure you’ll use the username@servernameformat for your username. SQL Azure supports SQL Server Authentication only; Windows Authentication is not supported. Multiple Active Result Set (MARS) connections are supported.

Open connections will time out after 30 minutes of inactivity. Also, connections can be dropped for long-running queries and transactions or excessive resource usage. Development best practices in your applications around connections are to open, use and then close those connections manually, to include retry connection logic for dropped connections and to avoid caching connections because of these behaviors. For more details about supported client protocols for SQL Azure, see Steve Hale’s blog post at blogs.msdn.com/b/sqlnativeclient/archive/2010/02/12/using-sql-server-client-apis-with-sql-azure-vversion-1-0.aspx.

Another best practice is to encrypt your connection string to prevent man-in-the-middle attacks.

You’ll be connected to the master database by default if you don’t specify a database name in the connection string. In SQL Azure the T-SQL statement USE is not supported for changing databases, so you’ll generally specify the database you want to connect to in the connection string (assuming you want to connect to a database other than master). Here’s an example of an ADO.NET connection:

  1. Server=tcp:server.ctp.database.windows.net;
  2. Database=<databasename>;
  3. User ID=user@server;
  4. Password=password;
  5. Trusted_Connection=False;
  6. Encrypt=true;

Setting up Databases

After you’ve successfully connected to your installation you’ll want to create one or more databases. Although you can create databases using the SQL Azure portal, you may prefer to do so using some of the other tools, such as SQL Server Management Studio 2008 R2. By default, you can create up to 149 databases for each SQL Azure server installation. If you need more databases than that, you must call the Windows Azure business desk to have this limit increased.

When creating a database you must select the maximum size. The current options for sizing (and billing) are Web or Business Edition. Web Edition, the default, supports databases of 1GB or 5GB total. Business Edition supports databases of up to 50GB, sized in increments of 10GB—in other words, 10GB, 20GB, 30GB, 40GB and 50GB.

You set the size limit for your database when you create it by using the MAXSIZE keyword. You can change the size limit or the edition (Web or Business) after the initial creation using the ALTER DATABASE statement. If you reach your size or capacity limit for the edition you’ve selected, then you’ll see the error code 40544. The database size measurement doesn’t include the master database, or any database logs. For more details about sizing and pricing, see microsoft.com/windowsazure/pricing/#sql.

It’s important to realize that when you create a new SQL Azure database, you’re actually creating three replicas of that database. This is done to ensure high availability. These replicas are completely transparent to you. The new database appears as a single unit for your purposes.

Once you’ve created a database, you can quickly get the connection string information for it by selecting the database in the list on the portal and then clicking the Connection Strings button. You can also quickly test connectivity via the portal by clicking the Test Connectivity button for the selected database. For this test to succeed you must enable the Allow Microsoft Services to Connect to this Server option on the Firewall Rules tab of the SQL Azure portal.

Creating Your Application

After you’ve set up your account, created your server, created at least one database and set a firewall rule so that you can connect to the database, you can start developing your application using this data source.

Unlike Windows Azure data storage options such as tables, queues or blobs, when you’re using SQL Azure as a data source for your project, there’s nothing to install in your development environment. If you’re using Visual Studio 2010, you can just get started—no additional SDKs, tools or anything else are needed.

Although many developers will choose to use a Windows Azure front end with a SQL Azure back end, this configuration is not required. You can use any front-end client with a supported connection library such as ADO.NET or ODBC. This could include, for example, an application written in Java or PHP. Connecting to SQL Azure via OLE DB is currently not supported.

If you’re using Visual Studio 2010 to develop your application, you can take advantage of the included ability to view or create many types of objects in your selected SQL Azure database installation directly from the Visual Studio Server Explorer. These objects are Tables, Views, Stored Procedures, Functions and Synonyms. You can also see the data associated with these objects using this viewer. For many developers, using Visual Studio 2010 as the primary tool to view and manage SQL Azure data will be sufficient. The Server Explorer View window is shown in Figure 2. Both a local installation of a database and a cloud-based instance are shown. You’ll see that the tree nodes differ slightly in the two views. For example, there’s no Assemblies node in the cloud installation because custom assemblies are not supported in SQL Azure.

image: Viewing Data Connections in Visual Studio Server Explorer

Figure 2 Viewing Data Connections in Visual Studio Server Explorer

As I mentioned earlier, another tool you may want to use to work with SQL Azure is SQL Server Management Studio (SSMS) 2008 R2. With SSMS 2008 R2, you actually have access to a fuller set of operations for SQL Azure databases than in Visual Studio 2010. I find that I use both tools, depending on which operation I’m trying to complete. An example of an operation available in SSMS 2008 R2 (and not in Visual Studio 2010) is creating a new database using a T-SQL script. Another example is the ability to easily perform index operations (create, maintain, delete and so on). An example is shown in Figure 3.

image: Using SQL Server Management Studio 2008 R2 to Manage SQL Azure

Figure 3 Using SQL Server Management Studio 2008 R2 to Manage SQL Azure

Newly released in SQL Server 2008 R2 is a data-tier application, or DAC. DAC pacs are objects that combine SQL Server or SQL Azure database schemas and objects into a single entity. You can use either Visual Studio 2010 (to build) or SQL Server 2008 R2 SSMS (to extract) to create a DAC from an existing database.

If you wish to use Visual Studio 2010 to work with a DAC, then you’d start by selecting the SQL Server Data-Tier Application project type in Visual Studio 2010. Then, on the Solution Explorer, right-click your project name and click Import Data-Tier Application. A wizard opens to guide you through the import process. If you’re using SSMS, start by right-clicking on the database you want to use in the Object Explorer, click Tasks, then click Extract Data-Tier Application to create the DAC.

The generated DAC is a compressed file that contains multiple T-SQL and XML files. You can work with the contents by right-clicking the .dacpac file and then clicking Unpack. SQL Azure supports deleting, deploying, extracting and registering DAC pacs, but does not support upgrading them.

Another tool you can use to connect to SQL Azure is the latest community technology preview (CTP) release of the tool code-named “Houston.” Houston is a zero-install, Silverlight-based management tool for SQL Azure installations. When you connect to a SQL Azure installation using Houston, you specify the datacenter location (as of this writing North Central U.S., South Central U.S., North Europe, Central Europe, Asia Pacific or Southeast Asia).

Houston is in early beta and the current release (shown in Figure 4) looks somewhat like SSMS. Houston supports working with Tables, Views, Queries and Stored Procedures in a SQL Azure database installation. You can access Houston from the SQL Azure Labs site at sqlazurelabs.com/houston.aspx.

image: Using Houston to Manage SQL Azure

Figure 4 Using Houston to Manage SQL Azure

Another tool you can use to connect to a SQL Azure database is SQLCMD (msdn.microsoft.com/library/ee336280). Even though SQLCMD is supported, the OSQL command-line tool is not supported by SQL Azure.

Using SQL Azure

So now you’ve connected to your SQL Azure installation and have created a new, empty database. What exactly can you do with SQL Azure? Specifically, you may be wondering what the limits are on creating objects. And after those objects have been created, how do you populate those objects with data?

As I mentioned at the beginning of this article, SQL Azure provides relational cloud data storage, but it does have some subtle feature differences to an on-premises SQL Server installation. Starting with object creation, let’s look at some of the key differences between the two.

You can create the most commonly used objects in your SQL Azure database using familiar methods. The most commonly used relational objects (which include tables, views, stored procedures, indices and functions) are all available. There are some differences around object creation, though. Here’s a summary of those differences:

  • SQL Azure tables must contain a clustered index. Non-clustered indices can be subsequently created on selected tables. You can create spatial indices, but you cannot create XML indices.
  • Heap tables are not supported.
  • CLR geo-spatial types (such as Geography and Geometry) are supported, as is the HierachyID data type. Other CLR types are not supported.
  • View creation must be the first statement in a batch. Also, view (or stored procedure) creation with encryption is not supported.
  • Functions can be scalar, inline or multi-statement table-valued functions, but cannot be any type of CLR function.

There’s a complete reference of partially supported T-SQL statements for SQL Azure on MSDN at msdn.microsoft.com/library/ee336267.

Before you get started creating your objects, remember that you’ll connect to the master database if you don’t specify a different one in your connection string. In SQL Azure, the USE (database) statement is not supported for changing databases, so if you need to connect to a database other than the master database, then you must explicitly specify that database in your connection string, as shown earlier.

Data Migration and Loading

If you plan to create SQL Azure objects using an existing, on-premises database as your source data and structures, then you can simply use SSMS to script an appropriate DDL to create those objects on SQL Azure. Use the Generate Scripts Wizard and set the “Script for the database engine type” option to “for SQL Azure.”

An even easier way to generate a script is to use the SQL Azure Migration Wizard, available as a download from CodePlex at sqlazuremw.codeplex.com. With this handy tool you can generate a script to create the objects and can also load the data via bulk copy using bcp.exe.

You could also design a SQL Server Integration Services (SSIS) package to extract and run a DDM or DDL script. If you’re using SSIS, you’d most commonly design a package that extracts the DDL from the source database, scripts that DDL for SQL Azure and then executes that script on one or more SQL Azure installations. You might also choose to load the associated data as part of the package’s execution path. For more information about working with SSIS, see msdn.microsoft.com/library/ms141026.

Also of note regarding DDL creation and data migration is the CTP release of SQL Azure Data Sync Services (sqlazurelabs.com). You can see this service in action in a Channel 9 video, “Using SQL Azure Data Sync Service to provide Geo-Replication of SQL Azure Databases,” at tinyurl.com/2we4d6q. Currently, SQL Azure Data Sync services works via Synchronization Groups (HUB and MEMBER servers) and then via scheduled synchronization at the level of individual tables in the databases selected for synchronization.

You can use the Microsoft Sync Framework Power Pack for SQL Azure to synchronize data between a data source and a SQL Azure installation. As of this writing, this tool is in CTP release and is available from tinyurl.com/2ecjwku. If you use this framework to perform subsequent or ongoing data synchronization for your application, you may also wish to download the associated SDK.

What if your source database is larger than the maximum size for the SQL Azure database installation? This could be greater than the absolute maximum of 50GB for the Business Edition or some smaller limit based on the other program options.

Currently, customers must partition (or shard) their data manually if their database size exceeds the program limits. Microsoft has announced that it will be providing an auto-partitioning utility for SQL Azure in the future. In the meantime, it’s important to note that T-SQL table partitioning is not supported in SQL Azure. There’s a free utility called Enzo SQL Shard (enzosqlshard.codeplex.com) that you can use for partitioning your data source.

You’ll want to take note of some other differences between SQL Server and SQL Azure regarding data loading and data access.

Added recently is the ability to copy a SQL Azure database via the Database copy command. The syntax for a cross-server copy is as follows:

  1. CREATE DATABASE DB2A AS COPY OF Server1.DB1A

The T-SQL INSERT statement is supported (with the exceptions of updating with views or providing a locking hint inside of an INSERT statement).

Related further to data migration, T-SQL DROP DATABASE and other DDL commands have additional limits when executed against a SQL Azure installation. In addition, the T-SQL RESTORE and ATTACH DATABASE commands are not supported. Finally, the T-SQL statement EXECUTE AS (login) is not supported.

Data Access and Programmability

Now let’s take a look at common programming concerns when working with cloud data. First, you’ll want to consider where to set up your development environment. If you’re an MSDN subscriber and can work with a database that’s less than 1GB, then it may well make sense to 
develop using only a cloud installation (sandbox). In this way there will be no issue with migration from local to cloud. Using a regular (non-MSDN subscriber) SQL Azure account, you could develop directly against your cloud instance (most probably using a cloud-located copy of your production database). Of course, developing directly from the cloud is not practical for all situations.

If you choose to work with an on-premises SQL Server database as your development data source, then you must develop a mechanism for synchronizing your local installation with the cloud installation. You could do that using any of the methods discussed earlier, and tools like Data Sync Services and Sync Framework are being developed with this scenario in mind.

As long as you use only the supported features, the method for having your application switch from an on-premises SQL Server installation to a SQL Azure database is simple—you need only to change the connection string in your application.

Regardless of whether you set up your development installation locally or in the cloud, you’ll need to understand some programmability differences between SQL Server and SQL Azure. I’ve already covered the T-SQL and connection string differences. In addition, all tables must have a clustered index at minimum (heap tables are not supported).

As previously mentioned, the USE statement for changing databases isn’t supported. This also means that there’s no support for distributed (cross-database) transactions or queries, and linked servers are not supported.

Other options not available when working with a SQL Azure database include:

  • Full-text indexing
  • CLR custom types (however, the built-in Geometry and Geography CLR types are supported)
  • RowGUIDs (use the uniqueidentifier type with the NEWID function instead)
  • XML column indices
  • Filestream datatype
  • Sparse columns

Default collation is always used for the database. To make collation adjustments, set the column-level collation to the desired value using the T-SQL COLLATE statement.

And finally, you cannot currently use SQL Profiler or the Database Tuning Wizard on your SQL Azure database.

Some important tools that you can use with SQL Azure for tuning and monitoring include:

  • SSMS Query Optimizer to view estimated or actual query execution plan details and client statistics
  • Select Dynamic Management views to monitor health and status
  • Entity Framework to connect to SQL Azure after the initial model and mapping files have been created by connecting to a local copy of your SQL Azure database.

Depending on what type of application you’re developing, you may be using SSAS, SSRS, SSIS or PowerPivot. You can also use any of these products as consumers of SQL Azure database data. Simply connect to your SQL Azure server and selected database using the methods already described in this article.

It’s also important to fully understand the behavior of transactions in SQL Azure. As mentioned, only local (within the same database) transactions are supported. In addition, the only transaction-isolation level available for a database hosted on SQL Azure is READ COMMITTED SNAPSHOT. Using this isolation level, readers get the latest consistent version of data that was available when the statement STARTED.

SQL Azure doesn’t detect update conflicts. This is also called an optimistic concurrency model, because lost updates, non-repeatable reads and phantoms can occur. Of course, dirty reads cannot occur.

Database Administration

Generally, when using SQL Azure, the administrator role becomes one of logical installation management. Physical management is handled by the platform. From a practical standpoint this means there are no physical servers to buy, install, patch, maintain or secure. There’s no ability to physically place files, logs, tempdb and so on in specific physical locations. Because of this, there’s no support for the T-SQL commands USE <database>, FILEGROUP, BACKUP, RESTORE or SNAPSHOT.

There’s no support for the SQL Agent on SQL Azure. Also, there is no ability (or need) to configure replication, log shipping, database mirroring or clustering. If you need to maintain a local, synchronized copy of SQL Azure schemas and data, then you can use any of the tools discussed earlier for data migration and synchronization—they work both ways. You can also use the DATABASE COPY command.

Other than keeping data synchronized, what are some other tasks that administrators may need to perform on a SQL Azure installation?

Most commonly, there will still be a need to perform logical administration. This includes tasks related to security and performance management. Additionally, you may be involved in monitoring for capacity usage and associated costs. To help you with these tasks, SQL Azure provides a public Status History dashboard that shows current service status and recent history (an example of history is shown in Figure 5) at microsoft.com/windowsazure/support/status/servicedashboard.aspx.

image: SQL Azure Status History

Figure 5 SQL Azure Status History

SQL Azure provides a high-security bar by default. It forces SSL encryption with all permitted (via firewall rules) client connections. Server-level logins and database-level users and roles are also secured. There are no server-level roles in SQL Azure. Encrypting the connection string is a best practice. Also, you may want to use Windows Azure certificates for additional security. For more details, see blogs.msdn.com/b/sqlazure/archive/2010/09/07/10058942.aspx.

In the area of performance, SQL Azure includes features such as automatically killing long-running transactions and idle connections (more than 30 minutes). Although you can’t use SQL Profiler or trace flags for performance tuning, you can use SQL Query Optimizer to view query execution plans and client statistics. You can also perform statistics management and index tuning using the standard T-SQL methods.

There’s a select list of dynamic management views (covering database, execution or transaction information) available for database administration as well. These include sys.dm_exec_connections , _requests, _sessions, _tran_database_transactions, _active_transactions and _partition_stats. For a complete list of supported dynamic management views for SQL Azure, see msdn.microsoft.com/library/ee336238.aspx#dmv.

There are also some new views such as sys.database_usage and sys.bandwidth_usage. These show the number, type and size of the databases and the bandwidth usage for each database so that administrators can understand SQL Azure billing. A sample is shown in Figure 6. In this view, quantity is listed in KB. You can monitor space used via this command:

  1. SELECT SUM(reserved_page_count) * 8192
  2. FROM sys.dm_db_partition_stats

image: Bandwidth Usage in SQL Query

Figure 6 Bandwidth Usage in SQL Query

You can also access the current charges for the SQL Azure installation via the SQL Azure portal by clicking on the Billing link at the top-right corner of the screen.

Learn More

To learn more about SQL Azure, I suggest you download the Windows Azure Training Kit. This includes SQL Azure hands-on learning, white papers, videos and more. The training kit is available from microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78.

Also, you’ll want to read the SQL Azure Team Blog at blogs.msdn.com/b/sqlazure/ and check out the MSDN SQL Azure Developer Center at msdn.microsoft.com/windowsazure/sqlazure.

If you want to continue to preview upcoming features for SQL Azure, be sure to visit SQL Azure Labs at sqlazurelabs.com.

Sửa lỗi khi không truy cập được CSDL của MS SQL Server Express 2008


Thật bực bội khi 1 website đang chạy bằng IIS7.5 .ASPX và có dùng SQL Express bổng không chạy được nữa, lỗi

Don’t have permission to access SQL Server Express 2008?

Tìm nguyên nhân: Lúc đầu nhìn có vẻ không hiểu tại sao lại lỗi, nguyên nhân không biết nó phát xuất từ đâu.

Bình tĩnh dò vết các báo lỗi thì mới mường tượng ra là do 2 nguyên nhân cơ bản sau:

Xác định lỗi:

1. Do vá lỗi update của SQL 2008 theo Windows Server Update từ bản vá SQL lên SP1, SP2, Sp3…

2. Vá lỗi cấu hình từ các hướng dẫn của BaseLine Security 2.2 và các hướng dẫn của Secunia và Windows Server Perfomance Security.

Chính những nguyên nhân trên đã dẫn lỗi của SQL Express càng ngày càng xa và khó có thể giúp chúng ta (người quản trị Web Hosting) dễ dàng phát hiện ra, dẫn tới người lập trình Web và người quản trị Hosting có thể ping nhau không biết ddi tới đâu.

Phương án sửa:

Lỗi nằm ở quyền của Account đã login và cài bản SQL Express đã bị rút thông công, mất quyền truy cập các SQL PipeLine và quyền truy cập databases với quyền “SysAdmin”.

Các bước sửa lỗi:

  1. Tắt  SQL Server Express từ  màn control Administrator tool\ Services

  2. Mở  cmd window (Run as Admin) và chạy ở chế độ single-user mode as local admin và gõ lệnh sau:

    “c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" -m -s SQLEXPRESS

  3. Mở tiếp 1 cửa sổ cmd mới (Run as Admin)

  4. gõ lệnh sqlcmd

    sqlcmd -S .\SQLEXPRESS

  5. Bây giờ hãy nhập user theo kiểu ‘domain\user’ vào nhóm sysadmin role:

    1. sp_addsrvrolemember ‘domain\user’, ‘sysadmin’

    2. GO

  6. Ctrl+C  bấm tổ hợp phím này để đóng  cửa sổ đầu tiên bạn đã mở single-user mode bằng lệnh  cmd để ngừng chế độ SQL Server cmd.

  7. Khởi động lại dịch vụ của SQL Server Express.

  8. Đăng nhập trở lại SQL Express bằng  Management Studio và truy cập bằng account bạn vừa thêm ở bước 5 thuộc nhóm “sysadmin.”

Kinh nghiệm migrate SQL Data Warehouse, OLAP 2000 và xây dựng hệ thống Business Intelligence Solution 2008


Phần 1. Nhận xét:

Business Intelligence thực tế cái tên này đã có từ hơn 16 năm qua, nhưng những thập niên 90 vẫn là cái gì đó ước muốn của giới quản lý và Công nghệ

Chức năng chính: Thu thập dữ liệu, Xử lý kho dữ liệu, lọc và báo cáo phân tích.

Năm 2000 xuất hiện Microsoft SQL 2000 mới đúng là cuộc cách mạng công nghệ ứng dụng trong quản lý kinh tế, vẫn có một chút thay đổi cho cái tên:

– SQL Server 2000 Analysis Services database objects

MSSQLServerOLAPService service

– Database Mining & Cube

– Database WareHouse…

Quan điểm: Vậy là đã hơn 12 năm cho công nghệ này, khá cũ kỹ nhưng vẫn còn rất nhiều ngành kinh tế Việt nam không biết đến, biết đến rất ít, áp dụng không đáng kể

hoặc vẫn bám vào nó. Trong khi giới Công nghệ ngày nay đã dùng đến SQL Server 2008, SQL Server 2012 với rất nhiều công nghệ gọn nhẹ, tốc độ xử lý cao, độ ổn định và đáp ứng kho dữ liệu khổng lồ. Những ngành kinh tế Việt nam giờ vẫn rất lỗi thời trong Hệ thống phân tích số liệu phải kể đến: TCTK, TCCNTT-HQVN, TC Thuế VN…

Vấn đề của chúng ta không phải là chạy đua với Công nghệ mới, v/đ là áp dụng triệt để giải pháp Business Intelligence Solution (BIS) một cách hệ thống, hiệu quả, an toàn và ổn định cho xu thế phát triển Thông tin.

Phần 2.

Nâng cấp hệ thống BIS 2012: Nói về hệ thống BIS, FAO là tổ chức lớn nhất và đi đầu trong áp dụng giải pháp triển khai cho các chương trình nghiên cứu phân tích kho CSDL thế giới về kinh tế, quản lý, dự báo Nông, Lâm, Thuỷ sản Trên toàn bộ Thế giới với hơn 70 năm quan.

Bước 1. Nâng cấp CSDL

image

Đưa hệ thống dữ liệu HQVN từ năm 2000 sang hệ thống SQL Server 2008 R2

image

Khôi phục các dữ liệu cũ và mới hơn:

image

Lựa chọn đè dữ liệu:

image

 

Bước 2: Nâng cấp quy trình đồng bộ dữ liệu DTS

image

Lỗi không tương thích 2000:

image

Như vậy phải cài thêm trong bộ cài: SQLSererv2008_Ent\1033_ENU_LP\x86\Setup\x86\SQLServer2005_BC.msi

image

Tiếp tục lỗi thiết công cụ Design DTS 2000:

image

Hãy vào trang sau để Download: http://www.microsoft.com/en-us/download/details.aspx?id=11988

Lưu ý chúng ta cần bản: SQLServer2005_DTS.msi

image

To install SQL Server 2000 DTS Designer Components
  1. Start Internet Explorer, and go to the http://go.microsoft.com/fwlink/?linkid=66593.

  2. On the Integration Services Downloads page, click Microsoft SQL Server 2000 DTS Designer Components.

  3. In the File Download dialog box, click Save.

  4. In the Save As dialog box, specify a folder for saving the components package, and then click Save.

  5. Click Start, click Run, type Explorer, and then click OK.

  6. In Windows Explorer, locate the folder (specified in step 4) where you saved the components package, and then double-click sqlserver2005_dts.msi.

  7. In the Open File dialog box, click Run.

  8. On the Welcome to the Install Wizard for SQL Server 2000 DTS Designer Components page, click Next.

  9. On the License Agreement page, accept the terms of the license, and then click Next.

  10. On the Registration Information page, type your name and company name, and then click Next.

  11. On the Ready to Install the Program page, click Install.

    The wizard installs the components.

  12. On the Completing the SQL Server 2000 DTS Designer Components Setup page, click Finish.

  13. In the SQL Server 2000 DTS Designer Components Setup dialog box asking you to restart the computer, click Yes

Vấn đề đồng bộ DTS từ 2000 sang SQL 2008 vẫn cần sự tương thích  trên công cụ thiết kế Business Intelligence Development Studio 2008

Run-time Support for DTS Packages

SQL Server 2008 does not install run-time support for DTS packages. Before you can run and manage DTS packages, you have to install this run-time support as described in the following procedure.

To install run-time support for Data Transformation Services packages
  • In an Internet browser, open the Microsoft SQL Server 2008 Feature Pack page, and then download and install the Microsoft SQL Server 2005 Backward Compatibility Components.

    NoteNote

    This download has not been updated for SQL Server 2008 R2.

và công cụ thiết kế DTS tương thích 2000

Trích dẫn:

There is no 64-bit run-time support for DTS packages. On a 64-bit computer, DTS packages, and Integration Services packages that run DTS packages, can run only in 32-bit mode. To run packages in 32-bit mode outside BI Development Studio on a 64-bit computer, you have to install the following components:

  • The 32-bit DTS runtime, as described in the previous section.

  • The 32-bit version of the Integration Services runtime and command prompt utilities.

To install the 32-bit version of the Integration Services runtime and command prompt utilities on a 64-bit x86 computer

  • During Setup, select Business Intelligence Development Studio or Management Tools – Complete.

    Selecting either of these options installs the 32-bit version of the Integration Services runtime, the dtexec utility (dtexec.exe), and other Integration Services tools.

To install the 32-bit version of the Integration Services runtime and command prompt utilities on a 64-bit Itanium computer

  • During Setup, select Management Tools – Complete.

    Selecting this option installs the 32-bit version of the Integration Services runtime, the dtexec utility (dtexec.exe), and other Integration Services tools.

SQL Server 2008 does not install design-time support for DTS packages. Before you can use the SQL Server 2008 tools to open and view DTS packages, you have to download and install this design-time support as described in the following procedure.

NoteNote

The DTS package designer that you can download works with the SQL Server 2008 tools, but the designer’s features have not been updated for SQL Server 2008.

To install design-time support for Data Transformation Services packages

By default, on a 32-bit computer, the binary files for SQL Server 2000 are in the %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn folder, and the binary files for SQL Server 2008 are in the %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn folder. These default locations might cause the path of the binary files for SQL Server 2000 to occur in the PATH environment variable before the path of the binary files for SQL Server 2008. If this happens, an error message can appear when you try to use the DTS Designer. To resolve this error, copy the files that the designer requires to a new location as described in the following procedures.

NoteNote

On a 64-bit computer, substitute %ProgramFiles(x86)% for %ProgramFiles% in the following procedures.

To ensure that the DTS designer can be used in SQL Server Management Studio

  1. Copy the files, SEMSFC.DLL, SQLGUI.DLL, and SQLSVC.DLL, from the %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn folder to the %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE folder.

  2. Copy the files, SEMSFC.RLL, SQLGUI.RLL, and SQLSVC.RLL, from the %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn\Resources folder to the %ProgramFiles%\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Resources\%lang_id% folder. For example, for U.S. English, the lang_id subfolder will be “1033”.

To ensure that the DTS designer can be used in Business Intelligence Development Studio

  1. Copy the files, SEMSFC.DLL, SQLGUI.DLL, and SQLSVC.DLL, from the %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn folder to the %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE folder.

  2. Copy the files, SEMSFC.RLL, SQLGUI.RLL, and SQLSVC.RLL, from the %ProgramFiles%\Microsoft SQL Server\80\Tools\Binn\Resources folder to the %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\Resources\%lang_id% folder. For example, for U.S. English, the lang_id subfolder will be “1033”.

 

Bảng tổng kết các công cụ tương thích giữa SQL 2000 và SQL 2005:

The Data Warehouse and analysis server imports, transforms, and stores Web site data. You use the data that is stored in the Data Warehouse database to analyze user activity on your Web site.

Commerce Server 2007 does not support mixed deployments of SQL Server 2000 and SQL Server 2005. All SQL Server components that you install must be at the same version level as the SQL Server database that you installed.

Microsoft SQL Server Express does not support the Data Warehouse.

Component to install and configure

SQL Server 2000

SQL Server 2005

SQL Server 2000

X

SQL Server 2000 Service Pack 4

X

SQL Server 2005

X

SQL Server 2005 Service Pack 2

X

SQL Server 2000 Analysis Services

X

SQL Server 2005 Analysis Services

X

SQL Server 2000 Reporting Services

X

SQL Server 2005 Reporting Services

X

SQL Server 2000 DTS Designer Components

X

The Data Warehouse uses SQL Server Analysis Services to access the online analytical processing (OLAP) database. SQL Server Reporting Services is required for analysis reporting.

Commerce Server 2007 Data Warehouse does not support SQL Server or SQL Server Analysis Services installed on a named instance.

Trường hợp dùng SQL Server 2005 và dùng lại file .CAB được export từ OLAP Server 2000:

Tham khảo:

Trường hợp dùng SQL Server 2008 R2 Analysis Server và di chuyển OLAP 2000 Server

Tham khảo: http://msdn.microsoft.com/en-us/library/ms143409.aspx

 

Phần 3. Migration Database WareHouse từ MS SQL 2000 sang MS SQL Analysis Server 2008 R2.

1. Cài bàn MS SQL server 2008 R2 trên cùng máy chủ SQL 2000

2. Cài bổ sung bản SQL Server 2005 Backward Compatibility có trong SQLServer2005_BC.msi

và SQL Server 2000 DTS Designer Components có trong SQLServer2005_DTS.msi

Download: http://www.microsoft.com/en-us/download/details.aspx?id=11988

 

image

Ghi chú: Lỗi nếu không cài thêm bản SQL Server 2005 Backward Compatibility

Databases: SDATA_Demo
        Cubes:             Unable to cast COM object of type ‘System.__ComObject’ to interface type ‘Interop.Dso.IDbGroup90Ex’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{CE55E9E9-9597-4214-B21F-30C7683467B1}’ failed due

3. Khởi động hệ thống SQL Analysis Server 2008 R2

image

Chọn chế độ Migrate Database…

image

Bước cuối trong loạt động tác đồng bộ dữ liệu từ SQL OLAP 2000 sang SQL Analysis 2008 R2

image

Mọi thứ của SQL 2000 bây giờ sẽ là ở phía sau bạn !

 

Phần 4. Xác định v/đ nên hay không nên dùng Migrating SQL server để chuyển từ OLAP 2000 ?

Theo kinh nghiệm và các kết quả mà tôi sưu tầm được hơn 12 năm qua cho thấy:

– Trong các công cụ Migration Data giữa các phiên bản SQL server 6.5 , 7.0, 2000, 2005, 2008 đều luôn có vấn đề nảy sinh khi convert Database mining / Analysis, kết quả chỉ đạt 80 – 90%, và quan trọng là sự sai lệch chuẩn dữ liệu, sai lệnh các Method, không chuyển được hết dữ liệu …

– Tương tự v/đ trên, khi chuyển dữ liệu từ Lotus Notes, Oracle sang SQL / MySQL cũng vấp rất nhiều lỗi khi chuyển dạng dữ liệu…

– Tất cả đều phải dùng phương án giống nhau: là phải chạy cả OLAP 2000, SQL Server 2000 và cài SQL Server 2005 / 2008 trên cùng một máy để có thể Migration Convert Data Warehouse, Data mining, Cube…

Ở đây, tôi đề xuất phướng tối ưu và toàn vẹn dữ liệu theo cách làm bằng tay theo thiết kế của bản SQL 2000:

Bước 1: Chuyển dữ liệu từ SQL 2000 sang SQL Server 2008 R2 như cách thông thường ( Attachment file mdf & ldf)

Bước 2: Mở công cụ DTS của SQL 2000 và để sửa bản design DTS, tương tự bên SQL 2005 / 2008 cũng mở DTS để design manual sau đó chạy test thử các tiến trình có kiểm tra biên dịch.

Bước 3: Mở Analysis Server 2005 / 2008 và design các database Warehouse , Data mining, Data cube, Compact DB …

image

Sử dụng VS 2008 để chuyên thiết kế BIS 2008

image

Thiết kế các data mining và Cube khai báo các đơn vị tính 3 chiều và các kích thước Dimension

image

Sau khi thiết kế được toàn bộ Data Mining, Cube… hãy chạy Process để compile toàn bộ các tiến trình tính toán và tối ưu hoá Database Warehouse

Lưu lại thành Project trong VS 2008 Business Intelligence để có thể dùng lại về sau.

Chúc các bạn thành công trong triển khai hệ thống BIS 2008 hoặc BIS 2012 sắp tới !

CÁCH CẤU HÌNH SQL SERVER 2008 R2 EE Cluster


 

MÔ HÌNH CÀI ĐẶT

clip_image002[4]

CÀI ĐẶT:

clip_image004[4]

 

clip_image006[4]

 

GẶP LỖI:

clip_image010[4]

clip_image012[4]

clip_image014[4]

 

Tổng quan về Công nghệ CLustering
– Cluster được hiểu ngắn gọn là một nhóm các máy chủ chạy chung một dịch vụ nào đó nhằm phục vụ cho cân bằng tải (Load Balancing) và chịu lỗi (Fault Tolerant: Failover)
Việc cài đặt hệ thống Cluster phải đáp ứng được các yêu cầu sau:

+ Phải có độ tin cậy cao (Reliability)
+ Luôn đáp ứng được tính sẵn sàng (High Availability – HA)
+ Có khả năng mở rộng hệ thống khi cần thiết (Scalability)
– Cluster được dùng cho các ứng dụng Stateful Application (các ứng dụng hoạt động thường xuyên trong thời gian dài) bao gồm các Database Server như là: Microsoft SQL Server, Microsoft Exchange Server, File and Print Server…
– Các Node trong Cluster dùng chung một nơi lưu trữ dữ liệu có thể dùng công nghệ SCSI hoặc Storage Area Network (SAN) hay Network Attached Storage (NAS).

 

Điều kiện cần thiết để tiến hành cài đặt, cấu hình SQL CLustering
– Với 2 Nodes SQL Cluster cần tối thiểu 5 IP để cài đặt:
Node 1
+ Public NIC
+ Private NIC

Node 2
+ Public NIC
+ Private NIC

ClusterDatabase

ClusterWindows

ClusterMsDTC

– Tạo ổ đĩa lưu trữ trên hệ thống SAN phục vụ cho SQL Cluster
+ Quorum disk: Lưu cấu hình Cluster windows
+ MsDTC disk [Microsoft Distributed Transaction Coordinator]: Lưu các giao dịch, trao đổi qua lại giữa các Nodes
+ Database disk: Lưu dữ liệu

– Phải có hệ thống Domain Controller, hệ thống DNS Server

– Join các máy chủ Nodes Cluster vào hệ thống Domain

– Hệ điều hành sử dụng cho các Nodes Cluster phải là windows 64 bit, phiên bản Enterprise.

Cấu hình Failover Cluster Management của Server 2008

Mặc dù mọi phiên bản của Windows Server 2008 đều tích hợp tính năng Network Load Balance, tuy nhiên, chỉ có phiên bản Enterprise và Datacenter được tích hợp những tính năng Failover giúp cung cấp các cấp độ cao hơn của tính năng này.

Cluster cho phép người dùng thiết lập những tính năng sẵn có ở cấp độ cao cho các dịch vụ tổng hợp hay cho một số ứng dụng cụ thể. Công cụ Failover Cluster Management trong Windows Server 2008 cho phép người dùng tạo và quản lý nhiều Cluster.

Sau đây chúng ta sẽ đi tìm hiểu một số nét đặc trưng nhất về công cụ này.

Khái quát cài đặt và tác vụ

Để triển khai Clustering trong môi trường, cần thực hiện các bước sau:

1. Đảm bảo khả năng tương thích của phần cứng với Clustering của Windows Server 2008.

2. Cấu hình ổ đĩa trên vùng lưu trữ chia sẻ được kết nối và xuất hiện trên cả hai máy chủ.

3. Cài đặt tính năng Failover Clustering trên mỗi node Cluster sẽ sử dụng.

Sau khi đã hoàn thành các bước này, chúng ta có thể mở Failover Cluster Management Console bằng cách vào Start | Administrative Tools | Failover Cluster Management. Trong quá trình khởi chạy đầu tiên, chúng ta sẽ thấy một cửa sổ giống như hình 1 xuất hiện. Cửa sổ này không chứa bất kì Clustered Server đã được cấu hình nào.

clip_image015[4]

 

Hình 1: Failover Cluster Management.


Những tùy chọn cấu hình trên Console này rất giống với những công cụ quản trị khác của Microsoft, gồm một bảng điều hướng ở bên trái, một bảng làm việc với các đối tượng ở giữa, và một bảng Actions ở bên phải.

Bảng bên trái của Console hiển thị phân lớp Cluster và nhiều đối tượng khác nhau trong một Cluster, như Nodes (mục chủ), Services (dịch vụ), Storage (vùng lưu trữ), Networks (mạng), … Khi click vào một đối tượng trong bảng bên trái, thì nội dung của đối tượng đó sẽ hiển thị trong bảng bên phải. Ví dụ, khi click vào đối tượng Active Resources của một node nào đó, thì nội dung của nó sẽ hiển thị trong bảng bên phải cùng với State (trạng thái), Owner (chủ sử hữu), Group (nhóm), và nhiều thuộc tính khác.

Những tác vụ mà chúng ta có thể thực hiện với công cụ Failover Cluster Management bao gồm:

·         Tạo hoặc hủy một Cluster.

·         Thêm vào và gỡ bỏ node khỏi Cluster.

·         Têm ổ đĩa cho Cluster.

·         Bổ sung hay loại bo dịch vụ cho Cluster.

·         Cấu hình số lượng Rule cho ổ đĩa.

·         Kiểm tra các sự kiện liên quan tới mọi thành phần Cluster.

Menu

Công cụ Failover Cluster Management có 4 menu sau:

Menu File. Menu File chứa rất ít tác vụ trong Console này, chỉ có lệnh Options và Exit.
Action. Menu Action chứa hầu hết các tác vụ quản lý Cluster trong công cụ Failover Cluster Management. Những lệnh trong menu File sẽ thay đổi tùy thuộc vào đối tượng được lựa chọn trong những bảng trong Console. Trong mọi trường hợp, chúng ta có thể lựa chọn lệnh Open Connection từ menu File để mở kết nối tới một Cluster hiện có hay tạo một Cluster mới. Tốt nhất chúng ta nên làm việc với menu ngữ cảnh của từng đổi tượng để trành những lỗi phát sinh.

Menu View. Menu View cung cấp một số tùy chọn cho phép tùy biến giao diện của Management Console.

Menu Help. Sử dụng menu này để gọi các trợ giúp của Failover Cluster Management Console.
Ngoài ra, trên Console này còn chứa một thanh công cụ gồm các nút lệnh sau: Back, Forward, Up One Level (Không thường xuyên hiển thị), Show/Hide Console Tree, Properties, Refresh (Không thường xuyên hiển thị) và Help.

Cây Console

Mặc dù công cụ Failover Cluster Management không phải là một snap-in MMC, nhưng nó lại có giao diện và chức năng của một MMC. Trong cây Console (bảng bên trái) chứa kết nối Cluster mở được hiển thị trong cây phân cấp. Cây này bao gồm những đối tượng sau:

Services and Applications: Lựa chọn tùy chọn điều hướng này để mở danh sách các dịch vụ và ứng dụng đã được cấu hình trong Cluster.

Nodes: Mỗi node trong Cluster sẽ được hiển thị trong cây Console dưới tùy chọn Nodes (hình 2). Khi một node được lựa chọn, mọi thông tin chi tiết của node đó sẽ xuất hiện trong bảng làm việc (bảng giữa) của Console. Nếu muốn bổ sung một ổ đĩa vào Cluster, phải chuột lên tùy chọn này, trên menu ngữ cảnh xuất hiện chọn Add Node.


clip_image016[4]

Hình 2: Thông tin chi tiết của một Node trong Cluster.

 

Nếu như tất cả các vấn đề trên đều thực hiện tốt chúng ta sẽ chuyển sang bước tiếp theo kiểm tra cấu hình DHCP của máy chủ cài SQL Cluster.

       Trong phần cluster network configuration ở bước cài đặt, cần bỏ chọn đánh dấu DHCP và cần phải nhập tay cấu hình IP cho máy virtual cluster name mà chúng ta đang cài.(Trong quá trình cài, hệ thống ngầm định đã chọn DHCP và không tuỳ chọn 1 IP Virtual cho máy chủ đã chỉ định tên n/w ).

       Sau khi bỏ chọn DHCP và nhập IP bằng tay. Ta tiến hành tiếp việc chuẩn bị cài SQL Cluster.

 

 

Điều chỉnh lại các bước cài SQL Cluster 2008:

Thông thường khi cài bằng lệnh sau:

Setup.exe /PCUSource=C:\SP2 /SkipRules=Cluster_IsDomainController Cluster_VerifyForErrors /Action=InstallFailoverCluster

Sẽ xuất hiện lỗi sau:

The cluster resource ‘SQL Server’ could not be brought online. Error: The resource failed to come online due to the failure of one or more provider resources. (Exception from HRESULT: 0x80071736)

 

Cách sửa lỗi:

Cần phải Tạo một tài khoản máy tính “Computer Account” trong AD để truy cập và cài, cấu hình cho SQL Name.

 

Thêm SQL Server Agent Resource

       Dùng lệnh  command prompt và gõ lệnh sau:

Cluster restype “SQL Server Agent” /create /DLL: sqagtres.dll

Thay tất cả các giá trị từ  2 về thành  1 trong registery ở link:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft Microsoft SQL Server\MSSQL10.MSSQLSERVER\ConfigurationState

       Trong Failover Cluster Management dùng mục Add Resource để thêm cho phép chạy SQL Server Agent resource.

Bấm phải chuột trong resource và bấm chọn Properties. Thêm vào tên Virtual Server name (YOUR VIRTUAL NAME) và tên của Instance name (MSSQLSERVER)

Thêm cả SQL Server service as dependency for SQL Server Agent Service.

Sau đó bấm OK.

Bấm phải chuột vào Resource và chọn “bring this resource online”

Phải đảm bảo mục Resource là Online, bạn sẽ đi tiếp và thêm  Second node

Để thêm các Nodes bổ sung

Hãy tời bản vá lỗi service packs bằng lệnh sau:

SQLServer2008SP2-KB979450-x64-ENU.exe /x:C:\SP2

Hãy chạy các service pack để cài các files trong máy, sẽ có các họp thoại thông báo việc các file chưa được cài. Bạn cũng có thể chạy riêng các file sau để cài:

C:\SP2\x64\setup\1033\sqlsupport.msi

Sao chép từ bộ đĩa cài SQL tới thư mục local disk (C:\SQL2008)

Chạy Setup.exe từ  bộ đĩa cài SQL Server 2008 có dung tham số  /PCUSource, cũng bỏ qua kiểm tra cho Domain Controller và các lỗi lỗi. Ví dụ:

Setup.exe /PCUSource=C:\SP2 /SkipRules=Cluster_IsDomainController Cluster_VerifyForErrors /Action=AddNode

 

Sau khi cài xong hoàn chỉnh SQL 2008 Server Cluster thì cần kiểm tra hoạt động của Cluster Log:

In Windows 2003 Failover Clustering, the cluster service on each node constantly writes to a live debug output file. These files are located in the %SystemRoot%\Cluster folder on each node in the cluster and the name of the file is CLUSTER.LOG. The cluster log is local and specific to each node’s cluster service. Each node has a unique log file that represents its views and actions. This file is in a basic text format and can be easily viewed with Word, Notepad, etc.

In Windows Server 2008, a change was made to make the cluster debug logging mechanism more in line with how the rest of Windows handles event logging. The Win 2003 legacy CLUSTER.LOG text file no longer exists. In Win 2008 the cluster log is handled by the Windows Event Tracing (ETW) process. This is the same logging infrastructure that handles events for other aspects you are already well familiar with, such as the System or Application Event logs you view in Event Viewer.

For more information on the topic of Windows Event Tracing, see the following MSDN articles:

Improve Debugging and Performance Tuning With ETW

Event Tracing

About Event Tracing

How to Generate a Cluster Log

First we need to look at the cluster logs in some user friendly format. You can run the following commands to generate a text readable version of the ETL files. We’ll talk more about ETL files in a bit. The trace sessions are dumped into a text file that looks very similar to the legacy CLUSTER.LOG

If you are running Windows Server 2008, you can use the ‘cluster.exe’ command line . If you are running Windows Server 2008 R2, you can use either ‘cluster.exe’ command line or the cluster PowerShell cmdlets.

Command Line

c:\>cluster log /gen

Some useful switches for ‘cluster log /gen’ are:

Switch

Effect

c:\>cluster log /gen /COPY:”directory

Dumps the logs on all nodes in the entire cluster to a single directory

c:\>cluster log /gen /SPAN:min

Just dump the last X minutes of the log

c:\>cluster log /gen /NODE:”node-name

Useful when the ClusSvc is down to dump a specific node’s logs

For more detailed information on the ‘cluster log /gen’ command, see the TechNet article here.

Powershell

C:\PS> Get-ClusterLog

Some useful switches for ‘Get-ClusterLog’ are:

Switch

Effect

C:\PS> Get-ClusterLog –Destination

Dumps the logs on all nodes in the entire cluster to a single directory

C:\PS> Get-ClusterLog –TimeSpan

Just dump the last X minutes of the log

C:\PS> Get-ClusterLog –Node

Useful when the ClusSvc is down to dump a specific node’s logs

For more detailed information on the ‘Get-ClusterLog’ cmdlet, see the TechNet article here.

Failover Cluster Tracing Session

You can see the FailoverClustering ETW trace session (Microsoft-Windows-FailoverClustering) in ‘Reliability and Performance Monitor’ under ‘Data Collector Sets’, ‘Event Trace Sessions.

clip_image018[4]

Cluster event tracing is enabled by default when you first configure the cluster and start the cluster service. The log files are stored in:

%WinDir%\System32\winevt\logs\

The log files are stored in an *.etl format.

Every time a server is rebooted, we take the previous *.etl file and append it with a 00X suffix

By default, we keep the most recent three ETL files. Only one of these files is the active or “live” log at any given time.

Format in Windows Server 2008

ClusterLog.etl.001
ClusterLog.etl.002
ClusterLog.etl.003

Format in Windows Server 2008 R2

Microsoft-Windows-FailoverClustering Diagnostic.etl.001
Microsoft-Windows-FailoverClustering Diagnostic.etl.002
Microsoft-Windows-FailoverClustering Diagnostic.etl.003

The default size of these logs is 100MB each. Later in this post, I’ll explain how to determine if this size is adequate for your environment.

The important thing to understand about the cluster logs is we use a circular logging mechanism. Since the logs are a finite 100MB in size, once we reach that limit, events from the beginning of the current or “live” ETL log will be truncated to make room for events at the end of the log.

clip_image020[4]

Here’s an example of the timeframes captured in a series of ETL files.

In this example, every night the server is rebooted at midnight. The three most recent ETL logs would look like this:

clip_image022[4]

REBOOT

clip_image024[4]

REBOOT

clip_image026[4]

The ETL.001 file is the active file being used by the live cluster service to write debug entries. Let’s say there were many entries being written to the current trace session file and we hit the 100MB limit at 3pm. At that point, events from 12am to 3am were truncated to make room for additional entries in the log. At that point, the ETL.001 log would look like this:

clip_image028[4]

clip_image030[4]Now I want to view the cluster logs in some text readable format so I run either the ‘cluster log /gen’ command or the ‘Get-ClusterLog’ cmdlet

These commands take all the ETL.00X files and “glue” them together in the order they were created to make one contiguous text file.

<- LIVE TRACE SESSION

The file that gets created is located in \%WinDir%\Cluster\Reports\ and is called CLUSTER.LOG

If you were looking at the debug entries in the CLUSTER.LOG file, you might notice that since we glued all three logs together, there is an apparent gap in the CLUSTER.LOG from 11:59pm on 1/2 to 3am on 1/3. The assumption may be that either there is information missing during that time or there was nothing being logged. The missing time is not in and of itself a problem, just a side effect of concatenating all three logs together.

clip_image032[4]

How Large Should I Set My Cluster Log Size?

So now that you understand why there may be “gaps” in the cluster debug log, let’s discuss how this relates to understanding how large your cluster log size should be. The first thing you need to determine is “How much time is covered in each ETL file?”. If you were looking at the CLUSTER.LOG text file from the above examples, you could see that the most recent ETL.001 file contained about 12 hours of data before it was truncated. The other ETL files contain about 24 hours of data. When we are talking about the cluster log size, we are ONLY talking about the live ETL trace session.

The amount of data written to the ETL files is very dependent on what the cluster is doing. If the cluster is idle, there may be minimal cluster debug logging, if the cluster is recovering from a failure scenario, the logging will be very verbose. The more data being written to the ETL file, the sooner it will get truncated. There’s no one “recommended” value for the size of the cluster log that will fit everyone.

Since the default cluster log size in Windows Server 2008 is 100MB, the above example shows that 100MB ETL file covers about a 12-24 hour timeframe. This means if I am troubleshooting a cluster issue, I have 12 hours from the failure to generate a cluster log or risk information being truncated. If it may not be feasible to generate a cluster log that soon after a failure, you should consider increasing the size of the cluster log. If you changed the size of the cluster log to 400MB, you are accounting for the need to have at least 2 days (12 hours X 4) of data in the live ETL file.

Why Should I Care About All This?

While reading cluster logs may not be something you generally do in your leisure time, it’s a critical log Microsoft Support uses to troubleshoot cluster issues. If there’s any other message I could convey here it’s that in order for us to do a good job of supporting our customers, we need to have the data available. We often get customers who open a case to try and figure out why their cluster had problems and those problems occurred over a week ago. As hard of a message it is to deliver, without the complete cluster log, root cause analysis becomes extremely difficult. If you intend to open up a support case with Microsoft, keep the following in mind.

  • The sooner after the failure we can capture the cluster logs, the better. The longer you wait to open a case and have us collect diagnostic information, the greater chance the cluster log will truncate the timeframe we need.
  • If you can’t open a case right away, at least run the ‘cluster log /gen’ or the ‘Get-ClusterLog’ command and save off the cluster log files for when you do have a chance to open a case.
  • It is generally recommended that your CLUSTER.LOG have at least 72 hours’ worth of continuous data retention. This is so that if you have a failure occurs after you went home on Friday; you still have the data you need to troubleshoot the issue on Monday morning.

How to Change the Cluster Log Size

Changing the default cluster log size is fairly straightforward.

First, open an elevated command prompt and type the following:

C:\>cluster /prop

This will output the current properties of the cluster.

clip_image034[4]

To change the cluster log size, open an elevated command prompt and type the command:

Powershell

C:\PS>Set-ClusterLog –Size X

Command Line

c:\>cluster log /Size:X

Where X is the size you want to set in MB. Note in the above screenshot, the default is 100.

How to Change the Detail Verbosity of the Cluster Log

In the above screenshot, the default cluster log level (ClusterLogLevel) is 3. Generally, you shouldn’t need to change the default level unless directed by a Microsoft Support Professional. Using debug level ‘5’ will have a performance impact on the server.

Level

Error

Warning

Info

Verbose

Debug

0 (Disabled)

         

1

X

       

2

X

X

     

3
(Default)

X

X

X

   

4

X

X

X

X

 

5

X

X

X

X

X

To change the cluster log level, open an elevated command prompt and type the command:

Powershell

C:\PS>Set-ClusterLog –Level X

Command Line

c:\>cluster log /Level:X

Where X is the desired log level.

CÔNG TY TNHH NOVA SỐ – NOVA DIGITAL CO., LTD


LỊCH SỬ HÌNH THÀNH.

Cty TNHH NOVA DIGITAL được thành lập dưới sự tham gia cố vấn và đầu tư từ những chuyên gia công nghệ cao Microsoft, VMware, IBM, EMC với định hướng phát triển trở thành một trong những đơn vị hàng đầu về Sản xuất phần mềm Giải pháp, Tư vấn giải pháp, Dịch vụ Triển khai các Giải pháp phần mềm CNTT trong Quản lý Doanh nghiệp và Điều hành các hệ thống giải pháp Điện toán đám mây.

Đội ngũ nhân sự có năng lực, kinh nghiệm trên 10 năm về triển khai và đào tạo công nghệ, sở hữu nhiều chứng chỉ Quốc tế quan trọng đảm bảo khả năng cạnh tranh trong việc phát triển dịch vụ Đào tạo và triển khai giải pháp CNTT tại Việt Nam và các nước ĐNÁ.

LĨNH VỰC HOẠT ĐỘNG

Công ty TNHH NOVA DIGITAL hoạt động trong lĩnh vực Sản xuất phẩm mềm Quản lý bằng CNTT, Dịch vụ triển khai và Đào tạo CNTT với thế mạnh nhiều năm kinh nghiệm:

  • Phát triển dịch vụ đào tạo chuyên ngành Công nghệ thông tin – Kinh tế và Viễn thông.
  • Đối tác Hợp tác cung cấp các giải pháp CNTT cho 3 Hiệp hội chuyên ngành:
    • Hiệp hội Chế biến và Xuất khẩu Thuỷ sản Việt Nam – VASEP (hơn 500 Doanh nghiệp thành viên trong các lĩnh vực XNK, Chế biến, Sản xuất, Ngân hàng, Thương mại Thuỷ sản).  website: http://www.vasep.com.vn/ 
    • Hiệp hội Gỗ và Lâm sản Việt Nam (hơn 300 Doanh nghiệp thành viên trong các lĩnh vực XNK, chế biến, sản xuất, Ngân hàng, Thương mại Gỗ – nội thất). website:  http://vietfores.org/
    • Hiệp hội Chế biến và xuất khẩu Chè Việt Nam – VITAS ( hơn 80 Doanh nghiệp thành viên trong các lĩnh vực XNK, chế biến, sản xuất, Ngân hàng, Thương mại Chè – ẩm thực Việt Nam).  Website: http://www.vitas.org.vn
  • Các giải pháp phần mềm tin học vào ứng dụng cho doanh nghiệp vừa và nhỏ như:
    • Office 365 Cloud.
    • Cung cấp các phần mềm bản quyền của Microsoft, VMware, Lạc Việt cho Doanh nghiệp Việt Nam.
    • Chứng thư số của Viettel ISP cho khai báo thuế Việt Nam.
    • Hệ thống SMS của Viettel Telecom cho Quản lý sản xuất – Kinh tế.
  • Cung cấp giải phải pháp phần mềm tin học ứng dụng trong trường học Phổ thông và Đại học.
    • Hệ thống SMS của Viettel Telecom cho Quản lý Trường Đại học.
    • Hệ thống SMS Học bạ cho Quản lý Trường Phổ thông.
  • Đối tác triển khai giải pháp duy nhất của Microsoft Live@edu tại Việt Nam.
    • Triển khai hệ thống Exchange Online, SharePoint Online, Forefront Protection for Exchange Online, Skydrive.
    • Tích hợp hệ thống ADSync với Windows Live ID và SSO.
    • Triển khai các giải pháp SSO giữa Moodle hoặc SharePoint On-premise với Outlook Live.
    • Dịch vụ Đào tạo Live@edu for Administrators và Giáo viên các Trường Phổ thông – Đại học.
  • Đối tác duy nhất triển khai nâng cấp Office365 Education của Microsoft tại Việt Nam.
    • Nâng cấp từ Microsoft Live@edu sang Office 365 cho 300 trường PTCS, 128 trường PTTH, 40 Trường CĐ- Trung học chuyên nghiệp, 37 Trường Đại học,  20 Viện và Sau Đại học tại 39 tỉnh thành Việt Nam.
    • Cung cấp phần mềm và triển khai các giải pháp tích hợp, khai thác Office 365 cho toàn bộ các Trường tại Việt Nam.
    • Dịch vụ đào tạo Office 365 gồm 3 môn chuẩn của Microsoft:
      • Course 70-321 Deploying Office 365.
      • Course 70-323 Administering Office 365 for SMB.
      • Course 74-324 End User Office365 training.
  • Đại lý chính thức AER và LAR của Microsoft cung cấp phần mềm giáo dục tại Việt Nam.
  • Đối tác đạo tạo University và Triển khai giải pháp Ảo hoá Chuyên nghiệp của VMware tại Việt Nam.
    • Đại lý sản phẩm phần mềm ảo hoá VMware.
    • Đối tác đào tạo uỷ quyền của VMware tại Việt Nam.
    • Đối tác triển khai Service Solution IT Professional of VMware.
  • Trung tâm thi chứng chỉ Công nghệ Thông tin Quốc tế Prometric, Pearson Vue.
  • Xây dựng trang web điện tử, xây dựng cổng thông tin Doanh nghiệp.

 

CƠ CẤU TỔ CHỨC & NHÂN SỰ

Để thực hiện các chức năng nhiệm vụ phát triển dịch vụ Đào tạo, định hướng kinh doanh, cung cấp các giải pháp ứng dụng CNTT, đảm bảo dịch vụ hỗ trợ khách hàng và duy trì hoạt động của Trung tâm một cách hiệu quả, NOVA Digital đã xây dựng một cơ cấu tổ chức một cách chặt chẽ, hợp lý bao gồm các phòng ban có mối quan hệ hỗ trợ và phối hợp đồng bộ tạo nên một sức mạnh tập thể. Đáp ứng và cung cấp các dịch vụ phục vụ khách hàng Doanh nghiệp một cách toàn diện, chu đáo.

image

CEO: Giám đốc điều hành

CIO: Giám đốc kỹ thuật.

CMO: Giám đốc quản lý đối tác.

CFO: Trưởng quản lý tài chính kế toán.

AM: Quản lý khách hàng.

CCO: Trưởng quản lý chăm sóc khách hàng.

CTO: Trưởng quản lý kỹ thuật và triển khai hỗ trợ kỹ thuật Khách hàng.

 

NỀN TẢNG CÔNG NGHỆ – CHỨNG CHỈ NĂNG LỰC

Chứng chỉ công nghệ Microsoft MCP:

          Chứng chỉ chuyên ngành cao cấp về hệ thống mạng (MCITP)

          Chứng chỉ chuyên gia CNTT về SharePoint 2010 (MCM).

          Chứng chỉ chuyên gia CNTT về Dynamic CRM.

          Chứng chỉ chuyên gia về Đào tạo CNTT của Microsoft (MCT)

Partner Microsoft Live@edu

image

Đối tác duy nhất triển khai Microsoft Live@edu tại Việt Nam.

Microsoft Licensing Sales Specialist LAR & AER

Chứng chỉ cấp phép bán hàng chuyên khối Doanh nghiệp, chính phủ và Giáo dục.

 

Microsoft Office Specialist

Chứng chỉ chuyên ngành về hoạt động nghiệp vụ văn phòng

Microsoft Learning Solution

Ủy quyền của Microsoft về cung cấp các giải pháp cho Giáo dục và Đào tạo

Microsoft SharePoint Platform

          Cung cấp giải pháp Cổng thông tin điện tử và Microsoft Learning Gateway theo nền tảng SharePoint.

          Gia công phần mềm, triển khai dịch vụ hỗ trợ kỹ thuật cho các Trường Quốc tế và Đại học như: Hanoi University of Pharmacy – http://www.hup.edu.vn , UNISHANOI: http://portal.unishanoi.org

Microsoft Dynamic CRM

Giải pháp triển khai hệ thống Chăm sóc khách hàng

Microsoft Business Intelligence

          Giải pháp Doanh nghiệp thông minh chuyên cung cấp giải pháp BI 2008, BI 2012 trên nền Windows Server 2008 R2, Windows Server 2012 cho Hải Quan Việt Nam và Hiệp hội CBXN TS VASEP, Hiệp hội Chè VITAS.

Đối tác của SourceCode

image

Chuyên triển khai giải pháp “Business Process Management Solution” cho Doanh nghiệp Viễn thông Viettel Telecom tại 64 tỉnh thành.

Khảo thí thi chứng chỉ Quốc tế

image

          Chuyên tổ chức thi chứng chỉ CNTT của Microsoft, IBM, WMware.


SẢN PHẨM, GIẢI PHÁP & DỊCH VỤ

1.      Chương trình Microsoft Partner Program

          Đối tác của Microsoft phát triển mạng lưới và đánh giá, xác thực năng lực đối tác tại Việt Nam.

          Phát triển các gói sản phẩm, giải pháp cho các doanh nghiệp, đối tác.

          Đại lý chính thức cung cấp các phần mềm có bản quyền tại Việt Nam.

2.      Chương trình Microsoft LAR & AER (Microsoft Authorized Education Resller)

Tư vấn, cung cấp và đào tạo khai thác các phần mềm có bản quyền của Microsoft cho các đơn vị là Trường Đại học, Cao đẳng, THPT…

3.      Chương trình Live@edu và Office365 Cloud

Đối tác độc quyền triển khai cung cấp gói dịch vụ Microsoft Cloud miễn phí cho khối Giáo dục tại Việt Nam, Lào, Campuchia bao gồm:

          Hệ thống Email trực tuyến.

          Hệ thống cổng thông tin giáo dục trực tuyến.

          Hệ thống hội thảo trực tuyến.

          Hệ thống Microsoft Office trực tuyến.

          Hệ thống Dynamic CRM trực tuyến.

          Dịch vụ hỗ trợ, tư vấn và triển khai kỹ thuật Microsoft Cloud.

4.      Giải pháp phần mềm dựa trên nền tảng hạ tầng SharePoint và .Net Framework

          Cung cấp giải pháp cổng thông tin quản lý nội dung giáo trình, giáo án, trắc nghiệm cho khối giáo dục.

          Cung cấp giải pháp cổng thông tin quản lý nội dung giáo trình, giáo án, trắc nghiệm cho khối doanh nghiệp quản trị nhân sự.

5.      Giải pháp dịch vụ gia tăng trên di động (SMS Mobile)

Cung cấp giải pháp quản lý học sinh, sinh viên và phản hồi thông tin qua tổng đài nhắn tin thuê bao điện thoại di động.

6.      Phòng thi chứng chỉ Quốc tế được khảo thí ủy quyền của Prometric và Pearson Vue

Phòng thi đạt tiêu chuẩn Quốc tế được Prometric ủy quyền cho phép học viên thi và nhận các chứng chỉ chuyên ngành CNTT đạt chuẩn Quốc tế tại Việt Nam.

7.      Giải pháp ảo hóa hệ thống VMware

Đối tác độc quyền của VMware tại Việt Nam

          Tư vấn giải pháp.

          Triển khai hạ tầng.

          Đào tạo và chuyển giao công nghệ.

8.      Giải pháp phát triển dịch vụ trực tuyến trên nền Microsoft Cloud computing

Đối tác duy nhất tại Việt nam tư vấn, triển khai, đào tạo và chuyển giao công nghệ về các giải pháp trên nền Microsoft Cloud Apps.

KHÁCH HÀNG TIÊU BIỂU

Các thành viên xây dựng NOVA DIGITAL đều là những người có từ 10 – 16 năm kinh nghiệm triển khai trong các lĩnh vực:

1.      Dầu khí: PVOL

2.      Ngân hàng: Vietin Bank, VP Bank

3.      Bảo hiểm: Prudential, Manulife

4.      Vinamilk

5.      Đào tạo: RMIT University, de Heus, HUP, HUBT, HCMUT, NEU, HLU, Nhất Nghệ, DNU, HUESTAR.

6.      Hải Quan: Hải Quan Việt nam, FAO – FIIU – WCOO.

7.      Viễn Thông: Viettel Telecom.

8.      Truyền hình: VTC, Viettel Media, Mobiphone Media, PGM Senvang, HTC

 

CÁC DỰ ÁN TIÊU BIỂU ĐÃ THỰC HIỆN

Khách hàng Doanh nghiệp

Thời gian

Sản phẩm và dịch vụ cung cấp

Viettel Telecom

(64 tỉnh thành, 6000 người dùng).

2007

Giải pháp Quản lý Quy trình về Hợp đồng Mua Bán

của  K2Workflow SourceCode trên nền SharePoint Office 2007 Server

Microsoft

2008

Mô hình giải pháp SMS Mobile ứng dụng cho Nông thôn

VASEP

2011

Cổng thông tin chuyên ngành Thủy sản

http://www.vasep.com.vn

VITAS

2010

Công thông tin nội bộ Hiệp hội Chè

http://portal.vitas.org.vn

Microsoft for Education

Từ 2008 đến nay

Chương trình Live@edu triển khai tại Việt Nam cho:

– 300 trường PTCS

– 128 trường PTTH

– 40 Trường CĐ- Trung học chuyên nghiệp

– 37 Trường Đại học

– 20 Viện và Sau Đại học tại 39 tỉnh thành Việt Nam.

– 15 Trường Quốc tế.

VISC

2012

Trang học bạ trực tuyến Hocba.vn

http://hocba.vn

Viettel CA

2010

Cung cấp chữ ký số cho các ngành Thuế, Hải quan điện tử và các Doanh nghiệp thuê Hosting máy chủ.

NAT&L

2009

Tư vấn và triển khai giải pháp Mobile SMS Gateway của Microsoft UPG tại nhà máy mía đường Nghệ An.

Bộ Nông nghiệp (MART)

2009

Triển khai giải pháp thống kê giá nông nghiệp qua Mobile (Microsoft Project MIDAS)

Khách hàng GIÁO DỤC

Thời gian

Sản phẩm và dịch vụ cung cấp

Đại học Dược HN (Hanoi University of Pharmacy)

11.000 người dùng

2010

Triển khai giải pháp hạ tầng Web hosting, Sharepoint portal, Learning Geatway, hội thảo trực tuyến bằng Microsoft Lync Online.

Website: http://www.hup.edu.vn

Kiểu dự án: Lai ghép điện toán đám mây

Đại học Văn Lang

25.000 người dùng

2009

Triển khai dịch vụ hạ tầng Outlook Live, Moodle tích hợp Windows Live ID.

Website: http://www.vanlanguni.edu.vn/

Kiểu dự án: Lai ghép điện toán đám mây

Đại học Bách Khoa TP.HCM

35.000 người dùng

2009

Triển khai dịch vụ hạ tầng Outlook Live, PSA tích hợp Windows Live ID.

Website: http://www.hcmut.edu.vn/en

Kiểu dự án: Cloud and On-Premise

Đại học Tôn Đức Thắng

45.000 người dùng

2010

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Website: http://english.tdt.edu.vn/ 

Kiểu dự án: Lai ghép điện toán đám mây

Đại học Đà nẵng

32.000 người dùng

2009

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Triển khai Cổng thông tin Moodle Learning với Windows Live ID.

Website: http://www.dnu.edu.vn

Kiểu dự án: Lai ghép điện toán đám mây

Đại Học Dân lập Thăng Long

9000 người dùng

2008

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Triển khai Cổng thông tin Joomla với Windows Live ID.

Website: http://thanglong.edu.vn/

Kiểu dự án: Lai ghép điện toán đám mây

Đại học Đông Đô

5000 người dùng

2009

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Triển khai Cổng thông tin ASP.Net với Windows Live ID.

Website: http://www.dongdo.edu.vn

Kiểu dự án: Lai ghép điện toán đám mây

Đại học Quản trị Kinh Doanh Công nghệ HUBT

25.000 người dùng

2010

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Triển khai Cổng thông tin Moodle Learning với Windows Live ID.

Website: http://www.hubt.edu.vn

Kiểu dự án: Lai ghép điện toán đám mây

Khách hàng GIÁO DỤC QUỐC TẾ

Thời gian

Sản phẩm và dịch vụ cung cấp

Australian International School – Vietnam

 

1000 người dùng

2012 đến nay

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Triển khai Cổng thông tin SharePoint 2010 với Windows Live ID và SSO.

Website: http://www.aisvietnam.com

Kiểu dự án: Lai ghép điện toán đám mây

Kinder World Group

2000 người dùng

2010

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Triển khai Cổng thông tin Joomla với Windows Live ID và SSO.

Website: http://kinderworld.net/

Kiểu dự án: Lai ghép điện toán đám mây

the International School Ho Chi Minh City (ISHCMC)

3000 người dùng

2011

Triển khai dịch vụ hạ tầng Outlook Live, PowerShell đồng bộ dữ liệu người dùng.

Triển khai Cổng thông tin Joomla với Windows Live ID và SSO.

http://www.ishcmc.com/

UnisHanoi

1000 người dùng

2012 đến nay

Tư vấn giải pháp SharePoint, Exchange và triển khai Hạ dịch vụ quản lý hệ thống trọn gói

http://portal.unishanoi.org

 

ĐỐI TÁC CHIẾN LƯỢC CỦA NOVA DIGITAL

Doanh nghiệp mạnh về cung cấp giải pháp, thiết bị, dịch vụ  và phần mềm CNTT

image

Microsoft Small Business Specialist

Đối tác triển khai dịch vụ Office 365 cho Trường CĐ, ĐH và Doanh nghiệp

Đối tác chuyên triển khai và đào tạo các giải pháp Cổng thông tin SharePoint, BizTalk, SQL, Lync và Office Online.

image

Solution Service IT Professional

Đối tác chuyên triển khai giải pháp Ảo hoá vCenter & vCloud mạng Doanh nghiệp cho các Trường CĐ, ĐH và Doanh nghiệp.

image

Solution Service NAS Professional

Đối tác chuyên triển khai giải pháp Lưu trữ mạng nội bộ và Điện toán đám mây NAS to LAN & vCloud cho các Trường CĐ, ĐH và Doanh nghiệp.

image

 Service Provider SERVER & SAN Professional

Đối tác chuyên triển khai giải pháp Máy chủ Server & SAN cho các Trường CĐ, ĐH và Doanh nghiệp.

 

image

          Đối tác tư vấn và triển khai hệ thống phần mềm giải pháp dịch vụ khai báo Hải quan “E-Manifest Vietnam Customs”.

          Đối tác tư vấn và triển khai hệ thống Quản lý Nội dung số Truyền hình Viễn thông Viettel Media.

image

          Đối tác tư vấn và triển khai sản phẩm phần mềm Quản lý tài chính Khách hàng Doanh nghiệp ERP.

image

          Đối tác tư vấn và triển khai hệ thống Quản lý Nội dung số Truyền hình Tin tức VTC Media.

          Đối tác tư vấn và triển khai hạ tầng ảo hoá trong Đào tạo CNTT VTC Labs Management.

image

          Đối tác tư vấn và triển khai hệ thống Quản lý dịch vụ Ảo hoá Điện toán đám mây vCloud CMC IDC HCMC.

 

Doanh nghiệp tiên phong trong lĩnh vực Đào tạo CNTT

image

image

1.      Viện Đào tạo Công nghệ và Quản trị Robusta

2.      IPMAC.

3.      IT Academic Thang Long.

4.      NetPro IT Academic.

5.      Trung tâm CNTT Đại học Kinh doanh và Công nghệ Hà nội.

6.      Viện đào tạo CNTT & Viễn thông – Đại Học Mở Hà Nội.

7.      Viện Đào tạo Công nghệ sau đại học – Đại Học Bách Khoa Hà nội.

8.      Học viện CNTT – Kinh tế Quốc Dân.

9.      Trường Cao đẳng Công nghiệp Huế.

10.  Nhất Nghệ.

 

Đối tác Hiệp hội Doanh nghiệp Thông tấn

image

          14 năm Đối tác tư vấn và triển khai hỗ trợ nâng cao năng lực CNTT tại Hiệp hội Doanh nghiệp thủy sản Việt Nam (VASEP)

image

          4 năm Đối tác tư vấn và triển khai xây dựng, đào tạo năng lực quản lý nghiệp vụ văn phòng tại Hiệp hội Chè Việt Nam (VITAS)

 

image

          14 năm làm Đối tác tư vấn và hỗ trợ kỹ thuật  CNTT tại Doanh nghiệp sản xuất và chế biến đồ Gỗ nội thất trực thuộc Hội Gỗ Việt Nam

ĐỊNH HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI

Chúng tôi cam kết

          Chất lượng dịch vụ là kim chỉ nam cho mọi hoạt động của chúng tôi do đó chúng tôi luôn tập trung để thỏa mãn yêu cầu của khách hàng với tinh thần phục vụ tận tụy và sự hiểu biết sâu sắc về nhu cầu đề ra.

          Cùng với đó chúng tôi không ngừng nâng cao năng lực công nghệ và cải tiến quy trình chất lượng nhằm cung cấp những sản phẩm và dịch vụ có chất lượng tốt nhất.

          Chân thành, chủ động trong việc xây dựng quan hệ đối tác để cùng phát triển.

          Đoàn kết nội bộ, nỗ lực phấn đấu vì một sự nghiệp Giáo dục tiến bộ.

          Tái đầu tư xã hội thông qua các hoạt động Giáo dục cộng đồng.

Chiến lược phát triển

          Chúng tôi không ngừng đầu tư để đảm bảo luôn đi trước và đón đầu công nghệ tiên tiến dựa trên những đối tác chiến lược lâu năm.

          Không ngừng mở rộng quan hệ đối tác tạo cơ hội phát triển lớn mạnh.

          Xây dựng mạng lưới khách hàng sâu rộng và bền vững.

          Đẩy mạnh công tác đào tạo, chuyển giao công nghệ với các hãng đối tác.

          Xây dựng chiến lược nhân sự ổn định dựa trên triết lý nhân bản sâu sắc.

          Hướng tới mục tiêu trở một trong những đơn vị tiên phong về cung cấp dịch vụ đào tạo và giải pháp công nghệ tại khu vực Châu Á Thái Bình Dương.

 

%d bloggers like this: