diff --git a/Session03/1.SBS2012_DataBase.rar b/Session03/1.SBS2012_DataBase.rar new file mode 100644 index 0000000..72a800f Binary files /dev/null and b/Session03/1.SBS2012_DataBase.rar differ diff --git a/Session03/1.SBS2012_DataBase/1.CreateDataBase.sql b/Session03/1.SBS2012_DataBase/1.CreateDataBase.sql new file mode 100644 index 0000000..245e852 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/1.CreateDataBase.sql @@ -0,0 +1,4 @@ +Create DataBase SQL2012SBS +Go +Create DataBase SQL2012SBSFS +Go diff --git a/Session03/1.SBS2012_DataBase/10.Check.sql b/Session03/1.SBS2012_DataBase/10.Check.sql new file mode 100644 index 0000000..b9567e4 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/10.Check.sql @@ -0,0 +1,33 @@ +USE SQL2012SBS +GO + +DROP TABLE Products.Product +GO + +CREATE TABLE Products.Product +(ProductID INT IDENTITY(1,1), +ProductName VARCHAR(50) NOT NULL, +ProductCost MONEY NOT NULL CHECK (ProductCost > 0), +ListPrice MONEY NOT NULL CHECK (ListPrice > 0), +ProductMargin AS (ListPrice - ProductCost), +ProductDescription XML NULL, +CONSTRAINT pk_product PRIMARY KEY (ProductID)) +GO + +ALTER TABLE Orders.OrderHeader WITH CHECK + ADD CONSTRAINT ck_subtotal CHECK (SubTotal > 0) + +ALTER TABLE Orders.OrderHeader WITH CHECK + ADD CONSTRAINT ck_taxamount CHECK (TaxAmount >= 0) + +ALTER TABLE Orders.OrderHeader WITH CHECK + ADD CONSTRAINT ck_shippingamount CHECK (ShippingAmount >= 0) +GO + +ALTER TABLE Orders.OrderDetail WITH CHECK + ADD CONSTRAINT ck_quantity CHECK (Quantity >= 0) +GO + +ALTER TABLE Orders.OrderDetail WITH CHECK + ADD CONSTRAINT ck_unitprice CHECK (UnitPrice > 0) +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/11.Foreign.sql b/Session03/1.SBS2012_DataBase/11.Foreign.sql new file mode 100644 index 0000000..3e12492 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/11.Foreign.sql @@ -0,0 +1,21 @@ +USE SQL2012SBS +GO + +CREATE TABLE LookupTables.Country +(CountryID INT IDENTITY(1,1), +CountryName VARCHAR(70) NOT NULL UNIQUE, +CONSTRAINT pk_country PRIMARY KEY(CountryID)) +GO + +CREATE TABLE LookupTables.StateProvince +(StateProvinceID INT IDENTITY(1,1), +CountryID INT NOT NULL, +StateProvince VARCHAR(50) NOT NULL UNIQUE, +StateProvinceAbbrev CHAR(2) NOT NULL, +CONSTRAINT pk_stateprovince PRIMARY KEY(StateProvinceID)) +GO + +ALTER TABLE LookupTables.StateProvince + ADD CONSTRAINT fk_countrytostateprovince FOREIGN KEY (CountryID) + REFERENCES LookupTables.Country(CountryID) +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/12.Default.sql b/Session03/1.SBS2012_DataBase/12.Default.sql new file mode 100644 index 0000000..1b1699e --- /dev/null +++ b/Session03/1.SBS2012_DataBase/12.Default.sql @@ -0,0 +1,28 @@ +USE SQL2012SBS +GO + +DROP TABLE Customers.Customer +GO + +CREATE TABLE Customers.Customer +(CustomerID INT IDENTITY(1,1), +CompanyName VARCHAR(50) NULL, +FirstName VARCHAR(50) NULL, +LastName VARCHAR(50) NULL, +ModifiedDate DATE NOT NULL CONSTRAINT df_modifieddate DEFAULT GETDATE(), +CONSTRAINT pk_customer PRIMARY KEY (CustomerID)) +GO + +DROP TABLE Orders.OrderHeader +GO + +CREATE TABLE Orders.OrderHeader +(OrderID INT IDENTITY(1,1), +OrderDate DATE NOT NULL CONSTRAINT df_orderdate DEFAULT GETDATE(), +SubTotal MONEY NOT NULL CONSTRAINT ck_subtotal CHECK (SubTotal > 0), +TaxAmount MONEY NOT NULL CONSTRAINT ck_taxamount CHECK (TaxAmount >= 0), +ShippingAmount MONEY NOT NULL CONSTRAINT ck_shippingamount CHECK (ShippingAmount >= 0), +GrandTotal AS (SubTotal + TaxAmount + ShippingAmount), +FinalShipDate DATE NULL, +CONSTRAINT pk_orderheader PRIMARY KEY (OrderID)) +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/13.Index.sql b/Session03/1.SBS2012_DataBase/13.Index.sql new file mode 100644 index 0000000..0e47cab --- /dev/null +++ b/Session03/1.SBS2012_DataBase/13.Index.sql @@ -0,0 +1,7 @@ +USE SQL2012SBS +GO + +CREATE INDEX idx_lastnamefirstname2 ON Customers.Customer(LastName,FirstName) +GO +CREATE NONCLUSTERED INDEX idx_city2 ON Customers.CustomerAddress(City) +GO diff --git a/Session03/1.SBS2012_DataBase/14.FulltextCatalog.sql b/Session03/1.SBS2012_DataBase/14.FulltextCatalog.sql new file mode 100644 index 0000000..5086520 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/14.FulltextCatalog.sql @@ -0,0 +1,10 @@ +USE SQL2012SBS +GO +CREATE FULLTEXT CATALOG ProductDescriptions + ON FILEGROUP FullTextCatalogs +GO +USE SQL2012SBSFS +GO +CREATE FULLTEXT CATALOG ProductDocuments + ON FILEGROUP FullTextCatalogs +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/15.FullTextIndex.sql b/Session03/1.SBS2012_DataBase/15.FullTextIndex.sql new file mode 100644 index 0000000..062c83d --- /dev/null +++ b/Session03/1.SBS2012_DataBase/15.FullTextIndex.sql @@ -0,0 +1,16 @@ +USE SQL2012SBS +GO +CREATE FULLTEXT INDEX ON Products.Product(ProductDescription) + KEY INDEX pk_product + ON ProductDescriptions + WITH CHANGE_TRACKING = AUTO +GO + +USE SQL2012SBSFS +GO +CREATE FULLTEXT INDEX ON Products.ProductDocument + (Document TYPE COLUMN DocumentType) + KEY INDEX pk_productdocument + ON ProductDocuments + WITH CHANGE_TRACKING = AUTO +GO diff --git a/Session03/1.SBS2012_DataBase/16.FileGroups_01.sql b/Session03/1.SBS2012_DataBase/16.FileGroups_01.sql new file mode 100644 index 0000000..67c905f --- /dev/null +++ b/Session03/1.SBS2012_DataBase/16.FileGroups_01.sql @@ -0,0 +1,14 @@ +ALTER DATABASE SQL2012SBS + ADD FILEGROUP FullTextCatalog +GO +ALTER DATABASE SQL2012SBSFS + ADD FILEGROUP FullTextCatalog +GO +ALTER DATABASE SQL2012SBS + ADD FILE (NAME = N'SQL2008SBSFT', FILENAME = N'D:\SQL2012SBSFT.ndf') + TO FILEGROUP FullTextCatalog +GO +ALTER DATABASE SQL2012SBSFS + ADD FILE (NAME = N'SQL2008SBSFSFT', FILENAME = N'D:\SQL2012SBSFSFT.ndf') + TO FILEGROUP FullTextCatalog +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/17.FileGroups_02.sql b/Session03/1.SBS2012_DataBase/17.FileGroups_02.sql new file mode 100644 index 0000000..307d2a6 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/17.FileGroups_02.sql @@ -0,0 +1,41 @@ +USE master +GO +--ایجاد بانک اطلاعاتی تستی +CREATE DATABASE TestFileGroup +GO +USE TestFileGroup +GO +SP_HELPFILE +GO +------------------------- +--استخراج اطلاعاتی درباره فایل گروه های مربوط به بانک اطلاعاتی جاری +SP_HELPFILEGROUP +GO +SELECT * FROM sys.filegroups +GO +------------------------- +--اضافه کردن یک فایل گروه به بانک اطلاعاتی مورد نظر +ALTER DATABASE TestFileGroup ADD FILEGROUP ACCFG +GO +------------------------- +--استخراج اطلاعاتی درباره فایل گروه های مربوط به بانک اطلاعاتی جاری +SP_HELPFILEGROUP +GO +SELECT * FROM sys.filegroups +GO +------------------------- +--تخصیص یک دیتا فایل به فایل گروه مورد نظر +ALTER DATABASE TestFileGroup ADD FILE + ( + NAME=Acc,FILENAME='D:\ACC.ndf', + SIZE=3MB,MAXSIZE=UNLIMITED,FILEGROWTH=10% + )TO FILEGROUP ACCFG + +GO +------------------------- +--استخراج اطلاعاتی درباره فایل گروه های مربوط به بانک اطلاعاتی جاری +SP_HELPFILEGROUP +GO +SELECT * FROM sys.filegroups +GO +------------------------- diff --git a/Session03/1.SBS2012_DataBase/18.FileGroups_03.sql b/Session03/1.SBS2012_DataBase/18.FileGroups_03.sql new file mode 100644 index 0000000..18b26d2 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/18.FileGroups_03.sql @@ -0,0 +1,41 @@ +USE TestFileGroup +GO +------------------------- +--استخراج اطلاعاتی درباره فایل گروه های مربوط به بانک اطلاعاتی جاری +SP_HELPFILEGROUP +GO +SELECT * FROM sys.filegroups +GO +--به فایل گروه پیش فرض توجه شود +GO +/* +--تغییر فایل گروه پیش فرض +ALTER DATABASE TestFileGroup MODIFY FILEGROUP ACCFG DEFAULT +*/ +------------------------- +--اگر یک جدول به صورت عادی ایجاد کنیم در فایل گروه پیش فرض ایجاد خواهد شد +CREATE TABLE Hesab +( + Code INT PRIMARY KEY, + NAME NVARCHAR(150), + HesabType TINYINT, +) +GO +--استخراج اطلاعاتی درباره جدول +SP_HELP Hesab +GO +--حذف جدول +DROP TABLE Hesab +GO +--ایجاد جدول در یک فایل گروه دلخواه +CREATE TABLE Hesab +( + Code INT PRIMARY KEY, + NAME NVARCHAR(150), + Type TINYINT, +) ON ACCFG +GO +--استخراج اطلاعاتی درباره جدول +SP_HELP Hesab +GO +------------------------- diff --git a/Session03/1.SBS2012_DataBase/19.FileGroups_04.sql b/Session03/1.SBS2012_DataBase/19.FileGroups_04.sql new file mode 100644 index 0000000..c4bf556 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/19.FileGroups_04.sql @@ -0,0 +1,73 @@ +USE master +GO +CREATE DATABASE SampleDB +GO +USE SampleDB +GO +SP_HELPFILE +GO +------------------------- +--استخراج اطلاعاتی درباره فایل گروه های مربوط به بانک اطلاعاتی جاری +SP_HELPFILEGROUP +SELECT * FROM sys.filegroups +GO +--قرار دارند Primary به طور پیش فرض جداول سیستمی در فایل گروه +GO +------------------------- +--ایجاد فایل گروه های مختلف +GO +--فایل گروه و دیتا فایل مربوط به سیستم حسابداری +ALTER DATABASE SampleDB ADD FILEGROUP AccFG +GO +ALTER DATABASE SampleDB ADD FILE + ( + NAME=Acc_DATA,FILENAME='D:\Acc_DATA.ndf', + SIZE=4MB,MAXSIZE=1GB,FILEGROWTH=20% + )TO FILEGROUP AccFG +GO +--فایل گروه و دیتا فایل مربوط به سیستم حقوق و دستمزد +ALTER DATABASE SampleDB ADD FILEGROUP WageFG +GO +ALTER DATABASE SampleDB ADD FILE + ( + NAME=Wage_DATA,FILENAME='D:\Wage_DATA.ndf', + SIZE=4MB,MAXSIZE=1GB,FILEGROWTH=20% + )TO FILEGROUP WageFG +GO + +--Blob فایل گروه و دیتا فایل مربوط به +ALTER DATABASE SampleDB ADD FILEGROUP BlobFG +GO +ALTER DATABASE SampleDB ADD FILE + ( + NAME=Blob_DATA,FILENAME='D:\Blob_DATA.ndf', + SIZE=4MB,MAXSIZE=1GB,FILEGROWTH=20% + )TO FILEGROUP BlobFG +GO +--استخراج اطلاعاتی درباره فایل گروه های مربوط به بانک اطلاعاتی جاری +SP_HELPFILEGROUP +SELECT * FROM sys.filegroups +GO +------------------------- +--ایجاد یک جدول در سیستم حسابداری +CREATE TABLE Hesab +( + Code INT PRIMARY KEY, + NAME NVARCHAR(150), + HesabType TINYINT, +) ON AccFG +GO +--استخراج اطلاعاتی درباره جدول +SP_HELP Hesab +GO +--ایجاد یک جدول در سیستم حقوق و دستمزد +CREATE TABLE Employees +( + Code INT PRIMARY KEY, + FirstName NVARCHAR(50), + LastName NVARCHAR(50), + Picture VARBINARY(MAX) +) ON WageFG TEXTIMAGE_ON BlobFG +GO +--استخراج اطلاعاتی درباره جدول +SP_HELP Employees \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/2.CreateDataBase.sql b/Session03/1.SBS2012_DataBase/2.CreateDataBase.sql new file mode 100644 index 0000000..b6718a8 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/2.CreateDataBase.sql @@ -0,0 +1,14 @@ +CREATE DATABASE SQL2012SBS ON PRIMARY +( NAME = N'SQL2012SBS', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLFULL\MSSQL\DATA\SQL2012SBS.mdf' , SIZE = 7MB , MAXSIZE = UNLIMITED, FILEGROWTH = 10% ), +FILEGROUP FG1 DEFAULT ( NAME = N'SQL2012SBSFG1_Dat1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLFULL\MSSQL\DATA\SQL2012SBS_1.ndf' , SIZE = 2MB , MAXSIZE = UNLIMITED, FILEGROWTH = 2MB) + + LOG ON +( NAME = N'SQL2012SBS_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLFULL\MSSQL\DATA\SQL2012SBS.ldf' , SIZE = 2MB , MAXSIZE = UNLIMITED , FILEGROWTH = 10MB ) +GO +CREATE DATABASE SQL2012SBSFS ON PRIMARY +( NAME = N'SQL2012SBSFS', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLFULL\MSSQL\DATA\SQL2012SBSFS.mdf' , SIZE = 7MB , MAXSIZE = UNLIMITED, FILEGROWTH = 10% ), + FILEGROUP DocumentFileStreamGroup +( NAME = N'FileStreamDocuments', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLFULL\MSSQL\DATA\SQL2012SBSFS.ndf' ) + LOG ON +( NAME = N'SQL2012SBSFS_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLFULL\MSSQL\DATA\SQL2012SBSFS.ldf' , SIZE = 2MB , MAXSIZE = UNLIMITED , FILEGROWTH = 10MB ) +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/20.FileStream&FileTable.sql b/Session03/1.SBS2012_DataBase/20.FileStream&FileTable.sql new file mode 100644 index 0000000..b82a333 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/20.FileStream&FileTable.sql @@ -0,0 +1,53 @@ +/* +--FileTables برای استفاده از ویژگی +--فعال شده باشدFileStream +*/ +------------------------------------------------------------------------------ +USE master +GO +-- Enabling FILESTREAM +--0=Disables FILESTREAM support for this instance. +--1=Enables FILESTREAM for Transact-SQL access. +--2=Enables FILESTREAM for Transact-SQL and Win32 streaming access. +EXEC sp_Configure filestream_access_level, 2 +GO +RECONFIGURE +GO +------------------------------------------------------------------------------ +CREATE DATABASE MyFileTableTest +ON PRIMARY +( + NAME = N'MyFileTableTest', + FILENAME = N'D:\FileTable\MyFileTableTest.mdf' +), +FILEGROUP FilestreamFG CONTAINS FILESTREAM +( + NAME = MyFileStreamData, + FILENAME= 'D:\FileTable\Data' +) +LOG ON +( + NAME = N'MyFileTableTest_Log', + FILENAME = N'D:\FileTable\MyFileTableTest_log.ldf' +) +WITH FILESTREAM +( + NON_TRANSACTED_ACCESS = FULL, + DIRECTORY_NAME = N'FileTable' +) +GO +------------------------------------------------------------------------------ +USE MyFileTableTest +go + +CREATE TABLE MyDocumentStore AS FileTable +WITH +( + FileTable_Directory = 'MyDocumentStore', + FileTable_Collate_Filename = database_default +); +GO +--SSMS بررسی در +GO +SELECT * FROM MyDocumentStore +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/20.FileStream.sql b/Session03/1.SBS2012_DataBase/20.FileStream.sql new file mode 100644 index 0000000..cf3907f --- /dev/null +++ b/Session03/1.SBS2012_DataBase/20.FileStream.sql @@ -0,0 +1,85 @@ +--------------------------------------- +USE master +GO +-- Enabling FILESTREAM +--0=Disables FILESTREAM support for this instance. +--1=Enables FILESTREAM for Transact-SQL access. +--2=Enables FILESTREAM for Transact-SQL and Win32 streaming access. +EXEC sp_Configure filestream_access_level, 2 +GO +RECONFIGURE +GO +------------------------------------------------------------------------------ +-- Creating Database +CREATE DATABASE FileStream_Test ON + (NAME = FileStreamTest, FILENAME = 'D:\FileStream_Test.mdf'), + FILEGROUP Filstream_FG CONTAINS FILESTREAM(NAME = FileStream_Test, FILENAME = 'D:\FileStream_Test_Folder') + LOG ON + (NAME = FileStreamTest_Log, FILENAME = 'D:\FileStream_Test.ldf') +GO +-- Check File Explorer +--بررسي تنظيمات امنيتي به ازاي شاخه مورد نظر +------------------------------------------------------------------------------ +USE FileStream_Test +GO +--به ساختار جدول دقت كنيد +--GUID Required +CREATE TABLE MyGallery +( + RowID INT IDENTITY PRIMARY KEY, + Photo VARBINARY(MAX) FILESTREAM, + RowGUID UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() UNIQUE ROWGUIDCOL +) +GO +SP_HELP 'MyGallery' +GO +SELECT * FROM MyGallery +GO +------------------------------------------------------------------------------ +--درج داده در جدول +-- Check File Explorer +INSERT MyGallery(Photo) VALUES(CAST('Hello World' AS VARBINARY(MAX))) +INSERT MyGallery(Photo) VALUES(CAST('' AS VARBINARY(MAX))) +INSERT MyGallery(Photo) VALUES(NULL) +GO +SELECT * FROM MyGallery +-- Select With CAST +SELECT RowID, CAST(Photo AS VARCHAR(MAX)), RowGUID FROM MyGallery +GO +--درج يك فايل باينري +-- Check File Explorer +INSERT MyGallery(Photo) + SELECT BulkColumn FROM + OPENROWSET( BULK 'D:\121.jpg', Single_Blob) AS tmp +GO +SELECT * FROM MyGallery +-- Select With CAST +SELECT RowID, CAST(Photo AS VARCHAR(MAX)), RowGUID FROM MyGallery +GO +------------------------------------------------------------------------------ +--Update Data +-- Check File Explorer +UPDATE MyGallery SET Photo = CAST('Hello Filestream' AS VARBINARY(MAX)) + WHERE RowID = 1 +GO +SELECT * FROM MyGallery +-- Select With CAST +SELECT RowID, CAST(Photo AS VARCHAR(MAX)), RowGUID FROM MyGallery +------------------------------------------------------------------------------ +--Delete Data +DELETE FROM MyGallery WHERE RowID=1 +GO +SELECT * FROM MyGallery +-- Check File Explorer +--فايل ركورد مورد نظر به زودي از ديسك پاك نمي شود +CHECKPOINT +GO +------------------------------------------------------------------------------ +--TRUNCATE TABLE +TRUNCATE TABLE MyGallery +GO +SELECT * FROM MyGallery +-- Check File Explorer +--فايل ركوردهاي مورد نظر به زودي از ديسك پاك نمي شود +CHECKPOINT +GO diff --git a/Session03/1.SBS2012_DataBase/21.FileStream&FileTable.sql b/Session03/1.SBS2012_DataBase/21.FileStream&FileTable.sql new file mode 100644 index 0000000..47b9f0d --- /dev/null +++ b/Session03/1.SBS2012_DataBase/21.FileStream&FileTable.sql @@ -0,0 +1,53 @@ +/* +--FileTables برای استفاده از ویژگی +--فعال شده باشدFileStream +*/ +------------------------------------------------------------------------------ +USE master +GO +-- Enabling FILESTREAM +--0=Disables FILESTREAM support for this instance. +--1=Enables FILESTREAM for Transact-SQL access. +--2=Enables FILESTREAM for Transact-SQL and Win32 streaming access. +EXEC sp_Configure filestream_access_level, 2 +GO +RECONFIGURE +GO +------------------------------------------------------------------------------ +CREATE DATABASE MyFileTableTest +ON PRIMARY +( + NAME = N'MyFileTableTest', + FILENAME = N'D:\MyFileTableTest.mdf' +), +FILEGROUP FilestreamFG CONTAINS FILESTREAM +( + NAME = MyFileStreamData, + FILENAME= 'D:\FileTable' +) +LOG ON +( + NAME = N'MyFileTableTest_Log', + FILENAME = N'D:\MyFileTableTest_log.ldf' +) +WITH FILESTREAM +( + NON_TRANSACTED_ACCESS = FULL, + DIRECTORY_NAME = N'FileTable' +) +GO +------------------------------------------------------------------------------ +USE MyFileTableTest +go + +CREATE TABLE MyDocumentStore AS FileTable +WITH +( + FileTable_Directory = 'MyDocumentStore', + FileTable_Collate_Filename = database_default +); +GO +--SSMS بررسی در +GO +SELECT * FROM MyDocumentStore +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/21.FileStream.sql b/Session03/1.SBS2012_DataBase/21.FileStream.sql new file mode 100644 index 0000000..cbae938 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/21.FileStream.sql @@ -0,0 +1,92 @@ +/* +بررسی نحوه فعال کردن فایل استریم +هنگام نصب +Configuration پس از نصب در قسمت +*/ +------------------------------------------------------------------------------ +USE master +GO +-- Enabling FILESTREAM +--0=Disables FILESTREAM support for this instance. +--1=Enables FILESTREAM for Transact-SQL access. +--2=Enables FILESTREAM for Transact-SQL and Win32 streaming access. +EXEC sp_Configure filestream_access_level, 2 +GO +RECONFIGURE +GO +------------------------------------------------------------------------------ +-- Creating Database +CREATE DATABASE FS_Demo ON + (NAME = FS_Demo, FILENAME = 'D:\FileStream\FS_Demo.mdf'), + FILEGROUP Filstream_FG CONTAINS FILESTREAM(NAME = FS_Demo_Filestream, FILENAME = 'D:\FileStream\FS_Test') + LOG ON + (NAME = FS_Demo_Log, FILENAME = 'D:\FileStream\FS_Demo_Log.ldf') +GO +-- Check File Explorer +--بررسي تنظيمات امنيتي به ازاي شاخه مورد نظر +------------------------------------------------------------------------------ +USE FS_Demo +GO +--به ساختار جدول دقت كنيد +--GUID Required +CREATE TABLE MyGallery +( + RowID INT IDENTITY PRIMARY KEY, + Photo VARBINARY(MAX) FILESTREAM, + RowGUID UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() UNIQUE ROWGUIDCOL +) +GO +SP_HELP 'MyGallery' +GO +SELECT * FROM MyGallery +GO +------------------------------------------------------------------------------ +--درج داده در جدول +-- Check File Explorer +SELECT CAST('HELLO WORLD' AS VARBINARY(MAX)) +GO +INSERT MyGallery(Photo) VALUES(CAST('Hello World' AS VARBINARY(MAX))) +INSERT MyGallery(Photo) VALUES(CAST('' AS VARBINARY(MAX))) +INSERT MyGallery(Photo) VALUES(NULL) +GO +SELECT * FROM MyGallery +-- Select With CAST +SELECT RowID, CAST(Photo AS VARCHAR(MAX)), RowGUID FROM MyGallery +GO +--درج يك فايل باينري +-- Check File Explorer +INSERT MyGallery(Photo) + SELECT BulkColumn FROM + OPENROWSET( BULK 'D:\TEMP\1.bmp', Single_Blob) AS tmp +GO +SELECT * FROM MyGallery +-- Select With CAST +SELECT RowID, CAST(Photo AS VARCHAR(MAX)), RowGUID FROM MyGallery +GO +------------------------------------------------------------------------------ +--Update Data +-- Check File Explorer +UPDATE MyGallery SET Photo = CAST('Hello Filestream' AS VARBINARY(MAX)) + WHERE RowID = 1 +GO +SELECT * FROM MyGallery +-- Select With CAST +SELECT RowID, CAST(Photo AS VARCHAR(MAX)), RowGUID FROM MyGallery +------------------------------------------------------------------------------ +--Delete Data +DELETE FROM MyGallery WHERE RowID=1 +GO +SELECT * FROM MyGallery +-- Check File Explorer +--فايل ركورد مورد نظر به زودي از ديسك پاك نمي شود +CHECKPOINT +GO +------------------------------------------------------------------------------ +--TRUNCATE TABLE +TRUNCATE TABLE MyGallery +GO +SELECT * FROM MyGallery +-- Check File Explorer +--فايل ركوردهاي مورد نظر به زودي از ديسك پاك نمي شود +CHECKPOINT +GO diff --git a/Session03/1.SBS2012_DataBase/3.Schema.sql b/Session03/1.SBS2012_DataBase/3.Schema.sql new file mode 100644 index 0000000..a9273ab --- /dev/null +++ b/Session03/1.SBS2012_DataBase/3.Schema.sql @@ -0,0 +1,14 @@ +USE SQL2012SBS +GO +CREATE SCHEMA Customers AUTHORIZATION dbo +GO +CREATE SCHEMA Orders AUTHORIZATION dbo +GO +CREATE SCHEMA Products AUTHORIZATION dbo +GO +CREATE SCHEMA LookupTables AUTHORIZATION dbo +GO +USE SQL2012SBSFS +GO +CREATE SCHEMA Products AUTHORIZATION dbo +GO diff --git a/Session03/1.SBS2012_DataBase/4.Table.sql b/Session03/1.SBS2012_DataBase/4.Table.sql new file mode 100644 index 0000000..01a66d2 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/4.Table.sql @@ -0,0 +1,68 @@ +USE SQL2012SBS +GO +CREATE SCHEMA HumanResources AUTHORIZATION dbo +GO + +CREATE TABLE Customers.Customer +(CustomerID INT IDENTITY(1,1), +CompanyName VARCHAR(50) NULL, +FirstName VARCHAR(50) NULL, +LastName VARCHAR(50) NULL, +ModifiedDate DATE NOT NULL) +GO + +CREATE TABLE Customers.CustomerAddress +(AddressID INT IDENTITY(1,1), +AddressType VARCHAR(20) NOT NULL, +AddressLine1 VARCHAR(50) NOT NULL, +AddressLine2 VARCHAR(50) NULL, +AddressLine3 VARCHAR(50) NULL, +City VARCHAR(50) NOT NULL, +StateProvince VARCHAR(50) NULL, +Country VARCHAR(70) NULL) +GO + +CREATE TABLE Orders.OrderHeader +(OrderID INT IDENTITY(1,1), +OrderDate DATE NOT NULL, +SubTotal MONEY NOT NULL, +TaxAmount MONEY NOT NULL, +ShippingAmount MONEY NOT NULL, +FinalShipDate DATE NULL) +GO + +CREATE TABLE Orders.OrderDetail +(OrderDetailID INT IDENTITY(1,1), +SKU CHAR(10) NOT NULL, +Quantity INT NOT NULL, +UnitPrice MONEY NOT NULL, +ShipDate DATE NULL) +GO + +CREATE TABLE Products.Product +(ProductID INT IDENTITY(1,1), +ProductName VARCHAR(50) NOT NULL, +ProductCost MONEY NOT NULL, +ListPrice MONEY NOT NULL, +ProductDescription XML NULL) +GO + +CREATE TABLE HumanResources.Employee +(EmployeeID INT IDENTITY(1,1), +FirstName VARCHAR(50) NOT NULL, +LastName VARCHAR(50) NOT NULL, +JobTitle VARCHAR(50) NOT NULL, +BirthDate DATE NOT NULL, +HireDate DATE NOT NULL) +GO + +CREATE TABLE HumanResources.EmployeeAddress +(AddressID INT IDENTITY(1,1), +AddressType VARCHAR(20) NOT NULL, +AddressLine1 VARCHAR(50) NOT NULL, +AddressLine2 VARCHAR(50) NULL, +AddressLine3 VARCHAR(50) NULL, +City VARCHAR(50) NOT NULL, +StateProvince VARCHAR(50) NULL, +Country VARCHAR(70) NULL) +GO diff --git a/Session03/1.SBS2012_DataBase/5.Alter.sql b/Session03/1.SBS2012_DataBase/5.Alter.sql new file mode 100644 index 0000000..dbf2932 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/5.Alter.sql @@ -0,0 +1,5 @@ +USE SQL2012SBS +GO +ALTER TABLE Products.Product + ADD ProductMargin AS (ListPrice - ProductCost) +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/6.Sparse.sql b/Session03/1.SBS2012_DataBase/6.Sparse.sql new file mode 100644 index 0000000..e374034 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/6.Sparse.sql @@ -0,0 +1,32 @@ +USE SQL2012SBS +GO + +DROP TABLE Customers.CustomerAddress +GO + +CREATE TABLE Customers.CustomerAddress +(AddressID INT IDENTITY(1,1), +AddressType VARCHAR(20) NOT NULL, +AddressLine1 VARCHAR(50) NOT NULL, +AddressLine2 VARCHAR(50) SPARSE NULL, +AddressLine3 VARCHAR(50) SPARSE NULL, +City VARCHAR(50) NOT NULL, +StateProvince VARCHAR(50) NULL, +Country VARCHAR(70) NULL, +CONSTRAINT pk_customeraddress PRIMARY KEY (AddressID)) +GO + +DROP TABLE HumanResources.EmployeeAddress +GO + +CREATE TABLE HumanResources.EmployeeAddress +(AddressID INT IDENTITY(1,1), +AddressType VARCHAR(20) NOT NULL, +AddressLine1 VARCHAR(50) NOT NULL, +AddressLine2 VARCHAR(50) SPARSE NULL, +AddressLine3 VARCHAR(50) SPARSE NULL, +City VARCHAR(50) NOT NULL, +StateProvince VARCHAR(50) NULL, +Country VARCHAR(70) NULL, +CONSTRAINT pk_employeeaddress PRIMARY KEY (AddressID)) +GO diff --git a/Session03/1.SBS2012_DataBase/7.Primary_01.sql b/Session03/1.SBS2012_DataBase/7.Primary_01.sql new file mode 100644 index 0000000..3f167f0 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/7.Primary_01.sql @@ -0,0 +1,43 @@ +USE SQL2012SBS +GO + +DROP TABLE Customers.Customer +GO + +CREATE TABLE Customers.Customer +(CustomerID INT IDENTITY(1,1), +CompanyName VARCHAR(50) NULL, +FirstName VARCHAR(50) NULL, +LastName VARCHAR(50) NULL, +ModifiedDate DATE NOT NULL, +CONSTRAINT pk_customer PRIMARY KEY (CustomerID)) +GO + +DROP TABLE Customers.CustomerAddress +GO + +CREATE TABLE Customers.CustomerAddress +(AddressID INT IDENTITY(1,1), +AddressType VARCHAR(20) NOT NULL, +AddressLine1 VARCHAR(50) NOT NULL, +AddressLine2 VARCHAR(50) NULL, +AddressLine3 VARCHAR(50) NULL, +City VARCHAR(50) NOT NULL, +StateProvince VARCHAR(50) NULL, +Country VARCHAR(70) NULL, +CONSTRAINT pk_customeraddress PRIMARY KEY (AddressID)) +GO + +DROP TABLE Orders.OrderHeader +GO + +CREATE TABLE Orders.OrderHeader +(OrderID INT IDENTITY(1,1), +OrderDate DATE NOT NULL, +SubTotal MONEY NOT NULL, +TaxAmount MONEY NOT NULL, +ShippingAmount MONEY NOT NULL, +GrandTotal AS (SubTotal + TaxAmount + ShippingAmount), +FinalShipDate DATE NULL, +CONSTRAINT pk_orderheader PRIMARY KEY (OrderID)) +GO \ No newline at end of file diff --git a/Session03/1.SBS2012_DataBase/8.Primary_02.sql b/Session03/1.SBS2012_DataBase/8.Primary_02.sql new file mode 100644 index 0000000..ee7eb84 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/8.Primary_02.sql @@ -0,0 +1,11 @@ +USE SQL2012SBS +GO + +ALTER TABLE Orders.OrderDetail + ADD CONSTRAINT pk_orderdetail PRIMARY KEY (OrderDetailID) +GO + +ALTER TABLE Products.Product + ADD CONSTRAINT pk_product PRIMARY KEY (ProductID) +GO + diff --git a/Session03/1.SBS2012_DataBase/9.Uniq.sql b/Session03/1.SBS2012_DataBase/9.Uniq.sql new file mode 100644 index 0000000..517dbf7 --- /dev/null +++ b/Session03/1.SBS2012_DataBase/9.Uniq.sql @@ -0,0 +1,9 @@ +USE SQL2012SBSFS +GO + +CREATE TABLE Products.ProductDocument +(DocumentID UNIQUEIDENTIFIER ROWGUIDCOL UNIQUE, +DocumentType VARCHAR(20) NOT NULL, +Document VARBINARY(MAX) NOT NULL, +CONSTRAINT pk_productdocument PRIMARY KEY(DocumentID)) +GO diff --git a/Session03/2.Business_Intelligence.rar b/Session03/2.Business_Intelligence.rar new file mode 100644 index 0000000..64635c3 Binary files /dev/null and b/Session03/2.Business_Intelligence.rar differ diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW.bak b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW.bak new file mode 100644 index 0000000..0fd6db6 Binary files /dev/null and b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW.bak differ diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Copy of SQL2008SBSDW.ds b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Copy of SQL2008SBSDW.ds new file mode 100644 index 0000000..06782b6 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Copy of SQL2008SBSDW.ds @@ -0,0 +1,13 @@ + + SQL2008SBSDW + SQL2008SBSDW + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + Provider=SQLNCLI10.1;Data Source=HOTEK2;Integrated Security=SSPI;Initial Catalog=SQL2008SBSDW + Unchanged + + ImpersonateServiceAccount + Unchanged + + PT0S + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Customer.dim b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Customer.dim new file mode 100644 index 0000000..e63b811 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Customer.dim @@ -0,0 +1,306 @@ + + Customer + Customer + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + -1116 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + -5318 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + -377 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + -4577 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 100 + + + 0001-01-01T06:00:00Z + Unprocessed + + SQL2008SBSDW + + + ReportAndStop + ReportAndStop + ReportAndStop + + Molap + + + Customer Key + Customer Key + Key + + + Integer + + dbo_Customer + CustomerKey + + + + + WChar + 100 + + dbo_Customer + CustomerName + + + + + Geography Key + Geography Key + + + City + City + + + State Province + State Province + + + Country Name + Country Name + + + Customer Name + Customer Name + + + + + Geography Key + Geography Key + + + Integer + + dbo_Customer + GeographyKey + + + + Key + false + + + City + City + + + WChar + 50 + + dbo_Geography + City + + + + + + State Province + State Province + + + WChar + 50 + + dbo_Geography + StateProvince + + + + + + Country Name + Country Name + + + WChar + 70 + + dbo_Geography + CountryName + + + + + + Customer Name + Customer Name + + + WChar + 100 + + dbo_Customer + CustomerName + + + + + + + + Hierarchy + CustomerGeography + + + Country Name + Country Name + Country Name + + + State Province + State Province + State Province + + + City + City + City + + + Customer Name + Customer Name + Customer Name + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Dates.dim b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Dates.dim new file mode 100644 index 0000000..9cafd16 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Dates.dim @@ -0,0 +1,263 @@ + + Dates + Dates + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + -880 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + -4180 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + -298 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + -2884 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 100 + + + 0001-01-01T06:00:00Z + Unprocessed + + SQL2008SBSDW + + + ReportAndStop + ReportAndStop + ReportAndStop + + Molap + + + Date Key + Date Key + Key + + + Integer + + dbo_Dates + DateKey + + + + + WChar + + dbo_Dates + FullDate + + + + + Calendar Year + Calendar Year + + + Calendar Semester + Calendar Semester + + + Calendar Quarter + Calendar Quarter + + + English Day Name Of Week + English Day Name Of Week + + + English Month Name + English Month Name + + + Week Number Of Year + Week Number Of Year + + + + + Calendar Year + Calendar Year + + + SmallInt + + dbo_Dates + CalendarYear + + + + + + Calendar Semester + Calendar Semester + + + UnsignedTinyInt + + dbo_Dates + CalendarSemester + + + + + + Calendar Quarter + Calendar Quarter + + + UnsignedTinyInt + + dbo_Dates + CalendarQuarter + + + + + + English Day Name Of Week + English Day Name Of Week + + + WChar + 10 + + dbo_Dates + EnglishDayNameOfWeek + + + + + + English Month Name + English Month Name + + + WChar + 10 + + dbo_Dates + EnglishMonthName + + + + + + Week Number Of Year + Week Number Of Year + + + UnsignedTinyInt + + dbo_Dates + WeekNumberOfYear + + + + + + + + Hierarchy + MonthlyCalendar + + + Calendar Year + Calendar Year + Calendar Year + + + Calendar Semester + Calendar Semester + Calendar Semester + + + Calendar Quarter + Calendar Quarter + Calendar Quarter + + + English Month Name + English Month Name + English Month Name + + + English Day Name Of Week + English Day Name Of Week + English Day Name Of Week + + + + + Hierarchy 1 + WeeklyCalendar + + + Calendar Year + Calendar Year + Calendar Year + + + Week Number Of Year + Week Number Of Year + Week Number Of Year + + + English Day Name Of Week + English Day Name Of Week + English Day Name Of Week + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Geography.dim b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Geography.dim new file mode 100644 index 0000000..6adf42d --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Geography.dim @@ -0,0 +1,178 @@ + + Geography + Geography + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + -1528 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + -5318 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + 20 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 100 + + + 0001-01-01T06:00:00Z + Unprocessed + + SQL2008SBSDW + + Visible + + ReportAndStop + ReportAndStop + ReportAndStop + + Molap + + + Geography Key + Geography Key + Key + + + Integer + UnknownMember + + dbo_Geography + GeographyKey + + + + + + City + City + + + State Province + State Province + + + Country Name + Country Name + + + Key + + + City + City + + + WChar + 50 + + dbo_Geography + City + + + + + + State Province + State Province + + + WChar + 50 + + dbo_Geography + StateProvince + + + + + + Country Name + Country Name + + + WChar + 70 + + dbo_Geography + CountryName + + + + + + + + Hierarchy + Location + + + Country Name + Country Name + Country Name + + + State Province + State Province + State Province + + + City + City + City + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product Category.dim b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product Category.dim new file mode 100644 index 0000000..dc2d531 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product Category.dim @@ -0,0 +1,104 @@ + + Product Category + Product Category + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + -1562 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + -5741 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + 20 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 100 + + + 0001-01-01T00:00:00Z + Unprocessed + + SQL2008SBSDW + + + ReportAndStop + ReportAndStop + ReportAndStop + + Molap + + + Category Key + Category Key + Key + + + Integer + + dbo_ProductCategory + CategoryKey + + + + + WChar + 20 + + dbo_ProductCategory + Category + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product Sub Category.dim b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product Sub Category.dim new file mode 100644 index 0000000..31f62cc --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product Sub Category.dim @@ -0,0 +1,132 @@ + + Product Sub Category + Product Sub Category + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + -1370 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + -5529 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + 20 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 100 + + + 0001-01-01T00:00:00Z + Unprocessed + + SQL2008SBSDW + + + ReportAndStop + ReportAndStop + ReportAndStop + + Molap + + + Sub Category Key + Sub Category Key + Key + + + Integer + + dbo_ProductSubCategory + SubCategoryKey + + + + + WChar + 20 + + dbo_ProductSubCategory + SubcategoryName + + + + + Category Key + Category Key + + + + + Category Key + Category Key + + + Integer + + dbo_ProductSubCategory + CategoryKey + + + + + WChar + 20 + + dbo_ProductCategory + Category + + + false + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product.dim b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product.dim new file mode 100644 index 0000000..7eafede --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/Product.dim @@ -0,0 +1,271 @@ + + Product + Product + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + -231 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + -4894 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + 1420 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + -3625 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 100 + + + 0001-01-01T06:00:00Z + Unprocessed + + SQL2008SBSDW + + + ReportAndStop + ReportAndStop + ReportAndStop + + Molap + + + Product Key + Product Key + Key + + + Integer + + dbo_Product + ProductKey + + + + + WChar + 50 + + dbo_Product + ProductName + + + + + Sub Category Key + Sub Category Key + + + Product Name + Product Name + + + Subcategory Name + Subcategory Name + + + Category + Category + + + + + Sub Category Key + Sub Category Key + + + Integer + + dbo_Product + SubCategoryKey + + + + + WChar + 20 + + dbo_ProductSubCategory + SubcategoryName + + + false + + + Product Name + Product Name + + + WChar + 50 + + dbo_Product + ProductName + + + + + + Subcategory Name + Subcategory Name + + + WChar + 20 + + dbo_ProductSubCategory + SubcategoryName + + + + + + Category + Category + + + WChar + 20 + + dbo_ProductCategory + Category + + + + + + + + Hierarchy + ProductsByCategory + + + Category + Category + Category + + + Subcategory Name + Subcategory Name + Subcategory Name + + + Product Name + Product Name + Product Name + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/ProductAssociation.dmm b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/ProductAssociation.dmm new file mode 100644 index 0000000..cddfa80 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/ProductAssociation.dmm @@ -0,0 +1,145 @@ + + ProductAssociation + ProductAssociation + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:CaseTableName + dbo_v_CustomerOrders + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 100 + + + 0001-01-01T00:00:00Z + Unprocessed + + SQL2008SBSDW + + + + Order Key + Order Key + true + Long + Key + + + Integer + -1 + + dbo_v_CustomerOrders + OrderKey + + + + + + + + MDXFilterComponent + + + + v Order Products + v Order Products + + + Error + Integer + -1 + + dbo_v_OrderProducts + OrderKey + + + + + + Product Name + Product Name + true + Text + Key + + + WChar + 50 + + dbo_v_OrderProducts + ProductName + + + + + + + + + + ProductAssociation + ProductAssociation + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + Unprocessed + Microsoft_Association_Rules + + + Order Key + Order Key + Order Key + Key + + + v Order Products + v Order Products + v Order Products + Predict + + + Product Name + Product Name + Product Name + Key + + + + + + + 30 + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.cube b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.cube new file mode 100644 index 0000000..424bda1 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.cube @@ -0,0 +1,872 @@ + + SQL2008SBSDW + SQL2008SBSDW + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramLayout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowRelationshipNames + false + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:UseDiagramDefaultLayout + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortLeft + -2655 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramViewPortTop + 1291 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingLeft + 20 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramBoundingTop + 0 + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:DiagramZoom + 75 + + + 0001-01-01T06:00:00Z + Unprocessed + + + Customer + Customer + Customer + + + Customer Key + + + Geography Key + + + City + + + State Province + + + Country Name + + + Customer Name + + + + + Hierarchy + + + + + Product Category + Product Category + Product Category + + + Category Key + + + + + Product + Product + Product + + + Product Key + + + Sub Category Key + + + Product Name + + + Subcategory Name + + + Category + + + + + Hierarchy + + + + + Order Date + Order Date + Dates + + + Date Key + + + Calendar Year + + + Calendar Semester + + + Calendar Quarter + + + English Day Name Of Week + + + English Month Name + + + Week Number Of Year + + + + + Hierarchy + + + Hierarchy 1 + + + + + Ship Date + Ship Date + Dates + + + Date Key + + + Calendar Year + + + Calendar Semester + + + Calendar Quarter + + + English Day Name Of Week + + + English Month Name + + + Week Number Of Year + + + + + Hierarchy + + + Hierarchy 1 + + + + + Geography + Geography + Geography + + + Geography Key + + + City + + + State Province + + + Country Name + + + + + Hierarchy + + + + + Product Sub Category + Product Sub Category + Product Sub Category + + + Sub Category Key + + + Category Key + + + + + Customer - Geography + Customer - Geography + Geography + + + Geography Key + + + City + + + State Province + + + Country Name + + + + + Hierarchy + + + + + Product - Sub Category + Product - Sub Category + Product Sub Category + + + Sub Category Key + + + Category Key + + + + + Product - Sub Category - Category + Product - Sub Category - Category + Product Category + + + Category Key + + + + + Product Sub Category - Category + Product Sub Category - Category + Product Category + + + Category Key + + + + + + + Orders + Orders + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + Unprocessed + + + Quantity + Quantity + + Integer + + dbo_Orders + Quantity + + + 0 + + + Unit Price + Unit Price + + Double + + dbo_Orders + UnitPrice + + + Currency + + + Sub Total + Sub Total + + Double + + dbo_Orders + SubTotal + + + Currency + + + Shipping Amount + Shipping Amount + + Double + + dbo_Orders + ShippingAmount + + + Currency + + + Tax Amount + Tax Amount + + Double + + dbo_Orders + TaxAmount + + + Currency + + + Grand Total + Grand Total + + Double + + dbo_Orders + GrandTotal + + + Currency + + + Orders Count + Orders Count + Count + + Integer + 4 + + dbo_Orders + + + 0 + + + Molap + Regular + + + Customer + + + Customer Key + + + Integer + + dbo_Orders + CustomerKey + + + + Granularity + + + + + Product Category + + + Category Key + + + Integer + + dbo_Orders + CategoryKey + + + + Granularity + + + + + Product + + + Product Key + + + Integer + + dbo_Orders + ProductKey + + + + Granularity + + + + + Order Date + + + Date Key + + + Integer + + dbo_Orders + OrderDateKey + + + + Granularity + + + + + Ship Date + + + Date Key + + + Integer + + dbo_Orders + ShipDateKey + + + + Granularity + + + + + Geography + + + Geography Key + + + Integer + UnknownMember + + dbo_Orders + GeographyKey + + + + Granularity + + + + + Product Sub Category + + + Sub Category Key + + + Integer + + dbo_Orders + SubCategoryKey + + + + Granularity + + + + + Customer - Geography + + + Geography Key + Granularity + + + Customer + Geography Key + Regular + + + Product - Sub Category + + + Sub Category Key + Granularity + + + Product + Sub Category Key + Regular + + + Product - Sub Category - Category + + + Category Key + Granularity + + + Product - Sub Category + Category Key + Regular + + + Product Sub Category - Category + + + Category Key + Granularity + + + Product Sub Category + Category Key + Regular + + + + + + + SQL2008SBSDW + + + + MdxScript + MdxScript + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + + + /* +The CALCULATE command controls the aggregation of leaf cells in the cube. +If the CALCULATE command is deleted or modified, the data within the cube is affected. +You should edit this command only if you manually specify how the cube is aggregated. +*/ +CALCULATE; +CREATE MEMBER CURRENTCUBE.[Measures].LineItemTotal + AS [Measures].[Quantity]*[Measures].[Unit Price], +FORMAT_STRING = "Currency", +VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'Orders' ; + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.database b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.database new file mode 100644 index 0000000..da33045 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.database @@ -0,0 +1,13 @@ + + SQL2008SBSDW + SQL2008SBSDW + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + Unprocessed + 0001-01-01T00:00:00Z + + Default + Unchanged + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.ds b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.ds new file mode 100644 index 0000000..8505472 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.ds @@ -0,0 +1,13 @@ + + SQL2008SBSDW + SQL2008SBSDW + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + Provider=SQLNCLI10.1;Data Source=HOTEK2;Integrated Security=SSPI;Initial Catalog=SQL2008SBSDW + Unchanged + + ImpersonateServiceAccount + Unchanged + + PT0S + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.dsv b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.dsv new file mode 100644 index 0000000..99ab897 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.dsv @@ -0,0 +1,667 @@ + + SQL2008SBSDW + SQL2008SBSDW + 0001-01-01T06:00:00Z + 0001-01-01T06:00:00Z + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:ShowFriendlyNames + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:CurrentLayout + _ALL_TABLES_ + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:SchemaRestriction + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:RetrieveRelationships + true + + + http://schemas.microsoft.com/DataWarehouse/Designer/1.0:Layouts + + + + _ALL_TABLES_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + True + 4513 + 5759 + 0 + 0 + 75 + + + + + + SQL2008SBSDW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.dwproj b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.dwproj new file mode 100644 index 0000000..31d56f5 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.dwproj @@ -0,0 +1,86 @@ + + 10.0.1442.32 + 9.0.2.10 + $base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg== + + SQL2008SBSDW.database + SQL2008SBSDW.database + + + + SQL2008SBSDW.cube + SQL2008SBSDW.cube + + + SQL2008SBSDW.partitions + SQL2008SBSDW.partitions + + + + + + + Customer.dim + Customer.dim + + + Product Category.dim + Product Category.dim + + + Product.dim + Product.dim + + + Dates.dim + Dates.dim + + + Geography.dim + Geography.dim + + + Product Sub Category.dim + Product Sub Category.dim + + + + + SQL2008SBSDW.ds + SQL2008SBSDW.ds + + + + + SQL2008SBSDW.dsv + SQL2008SBSDW.dsv + + + + + ProductAssociation.dmm + ProductAssociation.dmm + + + + + Development + + + + SQL2008SBSDW + SQL2008SBSDW + Provider=SQLNCLI10.1;Data Source=HOTEK2;Integrated Security=SSPI;Initial Catalog=SQL2008SBSDW + + + + + SQL2008SBSDW + SQL2008SBSDW + 0 + + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.partitions b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.partitions new file mode 100644 index 0000000..ab38b11 --- /dev/null +++ b/Session03/2.Business_Intelligence/Analysis Services/SQL2008SBSDW/SQL2008SBSDW/SQL2008SBSDW.partitions @@ -0,0 +1,25 @@ + + SQL2008SBSDW + + + Orders + + + Orders + Orders + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + 0001-01-01T00:00:00Z + Unprocessed + + SQL2008SBSDW + dbo_Orders + + Molap + Molap + Regular + + + + + \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Integration Services/PersonLists.txt b/Session03/2.Business_Intelligence/Integration Services/PersonLists.txt new file mode 100644 index 0000000..8933a2d --- /dev/null +++ b/Session03/2.Business_Intelligence/Integration Services/PersonLists.txt @@ -0,0 +1,3 @@ +121,Amir,Chabok,33 +122,Alireza,Alavi,30 +123,Ali,Mohebi,21 \ No newline at end of file diff --git a/Session03/2.Business_Intelligence/Reporting Services/SQL2008SBS/sql2008sbs.bak b/Session03/2.Business_Intelligence/Reporting Services/SQL2008SBS/sql2008sbs.bak new file mode 100644 index 0000000..08d925a Binary files /dev/null and b/Session03/2.Business_Intelligence/Reporting Services/SQL2008SBS/sql2008sbs.bak differ diff --git a/Session03/2.Business_Intelligence/Reporting Services/code1.sql b/Session03/2.Business_Intelligence/Reporting Services/code1.sql new file mode 100644 index 0000000..8e2376c --- /dev/null +++ b/Session03/2.Business_Intelligence/Reporting Services/code1.sql @@ -0,0 +1,19 @@ +USE SQL2008SBS +GO + +SELECT CASE WHEN a.CompanyName IS NOT NULL THEN a.CompanyName ELSE a.FirstName + ' ' + a.LastName END CustomerName, + b.City, d.StateProvince, e.CountryName, c.OrderID, c.OrderDate, + c.SubTotal, c.ShippingAmount, c.TaxAmount, c.GrandTotal, c.FinalShipDate +FROM Customers.Customer a INNER JOIN Customers.CustomerAddress b ON a.CustomerID = b.CustomerID + INNER JOIN Orders.OrderHeader c ON a.CustomerID = c.CustomerID + INNER JOIN LookupTables.StateProvince d ON b.StateProvinceID = d.StateProvinceID + INNER JOIN LookupTables.Country e ON b.CountryID = e.CountryID +GO + +SELECT DISTINCT YEAR(OrderDate) OrderYear, MONTH(OrderDate) OrderMonth FROM Orders.OrderHeader +GO + +--Conditional formatting +--=iif(Sum(Fields!GrandTotal.Value,"Group_CustomerName")>1900,"Green","Black") +--Report parameters +--WHERE YEAR(OrderDate) = @OrderYear AND MONTH(OrderDate) = @OrderMonth \ No newline at end of file