Apex SQL Audit
Apex SQL Clean
Apex SQL Code
Apex SQL Data Diff
Apex SQL Debug
Apex SQL Diff
Apex SQL Diff API
Apex SQL Doc
Apex SQL Edit
Apex SQL Enforce
Apex SQL Log
Apex SQL Log API
Apex SQL Recover
Apex SQL Refactor
Apex SQL Report
Apex SQL Script
Apex SQL Source Ctl
Apex SQL SSIS Compare
Developer Diary Home
Source Control upgrade to Edit 2008.06
Support of Microsoft SQL Server 2008 in ApexSQL Diff API 2008
More about upcoming ApexSQL Edit 2008.06
ApexSQL Edit Development and Plans
Source Control Explorer Mark II
New Refactors expected in ApexSQL Edit 2008.06
New ApexSQL Diff Api with Microsoft SQL Server 2008 support.
Enhancements and fixes in ApexSQL Diff 2008.07.
Getting rid of temp databases in Source Control and Script Folders
Site changes, Dev Diary, Misc Notes etc
Schema Explorer Source Control menu redesigned
Week in review (Edit, Diff, Refactor, Free etc)
Enhancements in Source Control Wizard in ApexSQL Diff
Schema Explorer Source Control node colors, revised
Source Control Performance Shootout
The Source Control Explorer in ApexSQL Edit
New Source Control Login Forms
General update (Diff, Edit, Source Control)
ApexSQL Edit Object Search issue in SQL Server 2008
ApexSQL Edit approved for release
Team Update (ApexSQL Edit, ApexSQL SSIS Compare)
Schema Explorer Source Control node colors
The "Big Red X" exception finally resolved
New in ApexSQL Script 2008.01.0205.
Fixes in handling database objects names
Team Update (Doc, Debug, Edit)
Source Control status representation plans
|
Developer Diary Posts, comments, and articles straight from ApexSQL Developers and Analysts KillerB lands in Greece We have a new KillerB sighting - this time in Greece Greece is home to an ancient culture, great food and now a vacation spot of ApexSQL's KillerB (note the ApexSQL Gear) and Sasa Tancev, ApexSQL Developer. Sasa has been one of the erstwhile bug-crunchers commandeered from another team to help catch up on our ApexSQL Edit defect count. The non-Source Control related defect count is now so low this team has officially disengaged and is back to projects dedicated to their own team. SC defects are still being worked on since we've done a top to bottom overhaul of the implementation. We hope to stop internal testing this week and cut a final label Friday. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. ... Source Control upgrade to Edit 2008.06 What came to our attention is that I haven't noted anywhere if and how will the new ApexSQL Edit 2008.06 Source Control integration be compatible with the currently available Source Control in Edit 2008.05. The new Source Control integration will be compatible with most of the existing Source Control mappings. We are planning a detailed and step-by-step knowledgebase articles to explain how to migrate to the new ApexSQL Edit 2008.06 Source Control if you are already using Source Control in Edit 2008.05. Currently in ApexSQL Edit 2008.05 Source Control a database object can be mapped to virtually any Source Control file. This was identified as application flexibility which was never required and which only caused more problems than good. This is why in Edit 2008.06 we simplified this by introducing implicit object-to-Source Control mapping patterns. What are implicit mapping patterns? It is just a way to let Edit know how to automatically map database objects to Source Control files. By default Edit will assume that all database Tables exist in Source Control repository in selected Source Control project's "Tables" subproject (subfolder) and that each file will be named as [schema].[name].sql. Similar default mappings are assumed for Views, Procedures, Functions and Triggers. Such defaults will most probably cover 80% of existing Source Control users' needs and 100% of all new Source Control users, making initial Source Control setup much easier and straight-forward. What if in Edit 2008.05 you already mapped, i.e. all procedures and functions to the same Source Control project and changed extensions to .prc and .fn? Implicit mapping patterns are still configurable and they will cover remaining 15-20% of the current Edit Source Control users' needs. It is possible to individually configure implicit mapping patterns per object type as can be seen on the New Source Control Wizard diary post. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...Dev Diary feedback I'd like to get some feedback on the dev diary, what people like, what they don't like, how often they like to see posts etc. Pls post any and all feedback on this thread. If we don't get a lot of feedback we might throttle down on the Dev Diary a bit. If we get a lot we might throttle up! ... Support of Microsoft SQL Server 2008 in ApexSQL Diff API 2008 As was described in one of the previous blog posts (New ApexSQL Diff Api with Microsoft SQL Server 2008 support), the new version of ApexSQL Diff API supports Microsoft SQL Server 2008. New data types. Microsoft introduced new data types in SQL Server 2008: GEOMETRY, GEOGRAPHY, HIERARCHYID, DATE, TIME, DATETIME2 and DATETIMEOFFSET, VARBINARY(MAX) FILE_STREAM. ApexSQL Diff API supports comparison and synchronization of all these. All these new data types have been added to ApexSql.Diff.SqlServer.SqlDataType enum Storage and display of these new datatypes are different. For example, if a new row with GEOMETRY and TIME data type column is being inserted in the synchronization script, it will look as follows: INSERT INTO [dbo].[Table_Data] ([id], [val_geometry], [val_time]) VALUES (1, geometry::STGeomFromText('POLYGON ((1 1, 1 5, 5 5, 5 1, 1 1))', 4327), '13:59:58.0000001') The geometry data type value is scripted in “string” form and in hex (which is how it’s stored). For time data type value, only the time part is scripted with large precision. We have added new properties to DataType class to support the usage of table structures in stored procedures and functions (User-Defined Table Type): IsTableType, and TableTypeObject. New columns and parameters attributes. Support for the SPARSE and XML_COLUMN_SET new table columns attributes have also been implemented by adding the IsSparse and IsColumnSet properties to ApexSql.Diff.SqlServer.Column class objects. Spatial Indexes. We didn’t create a new class for the new spatial index. Instead, we just added new properties IsSpatialIndex and SpatialIndexType to the Index class. Because spatial indexes are very similar to ordinal indexes, we provided access to them using the existing Index class members. New table attributes. New table attributes are implemented using new properties. These are: FileStreamFileGroup – property of string type that contains the file group name if unstructured table data is organized into file streams; FileStreamPartitionScheme – property of string type that contains partition scheme name; ChangeTrackingEnabled – property of boolean type that indicates if change tracking is enabled for the table or not. New in procedures and functions. For stored procedures parameters , a new attribute has been added: READONLY. This parameter can be accessed in ApexSQL Diff API using IsReadOnly property of Parameter class. CLR Functions also have a new attribute named ORDER that specifies the order of returned columns. In Apex Diff API, this attribute can be accessed using OrderColumns property of UserDefinedFunction. What is cooking now. Testing of this new version is now ongoing. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Data Diff ...More about upcoming ApexSQL Edit 2008.06 We've been developing the next ApexSQL Edit version for some time now and providing information in individual Developer Diary posts about what has changed, what is new, what has been improved, etc. As Edit 2008.06 is in QA testing phase, here's a recapitulation about what will the new version bring to SQL developers. Enhanced Source Control integration Probably the most marketed feature of the new ApexSQL Edit version. It will bring: 1. New and usability improved Source Control Wizard 2. Improved Schema Explorer Source Control object status representation 3. Redesigned and enhanced Schema Explorer Source Control context menus 4. Source Control Explorer usability improvements 5. General Source Control user interface and usability improvements And last but not least: 6. Huge Source Control operation performance boost and perceived performance improvements thanks to the new and simplified implicit object-to-Source Control mapping Two new code refactors We're continuing as promised to introduce a few new refactors for each ApexSQL Edit version, for Edit 2008.06 you'll get 1. Copy SQL Code As / Client Code builder 2. Real-time SQL Syntax Checker We have also removed the old Client Code options and replaced them with more powerful “Copy SQL Code As” refactoring. It will be possible to copy SQL code as source code in some other language (C++, PHP, C#, Java, etc.) For more details on how this improved refactoring works please check This diary post. Several performance improvements Reported by Edit community and identified by our analyst team, we have worked on improving the following: 1. Loading large SQL scripts, less than a minute for 5+ MB script - up to 500% speed improvement than in Edit 2008.05 2. Working with large SQL scripts - this is actually a workaround that automatically disables parsing multiple-line strings and code outlining. Options for re-enabling multiple-line string parsing and code outlining are now available in Query Editor context menu. 3. Working with slow and remote SQL Servers, switching between Query Windows slowdowns Numerous bug fixes Even more issues resolved than in previous Edit version. ApexSQL Edit 2008.06 will bring at least 100 bugs fixed, among which are: 1. Single-instance Edit - ability to open files from Windows Explorer after associating them with ApexSQL Edit all in single application instance 2. Dozens of Intellisense fixes - missing objects in the Intellilists, suggestions not opening automatically in some places, alias issues, and more. 3. Multiple warning messages showing for poor server connections or insufficient permissions Click Here to discuss this post. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...ApexSQL Edit Development and Plans Developer Diary seems a bit quiet this week as we were focusing hard on getting ApexSQL Edit 2008.06 with improved Source Control integration out to production. As we believe in high quality products, QA testing will continue into the next week. I'm happy to say that even though we've introduced some major changes / improvements since ApexSQL Edit 2008.01 on how ApexSQL Edit works with Source Control (please see previous Edit Developer Diary posts), our QA testing team is the best we've had by now and not letting any bugs and issues go unnoticed. Both internal testers and Edit power-users are doing a good job reporting things we missed in development. Our goal is to prioritize fixing all issues reported by power-users and internal testing team and get Edit 2008.06 out safe to production. In the meantime we are getting increased forum feedback from all ApexSQL Edit users, and we are very grateful for that. It is a good sign that Edit community is alive and cares about how the product will evolve in the future. As we may reach the highest number of Edit forum posts ever, we've isolated the need for the next Edit features and improvements based on the community feedback. One thing we planned for a long time is further speed optimization regarding both Edit Intellisense and overall performance during database metadata retrieval and object scripting (Schema Explorer tree expanding, Object Explorer details loading, etc). We have already improved Edit 2008.06 large script loading and Intellisense reaction time, but this can be even further optimized with the introduction of ApexSQL Scripting engine which is already used in a number of other ApexSQL applications. Another issue we have postponed for a while is the accessibility (usability) of Edit configuration options. More advanced Edit users are already aware of a large number of unexposed options accessible only through the All Settings dialog using keyboard shortcut Ctrl+Shift+S: ![]() A large number of these options are not self-explanatory and some have even been deprecated over time but remain in the configuration file. Our plan is to streamline all these options into an easily accessible UI with detailed explanations for each of the configurable options. A few more features have come to our attention based on Edit community forum feedback: - Tables Insert script generation wizard (the old dropped Edit 2005 feature may just live again) - Full Database deployment script generation from a Source Control project - Individual object editors including Table editor, supported in Source Controlled environment as well Please let us know your thoughts about the mentioned features planned for the next ApexSQL Edit version. Which ones will help you the most? Is there anything else we should prioritize instead? Click Here to discuss this post. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...Inside ApexSQL Diff API. ApexSQL Diff API provides an intuitive and flexible interface to help developers use the various features of ApexSQL Diff and ApexSQL Data Diff in their own applications. Managing database objects. The ApexSQL Diff API provides ApexSQL Diff and ApexSQL DataDiff functionality through a set of helper classes. All database objects are organized into collections such as MappedObjects, ComparedObjects (for structure mode), ComparedTables, and ComparedViews (for data mode). These collections contain a set of mapped or compared objects. These collections always contain actual data regardless if comparison was done or not. For example, a user application can contain just two lines of code: StructureProject p = new StructureProject(new ConnectionProperties(SERVER1, DATABASE1), new ConnectionProperties(SERVER2, DATABASE2)); Console.WriteLine("DiffApi mapped and compared {0} database objects", p.ComparedObjects.Count); Above code is simple and compact but does so much. It connects to the source and destination data sources, loads the structure information for each data source, loads and maps objects (using the application’s default owner mapping settings and owner filter), compares the objects, and prints out the count of objects compared. Isn’t it cool to have it just with two lines of code? User doesn’t have to add separate routines to load, map, and compare objects. User can also prepare data sources for synchronization with two lines of code: StructureProject p = new StructureProject(new ConnectionProperties(SERVER1, DATABASE1), new ConnectionProperties(SERVER2, DATABASE2)); p.ComparedObjects.IncludeAllInSynchronization(); Even the generation of synchronization script can be made with just there lines of code: StructureProject p = new StructureProject(new ConnectionProperties(SERVER1, DATABASE1), new ConnectionProperties(SERVER2, DATABASE2)); p.ComparedObjects.IncludeAllInSynchronization(); Console.WriteLine("Synchronization will be done using: {0}", p.SynchronizationScript); ApexSQL Diff API also recognizes when a specific action has been previously completed. For example, in the following code: StructureProject p = new StructureProject(new ConnectionProperties(SERVER1, DATABASE1), new ConnectionProperties(SERVER2, DATABASE2)); Console.WriteLine("DiffApi mapped and compared {0} database objects", p.ComparedObjects.Count); Console.WriteLine("DiffApi mapped and compared {0} database objects", p.ComparedObjects.Count); Despite having two lines which do exactly the same thing, ApexSQL Diff API will not perform all connections, loadings and comparisons twice. All the necessary actions for comparison will be done just once. Real comparison will be done next time only if: mapping is changed, list of objects to compare is changed, data sources are changed, or any other action is performed that influences the comparison result. User should take into consideration this “caching” logic of ApexSQL Diff API while developing programs to have better control of the results . Let’s take a look at this code: StructureProject p = new StructureProject(new ConnectionProperties(SERVER1, DATABASE1), new ConnectionProperties(SERVER2, DATABASE2)); for (int objIndex = 0; objIndex < p.ComparedObjects.Count; objIndex++) { if (p.ComparedObjects[objIndex].ObjectType == SqlObjectType.Table) p.ObjectTypeFilter = ALL_COMPARED_TYPES & ~SqlObjectType.Table; } This loop will work correctly until tables are compared. When the object filter is changed, information about the compared objects results will be cleared and when the ComparedObjects property is accessed again, data sources will be compared again and this can break the logic of the loop that the developer initially implemented. To make ApexSQL Diff API more flexible, we implemented “simple” functions for object manipulation. User can just load and map objects from the database using LoadAndMapObjects function, objects can be compared using Compare function, and finally data sources can be synchronized using Synchronize function. What is cooking now. Currently we are working on testing ApexSql Diff API and preparing a new build to release. Stay tuned. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff API ...Source Control UI improved ApexSQL Edit 2008.06 testing is under way and power-users have joined the ranks of QA team to make sure Edit is high enough quality and without critical issues before being released publicly. In the meantime, here's another sneak peek at some of the old and improved and some of the new Source Control user interface in ApexSQL Edit 2008.06. As mentioned in the Schema Explorer new context menu redesign Post, we have expanded both Database and Folder level Schema Explorer Source Control context menus to include multiple-object Source Control operations. These operations include Check-In, Check-Out, Undo Check-Out and Get Latest Version and invoking any of the mentioned commands from Database or Folder levels of Schema Explorer context menu will provide multiple object selection dialog: ![]() This dialog is similar for all of the mentioned multiple-object Source Control operations. It will also show a comment box for operations which support leaving Source Control comments: ![]() The dialog supports filtering by object name and schema and will only display objects belonging to the selected Schema Explorer tree node (i.e. only tables if a Source Control multiple-object operation was invoked on the Table folder of a database in Schema Explorer). Selecting objects and confirming multiple-object operation dialog will then show a progress indicator. Although the operations will be performed in foreground, user has the ability to cancel the ongoing operation at any given time. Here's how progress indicators look like for the above two dialogs, respectively: ![]() ![]() In addition to Check-In, Check-Out, Undo Check-Out and Get Latest Version, we've also supported cancelable progress indicator for foreground refreshing of multiple objects' Source Control state and for building Database vs Source Control differences report. Old but improved user interface now includes both Show Labels and Show History dialogs. Please note that working with Source Control labels (setting labels, viewing labels and retrieving them) requires ApexSQL Source Control Add-in. ![]() Although Source Control history of an object or a file can be viewed using both MSSCCI drivers or ApexSQL Source Control Add-in's Native drivers, the ApexSQL Edit dialog can only be accessed when using Native Source Control drivers (MSSCCI has its own custom UI depending on the selected driver in question). ![]() Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...Source Control Explorer Mark II Pure development phase of ApexSQL Edit 2008.06 has been wrapped up and I'm happy to say that we have started internal testing today. Our power-users will also be invited into new Edit version testing in a few days. In the meantime, here's a sneak peek at the enhanced Source Control Explorer: We've decided to keep the Source Control Explorer implementation as a panel. This decision is based on careful consideration that Source Control Explorer will be the most accessible this way and that creating a modal window (dialog) version would only reduce its usability. A big improvement in the Source Control Explorer is the new rich representation of files status - whether they are Checked-In, Checked-Out or Checked-Out by someone else (Locked): ![]() File icon representation corresponds to what we've already introduced for Schema Explorer: - small "lock" for regular, Checked-In files - green check for Checked-Out files by current Source Control user - red check for Checked-Out files by another Source Control user (i.e. locked files) Another Source Control Explorer enhancement is minor usability and graphical improvement: Source Control Explorer context menus: Root level context menu: ![]() Project (folder) level context menu: ![]() File level context menu: ![]() From all of the context menu screenshots, it is easy to notice that the changes are new graphics and rearrangement of context menu commands to correspond to new Schema Explorer context menu commands order. Source Control Explorer users will also note two new root level context menu commands: Connect to a Source Control and Disconnect. Connect to a Source Control command is a new way of connecting Source Control Explorer panel to a Source Control system. We have deprecated the old Source Control Explorer options which were very unintuitive way of configuring and starting to work with Source Control Explorer. And to make things more unified and easier to use, Connect to a Source Control command will open the same Source Control Wizard as the new Schema Explorer Source Control Wizard: Source Control Explorer Wizard, Step 1: ![]() Source Control Explorer Wizard, Step 2: ![]() Comparing the Source Control Explorer Wizard with the Schema Explorer Source Control Wizard it is easy to notice that the Source Control Explorer Wizard is limited to only the first two Wizard steps. This is by design as Source Control Explorer only needs to be connected to a Source Control system in order to "explore" it, while Schema Explorer needs more details about implicit database objects to Source Control file mapping patterns. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...New Refactors expected in ApexSQL Edit 2008.06 We have several refactors planned all of which will be implemented on ApexSQL Edit. One of them is the refactor called Copy SQL Code As and the other one is syntax checker. This will be included in ApexSQL Edit 2008.06 Copy SQL Code As: This option will copy to the clipboard your selected SQL query (or entire query in case nothing is selected) to SQL code represented in some language (e.g. C#, PHP, Ruby, C++…). It is possible to customize languages and how SQL code is transformed as well as add new language definitions. Below are some examples: If you had following SQL code: CREATE TABLE [dbo].[ErrorLog] ( [ErrorLogID] [INT] IDENTITY ( 1 , 1 ) NOT NULL, [ErrorTime] [DATETIME] NOT NULL, [UserName] [SYSNAME] COLLATE sql_latin1_general_cp1_ci_as NOT NULL, [ErrorNumber] [INT] NOT NULL) GO SELECT * FROM table errorlog If you used Copy SQL Code As [name of language], your clipboard will hold properly transformed SQL code. Here are some examples on what will you get in your clipboard when using different languages. Copy SQL Code As C# string SQL = "CREATE TABLES [dbo].[ErrorLog]( \n" Copy SQL Code As VB .NET Dim SQL As String This options gives same results for previous versions of Visual Basic meaning you can use it for creating code for Visual Basic 6, too. Copy SQL Code As PHP <?php Copy SQL Code As Perl $SQL = 'CREATE TABLES [dbo].[ErrorLog]( \n' Copy SQL Code As Delphi var Copy SQL Code As Ruby SQL = 'CREATE TABLES [dbo].[ErrorLog]( \n' Copy SQL Code As C++ std::string SQL; Language Customization If you want to customizehow the SQL script is “copied” into the language of your choice, you can manually change each language’s settings. You will also be able to add and remove languages as well as modify existing ones. Each language is defined by: Statement prefix – This string will be added before your SQL selection. Statement suffix – this string will be added after your SQL selection Line Separator – you can specify the type of your line separator. Each line in your SQL code will be replaced by this value. You can also define escape character and minimum valid length of line. Minimum valid length of line is number of characters that are required for line separator to be used. This new refactor is coming with several predefined languages: Java, Visual Basic, C#, C++, Ruby, PHP, Perl, Power Builder, Delphi, Dynamic SQL (T-SQL). We have removed old Client Code options from Edit and replaced it with this more powerful "Copy SQL Code As". If you were asking what part makes it so powerful, that is the ability to copy your SQL code in format of almost any common programming language used today. Thanks, Nebojsa Vislavski ApexSQL Development Team Leader (SSIS Compare, Clean, Doc, Debug, Refactor) Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit, ApexSQL Refactor ...New ApexSQL Diff Api with Microsoft SQL Server 2008 support. The client versions of ApexSQL diff and ApexSQL Data Diff already support Microsoft SQL Server 2008. Next in line is ApexSQL Diff API. We’re currently updating it such that it too supports Microsoft SQL Server 2008’s new features and functions. The New ApexSQL Diff API. When we released the 2008 version of ApexSQL Diff, we split its Structure and Data modules. We now have ApexSQL Diff 2008 and ApexSQL Data Diff 2008. The new version of ApexSQL Diff API however will continue to support both modules. This means that any application using the old ApexSQL Diff API will continue to work in the new version. There are a few changes to note though as they affect application behavior. Some functions and classes were modified For example, ParseExplicitly option of SynchronizationOptions class has been removed, because now that the parsing engine is so much faster, it’s now unnecessary. The new engine is up to 5x faster in comparison and synchronization. Support of Microsoft SQL Server 2008. ApexSQL DiffApi fully supports all new features that are implemented in Microsoft SQL Server 2008. Here is a list of what’s supported: - New user-defined type features; - New table-valued user defined type; - SPARSE and XML_COLUMN_SET columns attributes; - DATA_COMPRESSION option; - READONLY parameters for procedure; - New data types GEOMETRY, GEOGRAPHY and HIERARCHYID; - New date/time data types (Date, Time, Date Time Offset); - New VARBINARY (MAX) FILE_STREAM data type; - CRYPTOGRAPHIC_PROVIDER attribute for credentials; Bug Fixes. Additionally all latest fixe sthat have been implemented in ApexSQL Diff and ApexSQL Data Diff will also be to the new ApexSQL Diff API. Below is a short list of bugs that have been fixed. - Incorrect handling of the renamed script-based objects resulted in displaying the old names in ddl and synchronization script; - Incorrect data preservation from a table having an identity column; - Unable to load snapshots; - "For replication" stored procedures not enumerated while retrieving list of store; - Same snapshots show differences in function (in column order); - Syncing two tables with computed column c3 (c3=c1+c2 ) would use the ALTER instead of the CREATE statement; - Exception is encountered when trying to generate the Html Plain Report; - NOT NULL columns are sometimes added to tables without default constraints; - Differences in file groups not detected for tables; - Equal functions incorrectly treated as different in MSSQL2K vs MSSQL2005 comparisons; - Nvarchar length in user datatype is sometimes incorrectly scripted; - If Rule is bound to a datatype, generated synch script fails. What is cooking now. We’re currently finishing up these changes and we will deliver this to testing soon. Stay tuned to the Developers blog, we will keep you posted. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff API ...Enhancements and fixes in ApexSQL Diff 2008.07. The new ApexSQL Diff has been released on June 4, 2009. The following enhancements and fixes are included. Ability to select which object types to include in comparison. For script folder and source control data sources, we have added a new column that allows you to “select” what types to include or exclude for a specific process. You can see this column in the Source Control Wizard if your data source is Source Control (click Advanced to display this specific step), in Mapping Configuration if your data source is Scripts Folder, in Tools | Options | Folder Mapping, as well as in Export Data Source. ![]() In the SC Wizard, the checkbox includes or excludes the corresponding object type from the comparison process. In the Export Data Source, only checked object types will be exported to a scripts folder or source control repository. In Tools | Options | Folder Mapping, the state of this column will be used as the default state in all sections of the app where the column is displayed. Default collation and server version. The default collation and server version are now stored in an XML file called DatabaseSettings.xml. This allows ApexSQL Diff to remember the original collation and server version from which a set of scripts (in a folder or in an SC repository) were originally exported from. This information is needed to correctly process the scripts in the future. See next section for more information. Modifications in Project Settings form. Default collation and server version settings described above are now displayed in the Project Settings form when your data source type is either a script folder or Source control. ![]() Why is this helpful? If, for example, you have a set of scripts that was originally exported from a Microsoft SQL 2008 server database, when you specify “SQL 2000” as the version on this step, the scripts will be processed as a Microsoft SQL Server 2000 database. Objects like Routes, Assemblies or other similar objects will not be loaded and compared. Note however that this modification of the Default Collation and SQL Server Version settings only apply to your ApexSQL Diff project. The DatabaseSettings.xml file discussed earlier will still contain the original collation and server version. The DatabaseSettings.xml file will only be modified when the script folder or source control repository is synchronized from a data source with a different collation or server version. Other fixes. 1) Temporary slowdowns when working with source control data sources in Project Settings An example of this problem is when a project is being saved or when the “Compare” button is clicked. This performance issue has been fixed in current version. 2) Objects sometimes remain unsynchronized or are restored to an “un-synchronized” state even after synchronization. This problem is now fixed. 3) Switching from Login to Options page in Project Settings form is slow for Script Folder and Source Control data sources This is caused by the unnecessary loading of scripts when going to the Options page. This has been removed and file loading now only occurs in the Schema Mapping page or in steps when it’s necessary. 4) Cannot select subfolders for exporting in Folder Mapping form This is now fixed in current version. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff ...Getting rid of temp databases in Source Control and Script Folders Using scripts folder and source control as data sources in ApexSQL Diff require special handling as these data sources are in “plain text” and are not well-structured like databases, backups, or snapshots. Previously, ApexSQL Diff processed these data sources by building a temporary database using the scripts located in the scripts folder (or from a local working directory containing scripts pulled from a source control repository). Scripts will be ordered based on dependencies before being executed against a temp database. When the temp database is built, ApexSQL Diff compares it with another data source. This approach had some limitations: 1) Slow If there are a lot of scripts, then dependency checking would take a lot of time 2) MSSQL Server would have to be installed MSSQL Server would have to be installed locally (where ApexSQL Diff is installed) so the temp database can be created. Furthermore, the version of the MSSQL server where the scripts originated from must be known in order to successfully build the temp database. For example, objects introduced in MSSQL2005 (like queues, contracts and so on) cannot be created on a SQL Server 2000 server. 3) Unhandled References. Because each database object was scripted in a standalone file, all sub-objects related to the object were scripted in the same file. For example, if we had two tables called “Person“ and “StaffPosition“ that reference each other where (Person table has a foreign key in StaffPosition table and StaffPosition table has a foreign key in Person table), these two scripts would be used: Person.SQL CREATE TABLE person ( personid INT IDENTITY ( 1 , 1 ) PRIMARY KEY CLUSTERED, personpositionid INT) ALTER TABLE person ADD FOREIGN KEY ( PersonPositionId ) REFERENCES StaffPosition(PersonPositionId) StaffPosition.SQL CREATE TABLE staffposition ( personpositionid INT IDENTITY ( 1 , 1 ) PRIMARY KEY CLUSTERED, positionmanagerid INT) ALTER TABLE staffposition ADD FOREIGN KEY ( PositionManagerId ) REFERENCES Person(PersonId) None of these scripts could be executed successfully because the objects were dependent on each other. 4) Missing objects. If some of objects were missing in the scripts folder, then the objects that depended on them could not be created successfully. For example, if a table used some UDT as column type but there was no script for the UDT in the scripts folder, then the table creation would fail. 5) Specific objects could not be created. Some objects could not be created in the temp database because they were system objects(“dbo“, “guest“, “sys“ users) or because they were location-specific (like filegroups). In the new version of ApexSQL Diff (2008.07), the need for a temp database has been eliminated. All described problems above are solved: 1) Increased Speed. There is no time wasted executing scripts or creating/dropping any temp database. Scripts are parsed and interpreted on the fly. 2) MSSQL Server is not required anymore. No SQL Server needs to be installed because no temp database is created/used. 3) Better dependency checking. The parser scans all script files and investigates all references and dependencies for the scripted objects so no problems occur with foreign keys or similar issues. 4) Missing and specific objects are handled correctly. You can check out the new version here. Thanks, Evgeniy Spashko Software Development Engineer Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff ...Site changes, Dev Diary, Misc Notes etc Some notes on recent changes people have noticed Site Redesign We've updated our website this week to try and make it a bit easier to use. We've introduced landing pages for each main site sections (products, purchase, etc) like this example for the News page. ![]() This hopefully will be a quick way to browse the meaning of the various sub-menus, which can be a bit obscure. For example "Resend Activation Key(s)" and "VIP points". The community section had too much overlap with other sections so we got rid of it. We do plan on introducing a new site module soon - which should be fun. But then after that we hope we can resist tinkering with the basic structure for awhile. Our goal will be to add functionality to individual modules on the site with specific improvements to Key management and Forum for example. Developer Diary Almost every company has a blog now which are mostly periodic but random posts that are meant to be long lived, to attract clicks for years to come. Our Developer Blog has really been different. The content is current, temporary (it quickly becomes obsolete) and frequent. We created this because ApexSQL Edit users complained that they weren't kept up to date enough. We began posting daily updates on the forum but that wasn't an ideal medium, since only the hard core posters would know where to look. We created this blog and due to the popularity made it a permanent fixture to our site. We changed the name to Diary since it is really an up to date account of what we are working on, about to release or have released. With some other topics mixed in. For example this week we'll be posting on the new SC design changes in Edit, notes on the new version of Diff that should be released today and notes on the new Refactors that should be released in Edit with 2008.06 (next month) and perhaps with Refactor this month. For more long lasting, functional type articles we have an Extensive Knowledgebase, which is presented in the familiar blog paradigm. Other Notes We are still looking for Source Control Gurus for our internal testing round of ApexSQL Edit that will start probably next week. Existing VIPs, non SC guru's are welcome too as we plan to retest, confirm a host of remaining defects. Any people who want to contribute can email me at brian@apexsql.com. We encourage people to begin posting feature requests on the forums as the inventory of known defects has been significantly pared down and new reports have slowed quite a bit. We treat all performance related issues as HIGH priority bugs by default. If there is a performance or memory issue it is a bug. Future plans We have some exciting new plans and work in development that we'll begin talking about more once the next version of ApexSQL Edit is out. This will affect Diff, Data Diff, Refactor, Log, Recover, Doc, Script, Refactor and (new product) build. The functional areas are improved backup support, performance, streamlining/simplification, usability, deployment projects/scripting/test data, refactors. We'll also be propagating new versions of all core components to production apps over the next few weeks and months (for less frequently updated apps.). We've concluded a long test and fix cycle with components for Scripting, Parsing, Source Control, Formatting, Script Parsing Engine and SSIS that will really result in improved quality of all apps. (that consume these core components). Many of these components now exist in "zero known defect state". It has been a 2-3 year journey for some of these and it is nice to reach this point. We have engaged in some performance testing and optimization in our core components as well that should promise significant performance improvements as well as less memory consumption for almost all applications. For example ApexSQL Diff uses our Parsing engine to prepare sync scripts in the proper order and include dependent objects. Performance and memory consumption is highly dependent on our Parsing component so any improvements in speed will have a direct impact on Diff. Similarly, our script parsing engine is used for formatting and all of our refactors. Being able to parse scripts will improve the speed of up to 40+ different refactors (when they are all complete). We'll be starting a second phase of this soon for scripting and dependency parsing engines to see if we can optimize even further. Please stay tuned! Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. ... Schema Explorer Source Control menu redesigned ApexSQL Edit 2008.06 is nearing its first internal testing cycle. Highlight is the revamped Source Control integration with focus on massive usability and performance improvements. Here's a sneak peek at the modified Source Control context menu available for Schema Explorer. Current Source Control users will note that there are three different Schema Explorer context menu levels: Database level, Schema Folder level and Object level. Here is how the context menus will look like in ApexSQL Edit 2008.06 for each of the levels: Schema Explorer Database level Source Control menu: ![]() The first command "Edit Source Control Setup" has replaced the only enabled Source Control command for Databases which is "Set up Source Control". They both open up the new Source Control Wizard. Current Source Control implementation doesn't support Check-In, Check-Out, Undo Check-Out and Get Latest on Database level (nor fully on Folder level). We are including this functionality now on both Database and Folder levels of Schema Explorer Source Control context menus and also providing a new dialog which will allow for for individual selection of objects prior to performing the chosen Source Control operation. Here's a preliminary screenshot with test-data showing how multiple Check-In dialog looks like on a Database level: ![]() New functionality is ability to set Labels and Show Labels on all three levels (Database, Folder and Object) in Schema Explorer. This was previously available only in Source Control Explorer. Please note that due to MSSCCI driver limitations, we will still be supporting Source Control labels only for ApexSQL Source Control Add-in (Native Source Control drivers). Schema Explorer Folder level Source Control menu: ![]() Difference here is that Add Objects command has been removed. However the functionality still exists using the enhanced Source Control Wizard on Database level to perform the same task of adding multiple new objects to Source Control repository. Schema Explorer Object level Source Control menu: ![]() As can be seen on the screenshot above, we are keeping all the Object-level functionality currently available and adding more. The View and Edit commands are new and will be further enhanced in the upcoming ApexSQL Edit versions. For now I'll only say that the goal of View is to open the Database code version in read-only mode and that the goal of Edit is to force a Check-Out before editing a script and make sure the latest Database or Source Control version is being edited. And another neat functionality is ability to view Source Control version history directly from Schema Explorer as this was before only accessible using Source Control Explorer panel. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...Week in review (Edit, Diff, Refactor, Free etc) A quick rundown of comings and goings ... ApexSQL Edit Work is on going for the 2008.05 version which will be a complete Source Control overhaul with more fixes. Approx 50/50. I won't repeat or link to previous posts with some preliminary notes, screen shots, but you can browse previous posts for more information. Already we see huge benefits in performance, simplification and streamlining of mapping wizard. Next week we'll be posting screen shots on new Source Control features, changes to context menu. Work is actually progressing, dare I say, ahead of schedule. We have an internal date of early June for when internal testing will begin. We'll be putting out an APB for SC gurus who want to beat on this, in addition to our hardy crew of veteran internal testers. Our VIPs/Internal testers are really part of the process. We prioritize their bugs (to ensure immediate satisfaction) and they get a say in release. We generally poll internal testers on release decision. We have 2-3 full weeks of daily testing, nightly builds. Then we'll have at least a week of static testing (assuming first label is approved). We're already planning things for the next big release. My suggestions are - faster intelliprompt using our native scripter - faster (and more powerful) scripting using our native scripter - support for more objects with SC (we'll support tables, procs, functions and triggers only with .06 I believe) - Table Editor (more on this soon) - Improved Object Editors (if we release some in 2008.05) else Object Editors, if we don't Time to get your suggestions in now so we can consider them. Put them on the forum ApexSQL Diff A significant interim release has been approved for formal/static testing. Having emerged from daily beatings. It has taken quite a bit longer so I've repeated myself on the release notes. But it will deprecate temp tables, ensure smoother/faster script comparison engine, with improved Source Control features. Along with this we smashed quite a few bugs. This will show up in a blog post next week. We're hoping to wrap up the SC/Scripts folder functionality which will conclude the 2008 branch and begin working on 2009 soon. They key features of 2009 - backup support, encrypted object support are already completed and just need to be tested, so we don't expect a long dev cycle for 2009. We plan a major UI overhaul and quite a few micro features. ApexSQL Log Another significant interim release approved as well. This focuses mainly on recovery performance and various fixes. The 2008 branch for ApexSQL Log is also drawing to an end with planned 2009 work to begin soon. VIP program We've gotten an influx of people interested in this program so I might delay awarding status, currently set to June 30th, to give some of these folks some additional runway. If you know anyone who has a "penchant for posting", "gift for gab" etc refer them to our site and our VIP program. With the maturity of Edit, Diff, Data Diff, Log we're hoping to spend more time with discussions on usability, feature suggestions, design, performance etc. Site redesign We've been working on the site a bit introducing Member and Community menus, trying to get a good feel. In the coming weeks some of these pages will become more powerful. In particular "Resend Activation Keys" is being developed into a powerful key management portal where you can get not just keys but maint status, exp date, last version eligibility. You will be able to get keys for all orders, add/remove contacts etc. This will provide a one stop, convenient stop for your keys across multiple orders. Wish MSDN had that. I'd just like to be able to type in my email, get all my MSDN keys, expiration date and the last version I'm eligible for rather than get a dump of DVDs on my office doorstep every month. Note on Free Tools We made some updates to this page including notes on FREE CLI's. This is helpful if you have ApexSQL tools and need to run some jobs via CLI on a build box. Want a low cost way to get some additional functionality out to other team members without picking up additional licenses (i.e. ApexSQL Doc) or want to do remote work for clients (diff and sync) as part of a preconfigured .bat file. Or maybe you just want to use and ApexSQL tool in an inexpensive (aka FREE) way. A lot of people don't know that if they own a Value Bundle, it is still under maint and if we release a new tool to that bundle they get it for free. To get the keys just request them via an email to sales@apexsql.com with "Account Review" in the subject or do it online via our Resend Activation Keys form. This policy has taken some time to evolve but seems to be working well now, our systems support it (kick out keys for new products automatically) and customers love it. ApexSQL Refactor We have 4 new refactors *done* - Expand wildcard - Object qualification - Syntax highlighting of errors (250+) - Save As (to C#, VB etc) The top two are in ApexSQL Edit 2008.05 now. the next will be in .06. We are considering an update to Refactor in June that will include all 4 at once. This would really transform ApexSQL Refactor from just a formatting utility to a true refactoring tool If you haven't checked out the Roadmap see it here. We'll be working down this list from top to bottom. Note that Refactor is still Free. We are also still giving Free Licenses to ApexSQL Code. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff, ApexSQL Edit, ApexSQL Refactor ...Enhancements in Source Control Wizard in ApexSQL Diff In the new version of ApexSQL Diff (2008.07), we have implemented the new Source Control Wizard with some improvements and new features. Source Control Wizard. The new Source Control Wizard contains three steps: Source Control selection, Source Control Login, and an Advanced step. The steps are shown in a treeview. This allows you to jump to a specific step when you want to. ![]() The “Advanced” step is hidden by default and can only be accessed when you click the Advanced button at the bottom of the Source Control Wizard form. Why is it hidden? Generally, when setting up Source Control, only your database or source control administrators need to go through this step. Other (subsequent) users would only need to go through the first two steps. Of course this wouldn’t always be the case. First Step: Source Control Selection. On this step, you can select your Source Control system. There are two types: Native Source Control systems and MSSCCI-compliant systems. To use Native Source Control system, you need to have ApexSQL Source Control. ![]() Currently ApexSQL Diff supports the following Native Source Control systems: Subversion, Microsoft Visual SourceSafe, Team Foundation Server, and SourceGear Vault. It also supports MSSCCI-compliant systems like Microsoft Visual SourceSafe, SourceGear Vault VC2003 Compatible Client, Team Foundation Server and any other MSSCCI-compliant system. To use Available MSSCCI-compliant Source Control systems, you need to have a source control client (of your selected source control system) installed. Connection settings for each Source Control system are stored separately so ApexSQL Diff remembers each in subsequent sessions. Second Step: Source Control Login. What you see on the second step depends on the Source Control system selected on the first step. Below shows the different login steps for each Native Source Control system. Subversion. ![]() Microsoft Visual SourceSafe. ![]() Team Foundation Server. ![]() SourceGear Vault. ![]() If in the first step you selected to use MSSCCI-compliant systems without using ApexSQL Source Control, the next step will instead show you the login screens that you would see if you were logging in to the source control system using the source control’s client. For example, for VSS the standard VSS login form will be displayed: ![]() Version. ![]() The new Source Control Wizard also has a “Version” section. This is available for all native drivers. Here you can specify what version or label to use when retrieving script files from source control repository. Advanced/Configure Mappings step. This step is similar to the last step of the previous Source Control Wizard and can be accessed by clicking the Advanced button at the bottom of the form. ![]() This step allows you to specify the folder, file name template, and file extension for each object type. The default values come from the settings in Tools | Options | Configure Mappings. To restore the default values at any time, click Defaults. Changes made on this step are saved directly to the project. The Export and Import buttons allow you to save your settings on this step and share them with your peers. Download the new version here. Labels: ApexSQL Diff ...New Source Control Wizard Here's a sneak peek at the freshly implemented new Source Control Wizard directly from ApexSQL Edit 2008.06. The new Source Control Wizard will be invoked from the same place as the current one: from Schema Explorer database level context menu. The first two Wizard steps have already been described in this blog post, but here they are again, this time complete and taken directly from the in-development ApexSQL Edit 2008.06. The first Wizard step, Source Control System Selection: ![]() It will provide access to four ApexSQL Source Control Addin drivers: ![]() And to any number of MSSCCI drivers available in the system: ![]() The second Wizard step, Source Control Login Information: This step will differ depending on the first Wizard step Source Control system selection. It will either show the ApexSQL Source Control Native system login (Microsoft Visual SourceSafe in this case): ![]() or MSSCCI selected Source Control driver user interface (SourceGear Vault in this case): ![]() The third Wizard step, File Name Templates, Folders and Extensions: This is the first of the two advanced Wizard steps for customizing the new implicit mapping system of database objects to Source Control files. The reason why this step is classified as "advanced" is because it will suit most of the users to just leave implicit mapping configuration by default. ![]() It will be possible to set different defaults for implicit object to Source Control mapping from application Source Control Default Mapping Options. These settings will only be inherited as the default for any new Source Control Wizard instance: ![]() The final, fourth Wizard step, Confirm Mappings and Add Objects: Another advanced Wizard step which can be skipped over, instructing Edit to add all new database objects to Source Control system. ![]() By checking objects on this Wizard step, it is possible to manually select which objects will be scripted and added to Source Control system, which should be removed and which updated. After clicking Finish, the Wizard will automatically script objects to and update Source Control system with greatly improved performance. We've done some extensive tests to determine the performance improvement of this and other changes that are included in ApexSQL Edit source control's overhaul. Check out the results here: ApexSQL Edit Source Control Overhaul Performance Improvements Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...Schema Explorer Source Control node colors, revised Hello to all ApexSQL Edit blog followers. I've been keeping myself and the team busy with Edit 2008.06 development - it is on its way to deliver both improved Source Control integration and more bug fixes. 50% of the development team is focused on the planned ApexSQL Edit Source Control integration improvements and 50% is still working to improve overall Edit quality and fix known bugs. This is just a general note as some users expressed concerns that we will not be addressing remaining Edit bugs for the upcoming Edit version. On the contrary, we have already fixed numerous issues since the Edit 2008.05 release and are planning to fix even more when the next version is ready, in parallel with the Source Control improvements. I am telling truth when I say we'll be delivering even more bug fixes with Edit 2008.06 than we did with Edit 2008.05. As for the Source Control improvements, we are still in "under construction" mode. However, here are two screenshots of the improved icon set now used in Schema Explorer: ![]() ![]() Representing: objects "mapped" to Source Control system (small orange lock) objects checked-out by current Source Control user (small green check) objects checked-out by someone else / locked (small red check) Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...Source Control Performance Shootout As part of the R&D for the new ApexSQL Edit SC overhaul we've done extensive analysis and testing and have some preliminary results (in the unreleased ApexSQL Edit 2008.06) to share. ![]() This testing has isolated areas in the new engine where we needed to focus and how fast ApexSQL Edit SC operations were vs the older engine (currently implemented in Edit 2008.05), other SC clients (i.e. Tortoise) and direct competitors offering SC access to SQL Server back ends in a SQL Editor. All tests performed on: Intel Centrino (single-core) 1.86 GHz Virtual PC 2007 hosted Windows XP SP3 guest OS with 512MB RAM SQL Server 2005 SP3 in the host OS Visual SourceSafe 6.0d in the host OS ApexSQL Edit Internal Release engine (2008.06) NOT RELEASED Source control is implemented with ApexSQL Source Control Addin Test sample: Custom modified AdventureWorks database, 82 Table objects This chart plots ApexSQL Edit 2008.06 (the next version) vs a "Leading Competitor" (aka LC). These are preliminary tests - these numbers will vary on different client systems and may change by the time of release (in fact we hope they do as we still have upside performance) Some notes. * The performance of Scripting new to SC and mapping should be exponentially faster by the time of release. Potentially 18x faster than the current number which could get this down to as low as 2 seconds. ** We weren't able to perform the operation "Retrieve Source Control Status (Refresh)" against the leading competitor because of a bug :(. We classified it as ? We're working hard on this new release, have a lot of specs, notes, images to post. We hope for a June release of this. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit, ApexSQL Source Control ...The Source Control Explorer in ApexSQL Edit Important update: Below post certainly brought about some great and passionate reactions internally and externally. Everyone who sent emails, thanks for the great feedback! As I said in the last part of my earlier post, we cannot remove the Source Control Explorer. And with all the reasons provided by our users--we certainly never will. One big advantage of using ApexSQL Edit with ApexSQL Source Control is you don't need to have your source control client installed on the same system to use source control. Also, you can view scripts stored in your source control system without having to leave ApexSQL Edit! To those who almost found themselves flying to North Carolina to shake some sense into me--my apologies. But do keep the feedback coming. We're listening. ---------------------- Maybe you too have heard of this popular 80s song--"Don't Know What You Got (Till It's Gone)". Anyway, I just happened to hear it this morning on the radio and I thought--hey! That song describes exactly why I don't want to remove the Source Control Explorer! Well, the title at least does ;) We have been discussing removing this explorer for quite some time. Here are some shots from ApexSQL Edit version 2008.05: ![]() ![]() ![]() Why remove it? 1) We want to simplify the interface 2) We want to remove redundant functionality (for source control actions, use the Schema Explorer instead) 3) We want one less useless feature In general, simplification seems to be a good thing. Redundancy seems to lead to confusion. And features that don't solve problems seem to be pretty useless. The problem with inheriting undocumented designs and features is--when the designer is no longer available--cannot be reached, disconnected, off to Hawaii, no signal, in a "dead zone"--there's no one to answer--why? What is this feature for? "JUST REMOVE IT" Well, unfortunately, we can't. Why? Because thanks to morning radio, we know that you just "don't Know What You Got (Till It's Gone)". My guess is this, even if we move the Label, View Labels, and Show History functionalities to the Schema Explorer, some users would still want the Source Control explorer to: 1) Manage source control projects 2) Get a different view of the database (that is, a source control view vs a schema view) Remove these functionalities and we'd probably hear a couple or so complaints if we go ahead and remove the source control explorer. Any thoughts? Labels: ApexSQL Edit ...New Source Control Login Forms If you're using Source Control in ApexSQL Edit or ApexSQL Diff, you probably are familiar with the "not-so-familiar" source control login screen. Basically, you first select your Source Control provider-- ![]() And then after, you see the login screen that I'm referring to. This is common to all source control systems-- ![]() If you're a Microsoft Visual SourceSafe user, you probably didn't know what to enter for Host or Repository. If you're used to Subversion, you probably couldn't figure out what to enter for Host. Repository URL would probably be familiar...but Host? The problem here is, we attempted to have a one-stop login for 4 different source control systems. Unfortunately, a one-stop login was just too un-usable. Although the required login fields are similar for all systems, the terms used are different and the required fields are different. We're addressing this issue in future versions of ApexSQL Diff and ApexSQL Edit. The login forms are now customized to the selected source control system. So first, you select your provider: ![]() Then on the next step, you see the login screen. Each is customized to the provider you selected on previous step: Check out New Source Control Wizard post for more screenshots. For Microsoft Visual SourceSafe-- ![]() For SourceGear Vault-- ![]() For Subversion-- ![]() We're still tweaking this form for Subversion. We're planning to remove the protocol field and change Repository to Repository URL. So you'll have http://host/path/project/AWorks or something similar. For Team Foundation Server-- ![]() Plus, we also added the Test button so you can verify connection before going to the next step. All these should make the Source Control login process easier. What do you think? We're looking forward to your feedback. See Also SC Wizard Updates in ApexSQL Edit ApexSQL Edit Source Control Overhaul Performance Improvements Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff, ApexSQL Edit ...General update (Diff, Edit, Source Control) The dev blog has been a bit quiet this week but things will pick up again next week, starting with May 18. Current dev efforts are being focused on ApexSQL Diff and ApexSQL Edit for the next few weeks. ApexSQL Diff We're working on another maint release with some fixes, features (deprecation of temp tables and faster script comparisons), improvement to SC Mapping wizard along with some other micro features. ApexSQL Edit We've finalized specifications on the new SC Mapping wizard and it was handed over to the Edit team last week. This form will be the same across Edit, Script, Diff and soon Build. We'll be posting screen shots early next week. This wizard will be simpler, more streamlined, more powerful and much faster for mapping databases. Update Source control interface, Schema explorer operations and SC context menu. The interface between Edit users and SC has been totally updated in development. - More intuitive and functional SC context menu items. - Schema explorer caching for performance and more accurate presentation of database objects and SC status (checked out, etc) - Source Control features available only thru the SC explorer (history, labels etc) are being ported to the Schema Explorer - Improved SC icons for showing status. checked out by you, checked out by someone else, mapped, not mapped. Along with this Centralized mapping will be deprecated in favor of a high performance, local caching / polling mechanism. This will result in a lot simpler implementation for end users. Specifications for a table editor are near completion. Work will begin on this in earnest soon and we'll be posting screen shots here. We should have new refactors ready (sql syntax checking, client code) for next Edit version. Good examples, posts will show up on this blog about these new refactors soon. Other items I hope to get one or two new guys posting on this blog. I'm also toying with the idea of a name change - everyone has a developer blog now. This is more of a "Developer diary". Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff, ApexSQL Edit ...ApexSQL Edit Object Search issue in SQL Server 2008 ApexSQL Edit 2008.05 displays an error when the Object Search feature is used in SQL Server 2008. The good news is we have a patch available that fixes the issue. Click here to download the patch as well as installation instructions. Labels: ApexSQL Edit ...Live long and prosper Not to repeat previous posts, ApexSQL Edit 2008.05 is out and we are working onwards to get Edit 2008.06 ready to boldly go where no software developer has gone before with the best Source Control implementation ever seen ;). In the meantime if you haven't seen the new Star Trek movie, please warp to the nearest theater and enjoy the beginning of a new epic saga as I did:
Picture added from Apex, North Carolina, Sunday May 17th (7:30 show). ![]() Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit, General ...ApexSQL Edit 2008.05 released A quick follow-up on ApexSQL Edit 2008.05 release ApexSQL Edit 2008.05 was released late Friday / early Sat. Click here for the announcement. The auto-updater will be turned on Tuesday for automatic notification and update. Until they you will need to manually update via the installer. We apologize for the delay with the auto-updater. The bulk of this release was fixes although there were some features as well described here. Enhancements: - Intellisense for external databases now includes listing of schema after typing a dot after a database name - Native Visual SourceSafe source control system support through ApexSQL Source Control Add-in is now available - Qualify Object Name (Ctrl+Shift+Q) refactor is now available in the Query Editor context menu | Refactor sub-menu - Expand Wildcards (Ctrl+Shift+E) refactor is now available in the Query Editor context menu | Refactor sub-menu - Schema Explorer and Source Control Explorer nodes which have a source control checked-out status have source control user name who checked-out the node appended next to the node name in square brackets This should be the last interim release of ApexSQL Edit which will be predominantly Fixes. There are still defects to be fixed but the remaining known issues are lower priority and there are a lot less of them after 2008.05. The majority of known high priority issues have been fixed. We will obviously prioritize any new high priority defects discovered and continue to work towards a nominal 0 defect state, that we hope to achieve soon. From now on most/all interim releases will be feature based, starting with 2008.06 which will have a ton of Source Control improvements, new features and 2008.07 (if it goes as planned) which will have a table editor. With each new release we hope to release some refactors as well. Here is the refactor road map. We will be posting our finalized spec on Source Control improvements soon (schema explorer, context menu etc). We'll also post our Table Editor spec once it is approved, we have screen shots etc. so people can comment before it is finished. We hope to get Error syntax highlighting and improved Client Code out with 2008.06. This has been progressing well. Both were completed a couple weeks back and have been in testing. High quality implementations of these should be ready well before 2008.06. We hope to have some screen shots of these posted before release. We will still be a little light Monday with another local holiday. But Goran will be back from vacation and we should be staffed enough to cover the support forum. Usually we get a spike in posts after each Edit release. Please hit us with feedback early and often. Misc notes on ApexSQL Diff We do have a release of ApexSQL Diff planned in the next 2 weeks or so. - improvements to compare/sync from Script folders based on some user feedback - eliminate requirement for temp tables (with SC and script folders) - smoother, faster comparison experience with script based objects - (another) set of improvements with Source Control Mapping wizard - Some misc fixes and speed, performance improvements. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...ApexSQL Edit approved for release The long wait's over--ApexSQL Edit 2008.05 is finally approved for release. You should see this version released tomorrow. As we've probably mentioned before, this release contains some major enhancements: -Support for native Visual SourceSafe source control through ApexSQL Source Control add-in -Refactors that allow you to qualify object names and expand wildcards -The Schema and Source Control explorers now display who has an object checked out -Intellisense now displays the schema when you enter "database name.". -Better presentation of Source Control status This release also contains tons of bug fixes including those mentioned in these posts: -Issue when creating batch queries -The Big Red X issue -and more... Check the label out tomorrow! Labels: ApexSQL Edit ...Team Update (ApexSQL Edit, ApexSQL SSIS Compare) Overview -we have fixed some newly found bugs in ApexSQL Edit-We recently added FAQs to SSIS Compare -Table Editor design specs is complete and is now being reviewed ApexSQL Edit We found one issue in Edit when creating batches in queries. Sometimes, batches were incorrectly created and resulted to errors during. One example is this: CREATE PROCEDURE Go AS BEGIN SELECT * FROM sometable EXEC Go DROP PROC go END GO EXEC Go This is now fixed. You should also note that ApexSQL Edit does not support GO used with repetition numbers (e.g. GO 10). ApexSQL SSIS Compare Check out ApexSQL SSIS Compare’s FAQs here. One important thing to note about ApexSQL SSIS Compare (this is mentioned in one of the FAQs) is that when you’re trying to compare SSIS 2008 packages, you to have Microsoft Integration Services 2008 fully installed on same computer where ApexSQL SSIS Compare is running. This is a temporary limitation that we will try to eliminate eventually. Table Editor We’ve completed the initial specs for the Table Editor. I’m currently working with the rest of the team to polish it up. Development should happen soon enough. Thanks, Nebojsa Vislavski ApexSQL Development Team Leader (SSIS Compare, Clean, Doc, Debug, Refactor) Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit, ApexSQL SSIS Compare ...Update for 1st week of May Here is a general update on plans for this week. Goran is out this week and things have been quiet with some local holidays. The dev blog will be a bit quiet as well, as we're lowering our heads to plow through the next ApexSQL Edit and ApexSQL Diff releases. ApexSQL Edit We plan to release the long awaited ApexSQL Edit 2008.05 Thurs or Friday (unless there is some unforeseen factor that will delay this.) We're pretty confident about this. This release will mainly be bug fixes but there are a ton of them. The reason why this release has taken longer is that the Edit team has been working on a lot of Source Control research items related to the next version. This work has delayed 2008.05 but should expedite 2008.06. We've devoted about 25% of our time to research, technical prototypes, and performance testing. The main items in the next version of ApexSQL Edit 2008.06 (after this week's release) a) Totally rewritten Source Control mapping wizard. This will be exponentially faster but also streamlined, simplified b) Deprecation of centralized mapping which will be replaced with a local caching mechanism that will keep the User interface updated with current object status from the repository with less overhead, and faster performance. This will also be a more robust implementation. c) Improved Source control implementation from the UI. We are reworking all SC menu items from the Schema Explorer context menu to streamline, improve them. We also plan to expose features that exist only in the Source Control explorer to the SC context menu to improve usability (this relates mainly to versions, history, labels etc) d) Potentially some improvements to the Source Control explorer - making it a modal dialog. Once this is complete - ideally this month or early next month. The remaining "big ticket" items are object editors, of which the table Editor will be the most complex. This spec is completed and we hope to begin work on this, in earnest, ASAP. This will establish ApexSQL Edit as feature complete as a SQL Editor. Additional work will continue on fixes, performance improvements and micro features. Note the road map on Refactors. ApexSQL Diff ApexSQL Edit, Diff and Script will share the new Source Control Mapping wizard. So the Diff team will be finishing this and then propagating it to all the apps. for a consistent user experience. They are working to finish getting rid of temp tables in Diff (comparing SC to Databases) this week. Most likely the next rev of ApexSQL Diff will include the new streamlined comparison process of Scripts/SC projects as well as the new Mapping wizard. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff, ApexSQL Edit ...Improving Edit usability Several of ApexSQL Edit users turned my attention to Edit's User Interface. It seems that while we were chasing features and bug fixes, we've forgotten about the small things that make up each SQL developer's day - Edit UI usability. I'm acknowledging the need for making Edit UI more usable and reducing the number of keystrokes, mouse-moves and mouse-clicks as much as possible. Please see this ApexSQL Edit forum thread and help Edit development team identify any and all Edit quirks that are bothering you every day. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...Where's the Download menu? If you're a frequent visitor of the ApexSQL website, you probably have noticed that the Downloads menu is gone. Where then do you go now to download our products? Background We used to have individual installers for every product. To simplify the installation process for our users, we decided to create a single installer with everything in it. So all you need to do is just download one installer--and you pretty much get all the ApexSQL products that you need. You pick one, pick some, pick all--it's your choice. But all you need is to download JUST one, single installer. With an installer size that was close to 120MB, we just couldn't immediately remove the individual installers and direct all product downloads to the single installer. So we first had to reduce the size so download time won't take so long. We changed each app such that it connected to the Online Help file (vs a local CHM help file). This allowed us to remove the CHM files from the installer. This reduced the installer size to 73MB. It's still not that small but hey, from 120MB? That's a huge difference. It's time With a 73MB single installer file, we decided it was time to remove the individual installers. Go to any product page now and click Download or Try Now. These should bring you to our new, simplified installer. With no individual installers, there was really no need anymore for individual download pages. Without the individual download pages, the Downloads menu just didn't make sense anymore. So we removed it. What's cooking Okay, okay. I agree--73MB is still not that small. Don't worry, we're still continuously trying to make the installer size smaller. If you have any other suggestions on how we can do this, just let us know ;) Some of you are probably asking, if we wanted to make a single installer that has everything in it, why skip ApexSQL Report? ApexSQL Audit Viewer? ApexSQL Snapshot Utility? Well, ApexSQL Report is unique. It's a web application and has an installation process that's a lot different from the other apps so adding it to the installer will not simplify the installation process at all. So we decided to exclude it. I'm still trying to convince everyone here that ApexSQL Audit Viewer and ApexSQL Snapshot Utility deserve a place on the installer. Nobody's agreeing (yet) though. Maybe when the installer size is down to 50MB... "How again do I download your products now? Click any Try Now or Download button. You'll find these primarily in product pages. These links should bring you to the ApexSQL Installer page. Got feedback? Just send an email to support@apexsql.com. -Janice SEE ALSO Download ApexSQL Installer About the ApexSQL Installer ApexSQL Log & Recover: Installing Server-side Components only Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: General ...Schema Explorer Source Control node colors As we're working hard to get ApexSQL Edit 2008.05 out as soon as possible, here's a little info on how to modify Schema Explorer node colors based on Source Control status in the upcoming Edit version. Default settings for the new Source Control status representation, as can be seen here, are blue for objects checked in to Source Control or just checked out by the current user and red for objects checked out by another Source Control user ("locked" objects). These color settings are configurable using two configuration options accessible through the All Settings dialog (Ctrl+Shift+S). Try entering "MappedSchema*" as the Setting column filter to find them easier: Colors can be entered descriptively as any of the standard Windows or Web color names or numerically as a 32bit integer.After Edit has been restarted, the selected colors will be applied to all of the Source Control mapped Schema Explorer nodes: ![]() And as mentioned here, we are planning to introduce an improved Source Control status marking in ApexSQL Edit 2008.06 with three different icons to represent different Source Control status. This is how it looks when all node colors are set to Black: ![]() Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...The "Big Red X" exception finally resolved I'm very happy to report that we've finally resolved an old exception dating back from year 2005, happening rare, randomly and causing data loss or a "hard crash" without an exception report. Long time Edit users can remember the "Big Red X" in the Query Window screen happening rarely but when you least expect it. And recently our power users reported this issue and the exception happening much more frequently in Edit 2008.05 test builds. We've finally isolated the bug, resolved it and tested internally to our satisfaction. I'm also expecting positive results from our power users helping with Edit QA testing to confirm that the issue is definitely gone and gone. During the work on the above exception, we found the cause of a long loading times when opening large script files. Previous ApexSQL Edit 2008 versions differently handled opening large script files, but overall a 5MB script file with 150000 lines may take more than 10-20 minutes to open. Our ultimate goal is to optimize this and improve large script files loading times drastically. However until this issue is addressed, all you need to do to speed up file loading times up to 10 times is to turn off Query Outlining: ![]() We've also enhanced our new Refactors implementation to include the overall progress indicator since it may take some time for the first refactoring process to initialize on a large database: ![]() The previous blog post is also updated to include the picture of how will the Source Control status be represented in the Schema Explorer in future ApexSQL Edit versions. Please check it out and let us know your impressions and suggestions. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...New in ApexSQL Script 2008.01.0205. We just released a new version of ApexSQL Script . Included in this release are some new features (see New in ApexSQL Script 2008 for more information) and some fixes. Features and Fixes 1) Fix: In CLI mode, we added Script USE for Database option in Data Only mode that allows you to include or exclude the USE statement when using Data Only mode. This feature used to be available only in either Structure mode or both Structure and Data mode. 2) Fix: Before, when the /d switch (connect to the specified database rather than the database specified in the project ) and the /pf (load project settings from specified project file) switch were used, the script generated was empty. This has been corrected in the new version. 3) FIX: there were also some issues when resetting settings in Script Wizard in the previous version. The Reset button didn’t reset some settings (e.g. “Script Footer”, “Object Header”, “Object Footer”). This is fixed in new version. Moreover, in the new version, the Reset button now resets only the current page settings in the Script Wizard vs resetting all settings in the Script Wizard. 4) In this new version, we have also removed the /ep [/explicity_parse] switch for CLI mode; ApexSQL Script now always explicitly parses dependencies. 5) We also added a new page to the Project Wizard called Properties. ![]() On this page, the user can change the “Name” and “Description” of the project. You can download the latest version here. Labels: ApexSQL Script ...Fixes in handling database objects names In the new version of ApexSQL Diff, we solved several issues related to handling of database objects names and objects comparison. Renaming objects If a view, procedure or function is renamed using Microsoft SQL Server Management Studio or using the sp_rename procedure, then its “title” name is modified, but its name in the object “body” remains the same (old one). The change is then not detected during comparison (see Troubleshooting item Issue when renaming objects ) for more information. In new version of ApexSQL Diff, we have modified the logic to handle these rename operations correctly. Now ApexSQL Diff now correctly scripts renamed objects and shows correct “new” names in the Differences Viewer. For example, if procedure had “oldProcName” and was scripted as: CREATE PROCEDURE [oldprocname] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET nocount ON; END GO After it was renamed to “newProcName”, the previous versions of ApexSQL Diff would script it such that the stored procedure would have a new name on the "header" part but the old name would still be used in the object's “body” . In new version of ApexSQL Diff the procedure will be scripted correctly. 2) Script file is checked out by the same user that is used in ApexSQL Diff source control connection settings. ![]() Objects names In earlier versions of ApexSQL Diff, some unimportant differences in objects' names are detected by ApexSQL Diff. For example, below procedures would be considered different: Source datasource: CREATE PROCEDURE [dbo].[proc1] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET nocount ON; END GO Destination datasource: CREATE PROCEDURE [dbo].Proc1 AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET nocount ON; END GO The only difference is brackets in the procedure name. In current version, above will not be considered as different anymore. Another example of a difference that used to be detected is a difference in object qualification: Source datasource: CREATE PROCEDURE [dbo].[proc2] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET nocount ON; END GO Destination datasource: CREATE PROCEDURE [proc2] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET nocount ON; END GO The only difference in above is "dbo"; the current version will not consider this is different anymore. Note: Database objects names qualification can be managed using “Manage Owners” tab page in the Synchronization Wizard. Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Diff ...Team Update (Doc, Debug, Edit) Overview -update on new version of ApexSQL Doc -How to set up remote debugging for ApexSQL Debug/ApexSQL Edit’s Debugger module -Table Editor update ApexSQL Doc The new version of ApexSQL Doc 2008.07 is out. You can download it here. This new version supports SSIS 2008 packages and also contains some minor fixes related to finding object dependencies. You can check more detailed information on this version of Doc in my previous post here. We still have some limitations with SSIS 2008 to overcome. You can read more about it here. Table Editor Update Specs for ApexSQL Edit’s table editor is ongoing and is still on schedule. The Table Editor will be used for creating/altering tables. This specification will be sent for final approval soon. We’ll post some screenshots shortly after. ApexSQL Debug As I promised in my previous posts. I will write some details on how to set up remote debugging. These steps apply both for the SSMS add-in, ApexSQL Debug and for the debugger integrated into ApexSQL Edit. Please check our new knowledge base article here. Thanks, Nebojsa Vislavski ApexSQL Development Team Leader (SSIS Compare, Clean, Doc, Debug, Refactor) Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Debug, ApexSQL Doc, ApexSQL Edit ...Team update (Code and Log) New version of ApexSQL Code 2008 has been released. ApexSQL Log 2008 development continues, we’re focusing on adding some new features and fixes. Read about this in the following couple of paragraphs. ApexSQL CodeAs I said, new Code 2008.04 has been released a week ago. We removed offline help files (CHM) which reduced the size of the installer resulting in lighter download size. We also fixed a couple of bugs in this release I already talked about in one of my previous posts – find it here. You can check the release notes and download the new release from our downloads page. SimpleDataFramework for Code got updated as well thanks to Rob, its author. Framework is now in beta phase, we’re encouraging everyone to try it out (especially since we’re offering ApexSQL Code 2008 copy for free). So, what’s new? Lots of bug fixes and some changes as well. Rob separated his SDF project from web project, so now it’s shipped as standalone library. Demo project is in the archive featuring AdventureWorksLT example. To run it, you’ll only have to execute sql_StoredProcedures.sql procedure on your AWorksLT database (this stored procedure is generated with sdf_SqlProcs.ptpx Code template). Starting UI page (Table of tables) got updated to show some details about the tables as well. All columns can be shown/hidden optionally. See some shots of the UI below, it looks really nice. ![]() ![]() ![]() See more info and download SDF from SimpleDataFramework on Codeplex. ApexSQL LogWe’re about to release new Log testing candidate to Q&A today. This label has several new features and lots of bug fixes – you can find all the details in my previous blog post. But the development continues. We intend to make updates to our internal output processing components which will give us more room for improving the output (file exports from Log) and CLI processing. This would also help us add new export formats eventually. As mentioned, we are considering including a new export format: HTML. Export to HTML with produce nice and clean HTML code/page with the results of your auditing session nicely formatted. However, we would really love to hear your thoughts about this, it would certainly help us decide whether it’s worth adding or not. Thanks, Ivan Vasić ApexSQL Development Team Leader (Code, Enforce, Audit, Log, Recover, Report) Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Code, ApexSQL Log ...Source Control status representation plans First of all, not to "jinx" the next ApexSQL Edit version, I'm not going to give any estimates on when will it be done and out. We are working on more of the bug fixes to make certain of the label quality before releasing it publicly. Thanks to all the users who contributed in assisting us to locate the "big red X" issue and exception. We've successfully reproduced it inside the development team and are working on the bug as a top priority issue. I'm happy to say that we've made further progress with the memory management optimization and that Edit 2008 will now both deallocate and page working memory set much better than Edit 2005 ever did. Memory working set paging (moving unused memory blocks to hard storage) will be introduced in Edit 2008.05, but I still can't vouch for the memory deallocation optimizations - if they are too volatile to be introduced at this stage of the Edit 2008.05 development, we might leave them for the following release. Our goals for ApexSQL Edit are unchanged: stability, quality and performance. We'll also be introducing more changes to how Source Control status of the Schema Explorer notes will be represented in next Edit versions. Note that now we'll have three different image overlays on the Schema Explorer object icons representing: 1. Source Control mapped and checked-in object - a small lock 2. Source Control mapped and checked-out object - a small green check-mark 3. Source Control mapped and checked-out by another user (locked) object - a small red check-mark All Source Control mapped objects' names will be colored blue (default), including the objects with the locked status. This enhanced graphics representation will hopefully reduce the Source Control status confusion: ![]() Please let us know what you think about this type of Source Control status representation by replying here, or e-mailing directly to Edit team. Thanks, Goran Bogdanovic ApexSQL Edit Development Team Leader Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ...ApexSQL Log 2008.02 in active development ApexSQL Log is in active development at the moment. We’re working hard to bring you some new features mostly related to the Log Filter Wizard and I’ll try to cover some of them in this blog. One of the improvements is direct export to file from GUI. So far, you had to use CLI if you wanted to skip loading data to the grid and now you can use a comfortable GUI Wizard to do the same thing. We have added a new step to the Wizard where one can specify whether he wants to redirect auditing output directly to a file or use the grid as usual ![]() As shown on the screenshot, you can generate Undo and Redo scripts, output transactions and operations info into XML, CSV, SQL script or SQL BULK files directly from GUI. We are also targeting on improving the CSV and XML output. For example, with CSV, we will be eliminating the one-to-many presentation of audit data to make it more readable. We’re also considering adding a new export format: HTML. If you find this useful, please let us know. The more positive feedback we get, the more likely we’ll decide to implement it. We applied some minor UI changes to the Filter step in Log Filter Wizard suffered some minor UI changes . We have a new node and got a new tab for choosing columns. I wrote about this step earlier, you can find all the details in that blog post. Development is now ongoing to apply column filtering to the export files. ![]() Going further, another Wizard step is introduced for listing the details about the current auditing session. Users will be able to see the summary of their data and log sources, chosen filters etc. and proceed to the next step if everything is OK or go back and make necessary changes if needed. It looks something like this: ![]() Finally, we’ll have a screen where you can watch the processing progress showing some useful info along the way. Once it finishes, UI is ready for another auditing session. ![]() I will keep you posted from time to time about the development progress. Stay tuned Thanks, Ivan Vasić ApexSQL Development Team Leader (Code, Enforce, Audit, Log, Recover, Report) Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Log ...General Update on Edit plans Here is a general summary of ApexSQL Edit We have a variety of local holidays here related to Easter so things will be quiet here until mid next week. Goran will be back then so I'll try to fill in for him. We've decided to continue to work on the much anticipated Edit 2008.05 release but a couple issues have been introduced that will need to be fixed before we can release. In general we don't want to ever introduce new issues in newer versions, so the existence of any will, by definition, preclude approval. But we hope 2008.05 can clear this hurdle and be released next week. There are 3 major tracks here. Defect fixes as we work to fix our list of known issues and steadily reduce it to zero. 2008.05 will really slash the known number of bugs. Micro features - 2008.05 is the first in the 2008 series (except for the first) to introduce new features. It will include 2 "refactors" (wildcard expansion and object qualification). We have been working on two more pretty cool ones which should be ready for 2008.06 (improved client code - new languages i.e. PHP, and syntax error checking). We have 200-300 error definitions in our library so this should be pretty comprehensive. We hope to release at least one micro feature with each interim release. Most will be refactors in the next few months. Source Control Improvement - in parallel with our work on the current path we've been working on a totally new source control implementation. a) DB Mapping. The mapping wizard will be totally streamlined into a simple 4 step wizard - of which only 2 are required. New object scripting will be exponentially faster. b) Overhaul of centralized mapping (of individual files). There are 3 reasons to map (between DB object and SC file) centrally - via a shared database. 1 - to be able to map non like named files. i.e. MyProc <> MyProcByAnotherName.sql. We have deemed this feature of marginal benefit to customers (if any) but expensive to maintain. To support this requires a lot of complexity. We plan to deprecate this functionality. 2 - to be able to un-map matched pairs. So if both a proc MyProc and a file MyProc.sql exist in the database and SC repository (respectively) they could be un-mapped (and considered not a file in source control). This feature also requires significant overhead and is deemed of marginal benefit. If a file exists in the repository, we're going to assume users want to treat it as "mapped". We plan to deprecate this as well. 3. - to improve performance of updating Schema explorer. Due to inefficiencies in the current design, the centralized mapping tables didn't help much in ensuring the schema explorer was fast and showed current representation of files (i.e. mapped, status (checked out), and user who checked out). We've looked at ways to improve performance via caching and are leaning towards caching locally (vs. centralized tables). We can achieve the same performance benefit without the overhead of database tables that must be created, shared, maintained between versions etc. c) Improved context menu / SC operations - we will be streamlining all SC operations from the context menu for get latest version, check in, check out, undo check out to make it simpler, higher performance and work better in general. d) Improved SC explorer - we plan to improve this. Making it a modal dialog with improved graphical interface. This will allow you to browse the repository without ever leaving Edit. We’re working with our VIPs and the Edit community to discuss these features, get comments etc. Your feedback is appreciated. Well this is probably enough for one blog post. I had more information on Diff, our installer etc but will save until later! Get your developers the tools they need to do the job fast and right - ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 9 Best of Class tools - one download, install and discounted price. Click Here for more info. Labels: ApexSQL Edit ... |
© 2008 Apex SQL Tools All Rights Reserved | 1.919.968.8444 | Contact Us | Terms of Use | Privacy Policy



































































