| A community of more than 1,600,000 database professionals and growing |
| | Modeling and Design Are More Important in DevOps I've run across a few customers that are adopting DevOps processes for the database. This makes sense as I deal with Redgate Customers, many of whom are doing this. As they adopt a Compliant Database DevOps process, it seems often that there is a push for database developers to react to feature requests quickly, at the same rate that the application developers do, and push out new code regularly to support changes. This new code often includes schema changes to support new features and functions, which often means table changes because the data elements need to be stored somewhere. This, of course, means the data model changes. In many cases, trying to release a new feature today or tomorrow, or even next week, means making quick decisions. As an example, if we capture lots of cost and price information in an application and are enhancing this to add currency values, we'll be adding fields to any table that stores financial data. How we do this could vary. It's easy to add a currency lookup field to all tables, and that might be what many application developers want to do. If they're using an ORM, they might just add this as a property to their object definition, which generate a series of ALTER TABLE statements to add the related fields. Certainly, a database developer could just generate those same scripts. Whether this is the best choice, or if some more normalized structures are needed, is unclear. That's dependent on the problem domain, and if date stamps are needed to capture currency differentials at times, or even if we need additional FKs to ensure there is referential integrity, many junior developers and DBAs might not think about the implications to the data model. As time passes, this could mean additional technical debt to deal with, limiting future enhancements. This could also mean fundamental flaws in how financial data is calculated, potentially opening impacting revenue if the data model doesn't support accurate calculations. Moving to DevOps doesn't necessarily mean moving fast. It can, but it's really about making focused, small changes at the rate that matters for your business. It also means that your data model and design of data store structures becomes more important than ever. While we can make decisions quickly, this takes experience and understanding of the business impacts, as well as the potential downfalls from different types of structures. DevOps asks us to give feedback about potential problems up and down the software development pipeline, which should include a data architect of data modeler. Someone with experience here can help to consider future implications and even provide some flexible designs that can adapt in situations where we have incomplete knowledge. Since we build our software on the data, we need to ensure we are properly capture the data in a way doesn't create too much technical debt. There are many, many stories of organizations that struggle to grow their applications over time, often because of very poor data models. Many of these issues could have been avoided by consulting with senior developers, DBAs, and data architects/modelers for an hour before making a fundamental change. Even if this means keeping a consultant on retainer. The investment in reviewing and understanding the data model can pay off tremendously in the future, especially as the cost of data processing is often one of the larger costs of running an application. Whether this is an RDBMS like SQL Server or an alternative structure like CosmosDB. A little investment in modeling early can prevent the need to over-provision resources later. Steve Jones from SQLServerCentral.comJoin the debate, and respond to today's editorial on the forums |
| The Voice of the DBA Podcast Listen to the MP3 Audio ( 4.4MB) podcast or subscribe to the feed at iTunes and Libsyn. The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. | |
|
|
| ADVERTISEMENT | | How to achieve true DevOps by including the database As proven in the ‘The 2018 Accelerate State of DevOps Report’ including the database in DevOps initiatives greatly improves performance. In this webinar we will walk you through Redgate’s Database DevOps solution, showing reliable, scalable and repeatable processes for automating your database development and deployment. Register now |
| | SQL in the City Summits - New York, London & Chicago This October, Redgate are inviting those interested in learning how their business can benefit from implementing Compliant Database DevOps to attend one of our SQL in the City Summits. If you manage SQL Server databases, or manage a team of people who do so, Redgate’s SQL in the City Summit is the conference for you. Find out who’s presenting and register for a Summit near you today. Register now |
|
|
|
| | | Steve Jones from SQLServerCentral.com When you create a schema, you might accidentally make yourself the owner, which can cause issues later. Learn how to ensure that your schemas aren't owned by transient employees. More » |
| Additional Articles from SimpleTalk Defects in software can occur in any phase of the software creation process. The earlier and better they are managed, the easier they are to correct. In this article, Afsana Atar explains defect management, including prevention and resolution. More » |
| Carlos Robles from SQLServerCentral Blogs Have you ever wanted SSMS to start and automatically and establish a connection to your DBA \ hub server and have... More » |
| Matthew McGiffen from SQLServerCentral Blogs As part of my job I manage a bunch of SQL instances for Development and Test. Access is managed though Active... More » |
|
|
| | Today's Question (by Steve Jones): I have this code: DECLARE @SomeVar VARCHAR(2000) = 'Wolfeschlegelsteinhausenbergerdorffwelchevoralternwarengewissenhaftschaferswessenschafewarenwohlgepflegeundsorg' SELECT QUOTENAME(@SomeVar,'{') What is returned? Notes: the string length is 130 characters the answers have some of the middle of the string removed. This is for publication. Assume the entire string would be in the middle of any other characters |
Think you know the answer? Click here, and find out if you are right. We keep track of your score to give you bragging rights against your peers. This question is worth 1 point in this category: QUOTENAME(). We'd love to give you credit for your own question and answer. To submit a QOTD, simply log in to the Contribution Center. |
|
|
| |
ADVERTISEMENT | Extract, Transform, and Load with SQL Server Integration Services: With Microsoft SQL Server, Oracle, and IBM DB2 Readers will learn by example how to use Microsoft SQL Server 2016 Integration Services (SSIS) as they design and implement extract, transform, and load (ETL) solutions to support a business application that integrates with a data warehouse and an online Web store across a heterogeneous system. This volume describes proven methods to support common ETL needs, such as databases communicating directly with each other, using files to exchange data, or performing database operations using Web services. Pick up your copy of this great book today at Amazon today. |
|
|
|
|
|
| Yesterday's Question of the Day |
| Yesterday's Question (by Thomas Franz): What would the following query return? SELECT TRY_CAST(CAST(-1234 AS BINARY(4)) AS BIGINT) Answer: 4294966062 (4,294,966,062) Explanation: It would return 4,294,966,062, since a BIGINT is (internally) a BINARY(8). Negative numbers will be safed in the most programming languages by turning the first (leftmost) bit on. The BIGINT -1 e.g. would be an 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111, -2 an 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110 -1234 an 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1011 0010 1110 and so on. But the statement casts the -1234 explicit to a BINARY(4), which would be an 1111 1111 1111 1111 1111 1011 0010 1110. When we casts this BINARY(4) to BIGINT, SQL Server has to fill the missing bytes with zeroes, which results in 0000 0000 0000 0000 0000 0000 0000 0000 1111 1111 1111 1111 1111 1011 0010 1110 And since the first bit is 0 (and not 1), it will be interpreted as positive number. PS: SELECT TRY_CAST(CAST(-1234 AS BINARY(4)) AS INT) would return the correct -1234 as result. BTW: SELECT TRY_CAST(CAST(-1234 AS BINARY(8)) AS BIGINT) would be wrong too, since -1234 will be implicit interpreted as INT. For a correct result, you would have cast it explicit as BIGINT: SELECT TRY_CAST(CAST(CAST(-1234 AS BIGINT) AS BINARY(8)) AS BIGINT) » Discuss this question and answer on the forums |
|
|
| Database Pros Who Need Your Help |
| Here's a few of the new posts today on the forums. To see more, visit the forums. Migrate SQl 2008R2 subscriber DB to SQL 2017 - Hi, I had a business case to migrate the existing SQL 2008R2 transactional replication subscriber DB to SQL server 2017 on... microsoft odbc driver 13 for sql server : domain\server logon failed error - Hi, We have Stored procedure to create the database using xp_cmpshell , it works fine in SQL Server 2012 but we... Querying records on multiple XML Node elements - So I've been trying to solve my problem for a few days now with the help of the famous XMLTable... SQL Server Restart - What would be the best practice and steps need to follow if ever need to restart the sql server, when... looping through all databases to find dependencies (cursor) - I want to have a go-to query that finds all dependencies of an object, across all databases (without requiring any permanent object like a... ??Rochester???/Rochester?????/Q/?695640122/???????????/Rochester?????/Rochester??? - ?Q/?:695640122?WeChat:xzb199381?Rochester???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.????? ??Brandeis???/Brandeis?????/Q/?695640122/???????????/Brandeis?????/Brandeis??? - ?Q/?:695640122?WeChat:xzb199381?Brandeis???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.?????? ??Georgetown???/Georgetown?????/Q/?695640122/??????????/Georgetown?????/Georgetown??? - ?Q/?:695640122?WeChat:xzb199381?Georgetown???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.???? ??Emory???/Emory?????/Q/?695640122/??????????/Emory?????/Emory??? - ?Q/?:695640122?WeChat:xzb199381?Emory???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.????????? ??LaVerne???/LaVerne?????/Q/?695640122/?????????/LaVerne?????/LaVerne??? - ?Q/?:695640122?WeChat:xzb199381?LaVerne???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.??????? ??Toledo???/Toledo?????/Q/?695640122/??????????/Toledo?????/Toledo??? - ?Q/?:695640122?WeChat:xzb199381?Toledo???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.???????? ??BU???/BU?????/Q/?695640122/??????????/BU?????/BU??? - ?Q/?:695640122?WeChat:xzb199381?BU???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.???????????? ??NWU???/NWU?????/Q/?695640122/?????????/NWU?????/NWU??? - ?Q/?:695640122?WeChat:xzb199381?NWU???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.??????????? ??USC???/USC?????/Q/?695640122/??????????/USC?????/USC??? - ?Q/?:695640122?WeChat:xzb199381?USC???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.??????????? ??Purdue???/Purdue?????/Q/?695640122/?????????/Purdue?????/Purdue??? - ?Q/?:695640122?WeChat:xzb199381?Purdue???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.???????? ??UCLA???/UCLA?????/Q/?695640122/??????????????/UCLA?????/UCLA??? - ?Q/?:695640122?WeChat:xzb199381?UCLA???????Kelly??????????????????????(??)???? ??? ?? ?? ??? ????????,???????,????,??,diploma,degree ????.??????????????????????????????????????????????????????????? ? ????????: ?????????(?????????,??????!!!) ???????????????(??????????????,????,????,??,???,??,??,???) ????????(???????????,?????????) ?????:??.?????????? Multiple lines text insert into varchar(Max) column - From a ASP.NET app, there is a multiple line text box. If user input text like below, how to know new... HOW TO GET FIRST DATE - Dear all, I have data like: NAME SPONSOR_NAME DATE_OF_CALL A FI Hidden Query - Am I missing something? - HI There I am trying to recreate some existing reports and have access to the rdl files. When I open the query... Output window in Data Tools - What would be a couple of most useful ways to take advantage of Output window? How can it really practically help... |
|
| This email has been sent to newsletter@newslettercollector.com. To be removed from this list, please click here. If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com. | This newsletter was sent to you because you signed up at SQLServerCentral.com. Feel free to forward this to any colleagues that you think might be interested. If you have received this email from a colleague, you can register to receive it here. | This transmission is ©2018 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved. Contact: webmaster@sqlservercentral.com |
|
|