Additional Articles


External Article

Using DELETE CASCADE Option for Foreign Keys

Referential integrity is a very important thing to consider when designing a database. In my years as a DBA I've seen database designs that sit on both ends of the spectrum, none at all and cases where every table is linked to multiple tables. While the later certainly can be a little more difficult to work with it ensures the integrity of your data stays intact. The other end provides much more flexibility when it comes to updating and deleting data from your database, whether it's being done through the application or directly on the backend, but has the issue of possible orphan records if things are not done properly. This tip will look at the DELETE CASCADE option when creating foreign key constraints and how it helps keep the referential integrity of your database intact.

2012-08-13

3,973 reads

External Article

Removing the SQL Server Management Data Warehouse

SQL Server 2008 introduced a new feature, Management Data Warehouse (MDW), which allows users to collect metrics on their servers over time to aid in performance troubleshooting. A lot of people try this feature out, because it is easy to set up, and then find that it is not so easy to remove. In fact, removing MDW is not supported; in SQL Server 2012, though, a new system stored procedure was added to make this process easier. The problem is that this stored procedure (as well as several of the workarounds I've seen published) can leave several objects behind.

2012-08-09

2,418 reads

Technical Article

RegexClean Transformation

Use the power of regular expressions to cleanse your data right there inside the Data Flow. This transformation includes a full user interface for simple configuration, as well as advanced features such as error output configuration. Two regular expressions are used, a match expression and a replace expression. The transformation is designed around the named capture groups or match groups, and even supports multiple expressions.

2012-08-03

3,279 reads

External Article

Issues Determining an Individual SQL Server User's Permissions

Recently I was supporting a third party application. It queries to determine what tables it has permissions to before it proceeds with the rest of its functionality. We had implemented permissions based on the best practice of creating roles, assigning the permissions to the roles, and then making the users members of the roles. The application was querying INFORMATION_SCHEMA.TABLE_PRIVILEGES and of course didn't find any permissions directly against the user in question. We ended up granting explicit permissions to the user so the application would work, but I'm more interested in the general case. How can I determine permissions for an individual user?

2012-08-02

3,152 reads

Blogs

Blog a Day – Day 1: History of AI

By

it has been a year since i have not written much on the blog...

A New Word: on tenderhooks

By

on tenderhooks – adj. feeling the primal satisfaction of being needed by someone, which...

Ramblings about data communities and your contributions, no excuses

By

I have been active in the data community throughout my career. I have met...

Read the latest Blogs

Forums

A Quick Restore

By Steve Jones - SSC Editor

Comments posted to this topic are about the item A Quick Restore

Guarding Against SQL Injection at the Database Layer (SQL Server)

By tedo

Comments posted to this topic are about the item Guarding Against SQL Injection at...

Ola Hallengren Index Optimize Maintenance can we have data compression = page

By JSB_89

I have a quick question on Ola Hallengren Index Optimize Maintenance . Do we...

Visit the forum

Question of the Day

A Quick Restore

While doing some testing of an application, I wanted to reset my environment after doing some testing with this code:

USE DNRTest

BACKUP DATABASE DNRTest TO DISK = 'dnrtest.bak'
GO
/*
Bunch of stuff tested here
*/RESTORE DATABASE DNRTest FROM DISK = 'dnrtest.bak' WITH REPLACE
What happens if this runs, assuming the "bunch of stuff" isn't anything affecting the instance.

See possible answers