|
Mirrored Weblogs
-
I have been delivering a certified course in MS SQL Server 2012 recently and I was asked several questions about Tempdb usage and temporary objects. In this post I will try to shed light on this particular issue. Temporary tables and table variables make use of the system tempdb database. There is only one tempdb system database per SQL Server instance so if there is a huge usage of temporary objects in this database it can be the point of contention. When you create an entry in database it needs to allocate space.This is also valid for the tempdb database.There are three types of pages involved in the allocation process in the tempdb data file: Page Free Space ( PFS ) Shared Global Allocation Map ( SGAM ) Global Allocation Map ( GAM ). When there is a great page allocation contention in tempdb , the whole allocation process can suffer and we can experience with PAGELATCH waits. In order to address the issue above, you can have a number of tempdb data files that are equal to the number of cores.For example if...
|
-
During the implementation of a Windows 8 application and especially in the process of implementing the functionality of a single Page Control, one is faced with the question on whether to use the WinJS data-binding engine for his ViewModel or resort to a "web" solution such as Knockoutjs. This post is about data-binding using WinJS ( see the one for knockout ). The page control (our view) will be as simple as possible to illustrate the most important aspects of each approach. The corresponding ViewModel to support the view in its "clean" form (without any structures added to support the binding requirements) is like that: function VMClean() { this.listOfValues = [{ text: '-' }, ...]; this.textValue = "-"; this.inputValue = "-"; this.buttonInvoked = function () { for (var i = 0; i < this.listOfValues.length; i++) this.listOfValues .text = (Math.random() * 100).toFixed(2); this.textValue = (Math.random() * 100).toFixed(2); }; this.itemInvoked = function (item) { var md = new Windows.UI.Popups.MessageDialog(item.text);...
|
-
Yesterday, I had a few interesting suggestions from an eXpandFramework user ( Sheldmandu ), about a few real world State Machine enhasements. Since XAF makes development amazingly fast, today we can discuss a bit about the implementaion released with (v13.1.8.22). The full discussion can be found at this thread . In sort Sheldmandu suggested. Allow certain roles to bypass State machine transition validation and make transitions without any restriction in order to correct mistakes. This implemented by adding an extra tab in the State Machine detailview so the end user can associate it with the admin roles as illustrated in the next image. Support more efficient transitions by changing directly the property value without the need of executing the ChangeStateAction For this a new property “EnableFilteredProperty” introduced in the State Machine attribute to make the life of our real worlds easier. Most useful suggestions Sheldmandu ! Many thanks form all and keep them coming. We also looking forward for such great...
|
-
It is claimed a lot that whoever knows how to develop web applications is also ready to develop Windows 8.1 applications. And this is definitely true in terms of the language used. In this post we will explore how we can set our VS2013, Expression blend IDE and use specific frameworks in order to also work as fast as we do when developing Web applications. First of all lets describe what we want today in our web development workflow: We need a way to write faster HTML by using some shorts of shortcuts that will enable us to free ourselves from all the "HTML" syntactic sugar. This is solved in VS2013 by installing the Web Essentials extension that comes equipped with "Zen Coding". "Zen Coding" will allow you to write ul>li*8, press tab and have it expanded to a fully blow unordered list with 8 list elements. We need a way to keep our CSS stylesheets DRY . The CSS language is not DRY ("Do not Repeat Yourself" principle). You tend to repeat the names of the selectors when you define their full paths, you cannot...
|
-
I have been delivering a certified course in MS SQL Server 2012 recently and I was asked a very interesting question about SQL Server stored procedures and ownership chain . Security is a big thing in SQL Server and can be implemented in various levels. Before we move on, we should define some basic terms that are very important when we talk about security in SQL Server. The principal access data. It should be authenticated by SQL Server which basically means that the principal should “prove” that it is , whom it claims to be. Principal is a user a group or an application granted permission to access securables .So what is a securable? Securable is an object to which access privileges are granted. Privilege is an action that a principal is allowed to perform an a securable. I want to show you an example where we want to deny a user to the actual table-data but grant him access through a view or a stored procedure. UserA is the owner of tableA and creates StoredProcA that gets data from tableA. Then if the UserB...
|
-
Our next major release (13.2), updates our Validation Module with more features that come with different behavior rules, such as Warnings and Information. These can be applied to your existing validation rules using code or the Model Editor . The XAF validation module is a mature and flexible validation system, which allows you to create rules that can validate any business problem, For more information, check out the module documentation . Suppose we have a Business Object that disallows saving a Customer if the Name property is blank. If this attempted the UI should respond with a “ Everybody has a name!” message. [ DefaultClassOptions ] public class Customer : BaseObject { public Customer ( Session session) : base (session) { } [ RuleRequiredField ( "Customer_Name_Required" , DefaultContexts . Save , "Everybody has a name!" )] public string Name { get ; set ; } public string City { get ; set ; } ...
|
-
http://perlengkapanpernikahan.com/blog/kata-kata-pernikahan/ http://perlengkapanpernikahan.com/blog/ucapan-pernikahan-islami/ http://perlengkapanpernikahan.com/blog/resepsi-pernikahan/ http://perlengkapanpernikahan.com/blog/mempersiapkan-puisi-pernikahan/ http://perlengkapanpernikahan.com/blog/harga-undangan-pernikahan/ http://perlengkapanpernikahan.com/blog/paket-bulan-madu/ http://perlengkapanpernikahan.com/blog/pernikahan-adat-jawa/ http://perlengkapanpernikahan.com/blog/bisnis-kebaya-pernikahan/ http://perlengkapanpernikahan.com/blog/wedding-organizer-jakarta/ http://perlengkapanpernikahan.com/blog/tips-catering-pernikahan/ http://www.villa.co.id/penginapan-di-villa-tretes/ http://www.villa.co.id/villa-renata-puncak/ http://www.villa.co.id/villa-gardenia-lembang/ http://www.villa.co.id/wisata-villa-ratu-bogor/ http://www.villa.co.id/villa-setiabudi-bandung/ http://www.villa.co.id/villa-air-di-bandung/ http://www.villa.co.id/villa-estate-kota-bunga/ http://www.villa.co.id/villa-keluarga-di-batu/ http://www.hiratakefood.com/resep-cupcake-yang-lembut/...
|
-
It has been almost a week since the XAF beta 1 and I hope you already tried the 13.2 bits of XAF. I am happy to announce that in our build servers you can find the 13.2 beta 1 of eXpandFramework . I am also happy to tell you that even if eXpand has a huge code base the 13.2 migration was lighting fast. Thanks to the great job from the XAF team. So, I am pretty sure that the 13.2 migration will not affect your code bases or time either. To get your hands in the XAF beta1 login to your account in the DevExpress site and download the release in red. To get your hand in the eXpandFramework bits login to our build servers and download the latest 13.2.3.x bit. p.s.: eXpandFramework as a community project is based on your feedback in order to be stable so for those of you that want to report issues and suggestions I opened a beta only forum . Note: You cannot have both 13.1 and 13.2 eXpand assemblies in the GAC. It is however totally possible to work using different version as long as you reference the assemblies directly...
|
-
Το E-Slate / Αβάκιο είναι ένα διερευνητικό μαθησιακό περιβάλλον που έχει αναπτυχθεί από το Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών (EA.ITY). Παρέχει ένα περιβάλλον εργασίας για τη δημιουργία ισχυρά δυναμικού λογισμικού με πλούσια λειτουργικότητα από μη προγραμματιστές. Ιδέες εκπαιδευτικών δραστηριοτήτων μπορούν να μετατραπούν σε λογισμικό με ελάχιστη συγγραφική προσπάθεια με τη μορφή διαδραστικών Μικρόκοσμων που περιέχουν […]...
|
-
I have submitted the following issue to Microsoft Connect (product feedback center): http://connect.microsoft.com/VisualStudio/feedback/details/809084/point-class-issue-with-two-way-databinding Point class issue with two-way databinding In Silverlight, when using databinding code like the following: <StackPanel Orientation="Vertical" Name="propPosition"> <sdk:Label Style="{StaticResource PropertyLabelStyle}" Content="Position:" Target="{Binding ElementName=edPosition}" /> <TextBox Name="edPosition" Text="{Binding Position, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=true}" /> </StackPanel> and binding (via DataContext) to […]...
|
-
A few months ago eXpandFramework released the first version of View inheritance(see http://goo.gl/3YhTa9 ). In the latest version of the framework (13.1.8.12) it is possible filter the nodes that participate in the inheritance strategy. The MergedDifference Strategy To inherit a model view configuration from another view you can use the Model Editor and add a new record in the MergedDifferences collection as illustrated below. Now the great thing is that the Strategy attribute if fully configurable from Application/Options/MergedDifferencesStrategies. By default there are three common strategies Everything, EverythingButLayout, OnlyLayout . In the above image we see how the Everything strategy is defined. It contains all root nodes of both DetailView and ListView nodes. As you might have guessed the inheritance scenarios are limited only from your imagination. For example in the next image we see the OnlyLayout strategy however what defines the layout may vary so it is possible to inherit from the GridViewOptions...
|
-
I have been delivering a certified course in MS SQL Server 2012 recently and I was asked a very interesting question "If there is a way to find using T-SQL tables in a database that have no clustered indexes or no indexes at all" I have answered that this is possible and I provided with some scripts. There a lot of tasks that we cannot perform through the GUI of SSMS.So we have to search through the object metadata to get our answers.We can query the catalog views and get all the information we want I have installed SQL Server 2012 Enterprise edition in my machine but you can use the SQL Server 2012/2008 Express edition as well. I am connecting to my local instance through Windows Authentication and in a new query window I type (you can copy paste) SELECT DB_NAME(DB_ID ('AdventureWorksLT2012')) + '. ' +OBJECT_SCHEMA_NAME(t.object_ID)+ '.' +t.NAME AS [tables without clustered index] FROM sys.tables t WHERE OBJECTPROPERTY(object_id, 'TableHasClustIndex')=0 AND OBJECTPROPERTY(object_id, 'IsUserTable')=1 ORDER BY...
|
-
http://perlengkapanpernikahan.com/blog/gambar-pernikahan/ http://perlengkapanpernikahan.com/blog/kata-mutiara-pernikahan/ http://perlengkapanpernikahan.com/blog/ucapan-selamat-pernikahan/ http://perlengkapanpernikahan.com/blog/pernikahan-adat-palembang/ http://perlengkapanpernikahan.com/blog/kata-kata-undangan-pernikahan/ http://perlengkapanpernikahan.com/blog/dian-pelangi-wedding/ http://perlengkapanpernikahan.com/blog/paket-pernikahan-murah/ http://perlengkapanpernikahan.com/blog/mencetak-wedding-card/ http://perlengkapanpernikahan.com/blog/mahar-pernikahan/ http://perlengkapanpernikahan.com/blog/pengertian-pernikahan-dini/ http://perlengkapanpernikahan.com/blog/games-pernikahan-mendidik/ http://perlengkapanpernikahan.com/blog/wedding-invitation/ http://perlengkapanpernikahan.com/blog/kartu-ucapan-pernikahan/ http://perlengkapanpernikahan.com/blog/wedding-invitation-bahasa-inggris/ http://perlengkapanpernikahan.com/blog/hantaran-pernikahan/ http://perlengkapanpernikahan.com/blog/variasi-foto-wedding-yang-menarik/...
|
-
I have been delivering a certified course in MS SQL Server 2012 recently and I was asked a very interesting question about SQL Server pages and what types of pages exist. I had to explain to them about SQL Server architecture first. Each data file is divided internally into pages.Each page has a size of 8 kbytes. In each of these pages (data,metadata,indexes) are stored. 8 continuous pages of 8kbytes make up one extent which is 64kbytes. If you make the calculations,16 extents make up 1 mbyte. Extents are divided into 2 categories, Uniform - 8 pages belong to the same object e.g table Mixed - 8 pages do not belong to the same object The first 96 bytes of the page are also reserved for the page header. Page header includes information like Page number Page type Free space per page The greatest size in bytes I can have in a page is 8060 bytes So the maximum record length I can have in a table is 8060 bytes If I have a table that its record length is 100 bytes, that means I can have 80 records per page. If I have...
|
-
I have been delivering a certified course in MS SQL Server 2012 recently and I was asked a very interesting question "Does the order of the column in an index matter?" Let's give some basic definitions first and make some analogies. A single column index is straightforward. Think of it as an index in the back of the book . Let’s say you want to learn about “ DBCC FREEPROCCACHE ” . You look for that command in the index of the book. The index does not have the information. It has a pointer to the page where the command is described.You turn to that page and read about it. This is a good analogy for a single column,non-clustered index In SQL Server you can also create an index that contains more than one column.This is known as the composite index . A good analogy for a composite index is the telephone book. A telephone book lists everyone who has publicly available a telephone number in an area.It is organised not by one column but by two:last name and first name.To look up someone in the telephone book , we first...
|
-
I have been delivering a certified course in MS SQL Server 2012 recently and I have found something that was really impressive regarding SET options in SQL Server and index creation. I will look into the SET QUOTED_IDENTIFIER and SET ANSI_NULLS options and how their values can affect index creation. I have installed SQL Server 2012 Enterprise edition in my machine but you can use the SQL Server 2012/2008 Express edition as well. I am connecting to my local instance through Windows Authentication and in a new query window I type (you can copy paste) [sourcecode language="sql"] USE tempdb GO --create a sample table CREATE TABLE Customers ( Customer_ID INT NOT NULL IDENTITY(1,1), Last_Name VARCHAR(20) NOT NULL, First_Name VARCHAR(20) NOT NULL, Email_Address VARCHAR(50) NULL, Fullname AS first_name + '' + last_name ) SET QUOTED_IDENTIFIER OFF; SET ANSI_NULLS OFF; --create a clustered index on Customer_ID and --a non-clustered composite index on the fullname --index failed CREATE NONCLUSTERED INDEX ix_Customer_fName...
|
-
I have been delivering a certified course in MS SQL Server 2012 recently and I was asked to provide a demo about the MERGE statement. I will provide you with a demo in this post trying to explain more about the MERGE T-SQL statement and its use. This statement was introduced back to SQL Server 2008.We can use a MERGE statement to modify data in a target table based on data in a source table.The statement joins the target to the source by using a column common to both tables, such as a primary key. You can then insert, modify, or delete data from the target table—all in one statement—according to how the rows match up as a result of the join. You need to have SELECT permissions on the source and INSERT,UPDATE,DELETE permissions on the target. In this example I will create two tables, one source and one target table. I will use the WHEN MATCHED THEN clause to update rows in the target table that match rows in the source table. I have installed SQL Server 2012 Enterprise edition in my machine but you can use the...
|
-
With our next major release (13.2), we have simplified the manner in which you are able to add custom and computed fields to existing business models. The functionality is available to both developers and end-users. Once beta 1 is released, you can explore this new custom member functionality by exploring the FeatureCenter solution located in the C:\Users\Public\Documents\DXperience 13.2 Demos\eXpressApp Framework\FeatureCenter\CS folder. Design time As you know, XAF already offered the ability to create non-calculated persistent fields at design time using the Model Editor . In 13.2, we’ve extended the Application Model with an Expression attribute as illustrated in the image below. When the Expression attribute has a value, XAF will create a calculated member or it will default to the creation of a persistent member. Additionally, you can create a complex expression such as the Sum of another custom field as illustrated below. By design, XAF will not display these custom fields in any view since they were created...
|
-
In my last SQL Server 2012 administration seminar, I used Performance Monitor to analyse and troubleshoot issues regarding SQL Server. It is built into Windows and many administrators used it a lot in the old days when some of the tools we have now in our disposal did not exist. So this is a free tool that you do not need to download. Performance Monitor or PerfMon for short, can be used to monitor performance real-time, capture various metrics and you can select what you want to monitor and for how long.You can capture information about the hardware, the operating system, SQL Server and more.So it is not a tool for troubleshooting SQL Server only. The whole process is automated and so is the data collection. With PerfMon we can track nearly every type of system performance Disk Memory Cpu network The overhead of using PerfMon is minimal in most cases but you should be careful when selecting the sampling interval. One good advice is not to use too many counters and not sampling intervals less than one second....
|
-
In this post I will talk about SQL Server Traces, what they are and how we can use them. An SQL Trace is a low-level server-side event inside SQL Server that can be used to audit activity,troubleshoot performance debug T-SQL statements and stored procedures.With SQL Traces we can have a real-time or offline analysis of data.We can capture more than 150 events. It was introduced back in SQL Server 6.0. We can create a SQL Trace using the SQL Server Profiler . Alternatively you can use the sp_trace_create with the required parameters to create a new trace. Then you need to setup sp_trace_setevent with the required parameters to select the events and columns to trace. We can start traces manually or as a part of a scheduled job. Obviously as with all tools of such nature there is an overhead so you have to be careful. You should not add too many events in the same trace. I have installed SQL Server 2012 Enterprise edition in my machine but you can use any other version of SQL Server. I will connect to the local instance...
|
-
I have just finished a seminar in SQL Server 2012 and one of the topics I have explained thoroughly was Trace flags. In this post I will try to shed some light on what trace flags are and how we can use them. Trace flags are used to change the behavior of SQL Server . Please bear in mind that you should use them with caution. There are hundred of Trace flags that help us troubleshoot and optimise SQL Server installations. Before turning trace flags on, make sure you understand fully what they do. There are global trace flags ( server level ) that are enabled the entire time SQL Server is running. There are session trace flags . These trace flags are enabled and disabled at the client session level. Those flags influence only the current session. I will provide some hands-one demos. In the first one I will look into backups and trace flags. In the second demo I will look into deadlocks and trace flags. We use DBCC TRACEOFF/DBCC TRACEON flags to enable trace flags at both the global and session level. They do not...
|
-
I have just finished a seminar in SQL Server 2012 where the topic of "indexes" was again a very highly discussed topic. At one point I had to present a demo on covering indexes . In this post I will try to shed some light on covering indexes and their use. The right index on the right column is the basis on which query tuning begins. On the other hand a missing index or an index placed on the wrong column,or columns can be the basis for all performance problems starting with basic data access, continuing with joins and ending in filtering clauses. Placing the correct index(es) on table(s) is an art in itself. A covering index is simply an index that contains the value being queried. That means that the non-clustered index (covering index) will not use the clustered index to find the data asked from the query. The data is already in the clustered index.We avoid the lookup step. I have installed a SQL Server 2012 Enterprise edition in my machine. You can use SQL Server 2005/2008/2012 Express edition as well which...
|
-
I have just finished a seminar in SQL Server 2012 and some of the people attending it (from all walks of life) were asking me about dirty pages,what they are and if I can provide a demo. I will try to explain what dirty pages are and how they are flushed to finally to the disk. I will also provide a demo, where we can see the dirty pages of a database. SQL Server makes changes to the memory. So all our transactions take place in the memory. Pages are loaded to the memory (if they are not already there) and all the updates take place in memory. Dirty pages are the pages that have changed in memory since they were last loaded from disk. Those pages are written back to the disk through an SQL Server periodic scheduling functionality widely known as checkpoints. Checkpoints make sure that committed transactions are flushed to the disk. It also marks the transaction log so server knows where it has to recover from. I am going to use the Northwind database to make an update and then. You can use any database you want...
|
-
XAF includes the EasyTest functional test framework which as all DevExpress tools is an extensible beast. To learn more about EasyTest I suggest you go through our documentation. So, it was just about time to include a few projects in eXpandFramework to host custom commands and extensions contributed by our community. Starting from next eXpandFramework version 13.1.10 in the root of our repository you will find three extra projects which contain: The FillDataTimeValue command as described in How to: Implement a Custom EasyTest Command . The custom database operations to support Drop & Restore for SQLite , ASA, LocalDB contributed by Markus Dütting! The Drop and Restore Preprocessor Directives are already supported for Access, MSSql databases and to learn how to use them together with other commands look at EasyTest Script Reference . Following are some notes from Markus. SQLite : just deletes the file DBSourceLocation (DropDB) or copys the file (RestoreDB) specified by Backupfilename to DBSourceLocation. Tested...
|
-
Recently in one of my SQL Server seminars, I was asked to give a short introduction and a demo on SQL Server Extented events. In this post I will explain what Extended Events are and provide a hands on demo. SQL Server Profiler is (was) the main tool for DBA admins and developers to find out why there were performance issues with SQL Server queries and troubleshoot them. DBAs also use sql traces, DBCC commands and trace flags for performance related issues. Now we have an additional tool in our disposal. We have SQL Server Extended events which were firstly introduced in SQL Server 2008. SQL Server 2008 introduced Extended Events which is a system for collecting event-driven data about a SQL Server instance and its databases. In SQL Server 2008 we had no GUI (wizards) for the extended events, In that version of SQL Server 2008 we had to write complex T-SQL statements to gather the information we needed to analyse. The results from those SQL queries was returned in an XML format and sometimes it was difficult to...
|
|
|
|